iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
IoT

Modern Maker : 從那些 Maker 的大小事看 Linux 核心 系列

這系列文章希望以 Raspberry Model B 作為一個搭載 Linux 的活體,搭配 eBPF、perf、ftrace 等工具,觀察 Raspberry Pi 在與 I2C、SPI、UART 等周邊裝置互動時,作業系統核心的行為,並在做中驗證作業系統的經典概念。最後搭配核心的文件與近幾年 Linux Foundation 的研討會內容,嘗試撰寫實驗性的核心模組或相關程式碼,以達到學習 Linux 核心的效果。

鐵人鍊成 | 共 30 篇文章 | 73 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11:I2C Driver (Part 2) - 這是一個間諜檔案!把 I2C 的傳輸包成字元驅動程式

前面已經用了一個 i2c 的位址,但是什麼都沒有做。所以接下來就想要做多一點事情。最直覺的問題就是能不能傳輸一些資訊給 Arduino?答案是可以的。可以把 I...

2020-09-26 ‧ 由 0xff07 分享
DAY 12

Day 12:I2C Driver (Part 2) - 細節、追蹤與驗證

在驅動程式裡面打滾完之後,接下來看一些比較細節的部分。 上拉電組 這個其實不是 I2C 專屬的概念,但是滿常會看到這類「上拉」「下拉」這種術語的。就稍微補充一下...

2020-09-27 ‧ 由 0xff07 分享
DAY 13

Day 13:SPI (Part 1) - 原來是 Shift Register 啊!我還以為是 SPI 呢!

關於 SPI ,2017 年的 ELC 有一個 Groking the Linux SPI Subsystem 的演講,對 SPI 的規格與核心的 SPI 的規...

2020-09-28 ‧ 由 0xff07 分享
DAY 14

Day 14:SPI (Part 2) - ftrace 啦!哪次不 ftrace?

[TOC] 了解了 SPI 基本的配置之後,就可以開始簡單的寫一些 SPI 的程式。接下來會展示 Raspberry Pi 跟 Arduino 中 SPI 的相...

2020-09-29 ‧ 由 0xff07 分享
DAY 15

Day 15:SPI Driver (Part 1) - DT Overlay

這篇主要介紹怎麼樣用 DT Overlay 去把 SPI 的硬體跟驅動程式配對起來。 術語:Protocol Driver 與 Controller Drive...

2020-09-30 ‧ 由 0xff07 分享
DAY 16

Day 16:SPI Driver (Part 2) - 傳簡單的訊息!

任務:傳訊息 接下來會做的事情是:試著用 SPI 的 API 傳輸一些簡單的東西。 由核心文件中 The Linux driver implementer’s...

2020-10-01 ‧ 由 0xff07 分享
DAY 17

Day 17:SPI Driver (Part 3) -- 又是一個間諜檔案!

目標:包成一個可以寫的檔案 看起來流程都很類似,都是在 probe 裡面註冊該註冊的東西,然後該管理的資源好。聽起來很簡單吧?吧?吧? 請看今天的幕後花絮! 實...

2020-10-02 ‧ 由 0xff07 分享
DAY 18

Day 18:spidev - 辣個 userspace 的驅動程式

如同 I2C 有 i2c-dev 這個揭露給 userspace 的字元驅動程式,SPI 子系統也有一個角色類似的字元驅動程式,那就是 (前幾篇文章多少有提到的...

2020-10-03 ‧ 由 0xff07 分享
DAY 19

Day 19:GPIO (Part 1) -- 人生的謊言:GPIO 很簡單

標題這句話可不是我說的。是 GPIO 子系統的維護者 -- Linux Walleij 在 2016 年的 ELCE 中講的話。然後就發現這句話是真的 簡介 G...

2020-10-04 ‧ 由 0xff07 分享
DAY 20

Day 20:GPIO (Part 2) - 沒有用到 GPIO 子系統的 GPIO

前言 依照 I2C 跟 SPI 那時的模式,我這時候應該要找一個 python 的 GPIO 函式庫,然後用 ftrace 去追看看發生了什麼事。 不過,這件事...

2020-10-05 ‧ 由 0xff07 分享