iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
IoT

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

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

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

Day 21:GPIO (Part 3) - 所以我說那個裝置樹呢?

講到 GPIO,最直接想到的功能就是使用各種感測器。而現在的問題是這樣:如果想要在核心裡面使用 GPIO,並且接收各類感測器的資料 (就像平常在 Arduino...

2020-10-06 ‧ 由 0xff07 分享
DAY 22

Day 22:GPIO (Part 4) - 今晚,我想來點驅動程式佐 GPIO

pinctrl 一個 GPIO 的硬體可能同時兼具很多不同的功能。比如說一個 GPIO 可能也可以是 SPI、輸出 PWM、UART 等等。除此之外,就算知道功...

2020-10-07 ‧ 由 0xff07 分享
DAY 23

Day 23:IIO (Part 1) - 構造改革!自動幫感測器做好介面的子系統!

在看完 GPIO、I2C、SPI 等等基本周邊之後,可能會覺得接下來會發生的事情是像 Arduino 那樣,用一些相關子系統的函式來讀取某些感測器的數值。不過,...

2020-10-08 ‧ 由 0xff07 分享
DAY 24

Day 24:IIO (Part 2) - 基本術語與架構

#今天介紹一些 IIO 的基本術語。 iio_chan_spec:給定 Channel 資訊 在 IIO 的術語中,感測器可以提供的數據稱作 channel。比...

2020-10-09 ‧ 由 0xff07 分享
DAY 25

Day 25:IIO (Part 3) - 變數命名大師?第一個 IIO 驅動程式!

這篇文章簡單講述 IIO 的用法,並且寫一些顯然的驅動程式來檢驗看看裡面的功能。 Step 1:配置一個 iio_dev 首先要用 iio_device_all...

2020-10-10 ‧ 由 0xff07 分享
DAY 26

Day 26:IIO (Part 4) - 幫感應器寫驅動程式!以 TCRC5000 為例

這篇將會綜合前面的 GPIO 與 IIO 的知識,幫一個常見的紅外線感測器 -- TCRC5000 實作 Linux 上的 IIO 驅動程式。 簡介:TCRC5...

2020-10-11 ‧ 由 0xff07 分享
DAY 27

Day 27:IRQ (Part 1) - 斷開魂結!

簡介 中斷這個機制因為 busy waiting 的等待很浪費處理器的資源,所以會希望有一個機制可以做到類似「到貨通知」的效果。 大原則:有人插隊 = 有人要等...

2020-10-12 ‧ 由 0xff07 分享
DAY 28

Day 28:IRQ (Part 2) - 中斷突進!簡單的 IRQ 程式

接下來的實驗中,會寫一個把 GPIO 當作是中斷的來源的程式。這個 GPIO 由 Arduino 發出,每當邊緣上升時,忌諱觸發一次 IRQ。 這個應用比如說...

2020-10-13 ‧ 由 0xff07 分享
DAY 29

Day 29:IRQ (Part 3) - 這是核心執行緒的味道!Threaded IRQ

這篇文章以實驗觀察 threaded IRQ 與傳統 IRQ 的不同。 關於這一切 IRQ 行為不同,可以參考 2016 年 ELCE 中,Alison Cha...

2020-10-14 ‧ 由 0xff07 分享
DAY 30

Day 30:賽後感言

這其實是有點長的故事,但我覺得這種緣分有點有趣,所以就決定在最後一天整理一下。 從開賽前幾天說起 在比賽開前的一陣子,無意間把 Linux Foundation...

2020-10-15 ‧ 由 0xff07 分享