這系列文章希望以 Raspberry Model B 作為一個搭載 Linux 的活體,搭配 eBPF、perf、ftrace 等工具,觀察 Raspberry Pi 在與 I2C、SPI、UART 等周邊裝置互動時,作業系統核心的行為,並在做中驗證作業系統的經典概念。最後搭配核心的文件與近幾年 Linux Foundation 的研討會內容,嘗試撰寫實驗性的核心模組或相關程式碼,以達到學習 Linux 核心的效果。
前面已經用了一個 i2c 的位址,但是什麼都沒有做。所以接下來就想要做多一點事情。最直覺的問題就是能不能傳輸一些資訊給 Arduino?答案是可以的。可以把 I...
在驅動程式裡面打滾完之後,接下來看一些比較細節的部分。 上拉電組 這個其實不是 I2C 專屬的概念,但是滿常會看到這類「上拉」「下拉」這種術語的。就稍微補充一下...
關於 SPI ,2017 年的 ELC 有一個 Groking the Linux SPI Subsystem 的演講,對 SPI 的規格與核心的 SPI 的規...
[TOC] 了解了 SPI 基本的配置之後,就可以開始簡單的寫一些 SPI 的程式。接下來會展示 Raspberry Pi 跟 Arduino 中 SPI 的相...
這篇主要介紹怎麼樣用 DT Overlay 去把 SPI 的硬體跟驅動程式配對起來。 術語:Protocol Driver 與 Controller Drive...
任務:傳訊息 接下來會做的事情是:試著用 SPI 的 API 傳輸一些簡單的東西。 由核心文件中 The Linux driver implementer’s...
目標:包成一個可以寫的檔案 看起來流程都很類似,都是在 probe 裡面註冊該註冊的東西,然後該管理的資源好。聽起來很簡單吧?吧?吧? 請看今天的幕後花絮! 實...
如同 I2C 有 i2c-dev 這個揭露給 userspace 的字元驅動程式,SPI 子系統也有一個角色類似的字元驅動程式,那就是 (前幾篇文章多少有提到的...
標題這句話可不是我說的。是 GPIO 子系統的維護者 -- Linux Walleij 在 2016 年的 ELCE 中講的話。然後就發現這句話是真的 簡介 G...
前言 依照 I2C 跟 SPI 那時的模式,我這時候應該要找一個 python 的 GPIO 函式庫,然後用 ftrace 去追看看發生了什麼事。 不過,這件事...