第十二屆 冠軍

iot
Modern Maker : 從那些 Maker 的大小事看 Linux 核心
0xff07

系列文章

DAY 1

Day 1:教練!我想學 Linux Kernel 啊!

這系列文章希望使用 eBPF 去理解運作在 Raspberry Pi 上的 Linux 核心之運作,並且觀察 Linux 核心如何與嵌入式系統的周邊互動,進而學...

DAY 2

Day 2:「我需要 perf!」「請給我 eBPF!」

Day 2:不會交叉編譯也可以自己編譯核心 雖然 Raspberry Pi OS 的核心是 5.4 版,eBPF 的實作大致上已經具備,但現在執行在 Raspb...

DAY 3

Day 3:安裝 ply 和 perf

eBPF 極簡介 eBPF 是一個核心中的虛擬機器,有一個自己的指令集。所以最直觀的觀點來說,要使用 eBPF 就是要想辦法編出一個這個虛擬機可以執行的程式。不...

DAY 4

Day 4:小試身手 -- 是誰住在 Rpi 的 LED 裡?

在正式地介紹 ply 的語法之前,先看看一個例子來展示一下如何使用他來追蹤程式碼。以下要追蹤的是關於 Raspberry Pi 3 Model B 板子上的那個...

DAY 5

Day 5:ply 語法簡介

之前只示範了如何用 ply 追蹤函數呼叫的堆疊。接下來講解更詳敘的語法,以達成更有效的追蹤。 ply 的語法在這個專案的文件 中可以找到。在這個專案的 READ...

DAY 6

Day 6:I2C (Part 1) - 簡介與環境設置

關於 Linux 的 I2C 子系統,在 2020 年的 ELCE 上有一個 Tutorial: Introduction to I2C and SPI: Bo...

DAY 7

Day 7:I2C (Part 2) - ftrace 爽颯登場!

接下來想要討論的是:在 Raspberry Pi 的 python 函式庫進行 I2C 的傳輸時,核心的哪些部分做了哪些事? 想要做到這件事情,可以請出號稱「L...

DAY 8

Day 8:Device Tree (Part 1)

前言:應用情境與歷史 再開始看這個東西之前可以思考一個情境:假設現在有一個板子的規格書上描述了一堆 MMIO 的區域,比如說設定 GPIO 對應的暫存器記憶體映...

DAY 9

Day 9:暖身運動 - 媽!我在核心裡面了!第一個核心模組

雖然說前面的實驗已經知道 I2C 的函式庫多半是用 i2c-dev 這個字元驅動程式去控制,不過沒有弄一次真的 i2c driver 感覺有點遺憾。所以這邊就弄...

DAY 10

Day 10:I2C Driver (Part 1) - 使用 Device Tree 來找 Driver

前面提到:Device Tree 可以提供硬體的資訊,而 driver 可以借助這個資訊來「找到」對應的硬體。所以可以互相搭配來幫 Device Tree 上描...