Raspberry Pi 樹莓派:12 道開胃菜打造 Linux 核心肌群(iT邦幫忙鐵人賽系列書)[88折]11100968645 TAAZE讀冊生活網路書店
1. 透過LINE購物進入蝦皮後禁止再透過蝦皮直播下單,避免訂單認列異常
2. 請務必「清空」蝦皮購物車,再透過LINE購物連結至蝦皮商店進行購買 ;先把商品加入購物車,再從LINE購物連結至蝦皮結帳,將無法獲得點數回饋。
3. 請避免連續下單,若您完成交易後,想下第二張訂單,請重新從LINE購物連結至蝦皮商店進行購買
4. 電子票券及繳費服務類別:回饋0%。
5. 請留意,蝦皮超市內的商品(蝦皮超市、蝦皮直送美妝、蝦皮免運直送)不隸屬於蝦皮商城,點數回饋請依照「蝦皮超市」商店頁為主。
6. 蝦皮商城之訂單適用於部分點數紅包,規範請依該紅包頁說明為主。
7. 點數回饋將依照蝦皮提供扣除折價券、運費與蝦幣後之最終金額進行計算。
8. 同一商品品項(即便不同尺寸規格),皆會計入同一筆返點上限進行計算
9. 用戶需於同一瀏覽器進行交易(若自動跳轉 APP,請在 APP交易)。
10. 若使用不同物流或付款方式,將拆分成不同筆訂單編號發送通知。
11. 若使用折價券折抵,可能會有攤提折抵導致訂單金額些微落差
12. 蝦皮會將LINE的導購跳轉紀錄與蝦皮的會員ID進行綁定,若後續七天內未透過其他媒體來源導入蝦皮官網,則七天內於該蝦皮帳號下訂的首筆訂單會被蝦皮認列為該LINE用戶導購跳轉時所成立之訂單。
13. 若同一用戶使用一個以上蝦皮帳號透過LINE購物進行導購,將可能導致無法收到導購通知,亦可能無法收到點數,再請留意。
[注意事項]
1.如導購途中用戶由網頁版(電腦版/手機版網頁)切換為 App 會造成追蹤中斷而無法進行 LINE Points 回饋
2.若購買過程中關閉蝦皮APP,則需重新透過LINE購物前往蝦皮商城,否則無法進行LINE POINTS 回饋。 / 3.如用戶先前往蝦皮商城將商品加入購物車,後續透過LINE購物前往至蝦皮商城將購物車結清,此方案將不列入 LINE Points 回饋
4.若因系統異常無法追蹤訂單,致使消費者無接收到點數回饋,蝦皮保有更改條款與法律追訴之權利
5. LINE購物商品價格若與蝦皮賣場實際價格有異,以蝦皮賣場價格為準商品描述
商品資料
作者:林有容 著
出版社:博碩文化股份有限公司
出版日期:2021/11/02
ISBN/ISSN:9789864349173
語言:繁體/中文
裝訂方式:平裝
頁數:384
原價:680
------------------------------------------------------------------------
內容簡介
「Ok,你買了幾本 Linux 驅動程式的書,然後呢?」
在學習一個新技術時,往往會期待先從一些簡單的例子出發,再逐漸延伸。
不過,如果這個新技術跟 Linux 核心相關,「一些簡單的例子」可能沒那麼簡單。
如果直接從核心改起,從一些作業系統課常見的名詞出發:行程管理、同步機制、記憶體等,往往會因為更動帶來的影響遍佈整個作業系統,而不知該如何下手。而如果從裝置驅動程式開始,個人電腦的硬體往往缺乏彈性,嵌入式系統則需要另外準備軟、硬體實驗環境、交叉編譯工具鏈等等,也很有可能需要另外使用 QEMU 之類的模擬器除錯。
要開始寫程式,才能驗證所學。但似乎很難找到簡單實驗環境與例子,那該怎麼辦呢?
別擔心!這本書就是來回答這個問題!
本書內容改編自第12屆iT邦幫忙鐵人賽IoT組冠軍系列文章──《Modern Maker : 從那些 Maker 的大小事看 Linux 核心》。本書旨在替理解 Linux 內部提供一個略為不同的切入點,使用創客手邊的 Raspberry Pi 與 Arduino,搭配最普遍使用的 Ubuntu,作為實驗 Linux 核心功能的環境。除此之外,本書援引近五年來的諸多研討會作為第一手材料。手上拿著這本書的你,不用買更多材料,今天回家就可以立刻實驗!
本書內容
Chapter 1:Ftrace 與 eBPF ,介紹 Linux 中的兩個動態追蹤機制:由「即時」分支來的 ftrace ,與近幾年討論度極高的 eBPF。這些工具使得讀者僅使用命令列,就能觀察 Linux 內部的運作。這樣做也容易有「外溢」的效果:如果你在追蹤結果中一直看到某些東西重複出現,自然會好奇這是什麼。於是你就有了一個學新東西的好情境。
Chapter 2:裝置樹與 Linux 裝置框架,介紹裝置樹與 Linux 裝置模型。一方面是更貼近 Maker 的經驗:Maker 們可能常常在一些感測器、ADC、觸控螢幕的硬體供應商提供說明中,看到疊加裝置樹的指示。介紹裝置樹對於 Maker 來說,可以更深入理解這件事的目的,是非常有幫助的知識。另一方面,核心模組也可以因為結合裝置模型,許多函式可以使用自動資源管理的版本,也有助於讓程式更精簡。
Chapter 3:GPIO ,介紹如何在核心中使用 GPIO 。有了 GPIO 之後,就能在 Chapter 4:IRQ 中使用 GPIO 觸發各種 IRQ,搭配 Chapter 1 的動態追蹤工具,讓讀者可以親自實驗中斷上半部與下半部機制的執行機制、執行前後文、發生時機等等。本書涵蓋的下半部機制包含了 workqueue、softirq、tasklet 與 threaded IRQ。在理解 IRQ 之後,相信讀者在閱讀核心文件時,碰到如「該函式無法在不能休眠的情境使用」之類的敘述時,就不會容易感到困惑。
Chatper 5:I2C ,在介紹核心與使用者空間的 I2C 相關功能之後,Chatper 6:與使用者交換資料中,介紹了字元驅動程式,並且把前述的 I2C 的傳輸包裝成字元驅動程式。 最後則是介紹了專為感測器設計的 IIO 子系統。多數的 ADC、加速規、距離感測器等,有不少可以在 IIO 子系統中找到驅動程式。
本書使用的硬體
這本書使用 Raspberry 4B 與 Arduino Uno。當然,還需要幾條杜邦線。除此之外,為了不讓使用 3.3V 邏輯電壓的 Raspberry Pi 4B 被使用 5V 邏輯電壓的 Arduino Uno 破壞,部分實驗需要使用到邏輯準位轉換器(logic level shifter)。以及在最後的 IIO 實驗中,還需要一個 TCRT5000 紅外線距離感測器,但實際上也可以 Arduino Uno 替代。除此之外,你不需要更多硬體了。
Ok,準備好了,我們就直接開始吧!
作者簡介
林有容
臺灣大學機械工程學系畢業,常用的暱稱是 0xff07。
除了玩貓之外,也是個筆記控。平常喜歡把學過的東西整理在 HackMD上,內容從在學時的必修課,到研討會的影片整理都有。
如果想看看我最近在弄什麼,歡迎來我的 HackMD 個人頁面看看。 ff07。或者也可以由 0xff 找到我。
目錄
前言
CHAPTER 1 - Ftrace 與 eBPF
前言
實驗一:使用 Ftrace 追蹤核心內部
實驗二:使用 bpftrace 追蹤
CHAPTER 2 - 裝置樹與 Linux 裝置框架
前言
實驗三:核心的規格書小抄— 裝置樹
實驗四:Linux Driver Model (LDM)
CHAPTER 3 - GPIO
前言
實驗五:在裝置樹中描述 GPIO
實驗六:在核心模組中使用 GPIO
CHAPTER 4 - IRQ
實驗七:Hard IRQ 與 Soft IRQ
實驗八:以 GPIO 觸發 IRQ
實驗九:Threaded IRQ
CHAPTER 5 - I2C
實驗十:I2C — 由 User 到 Kernel
CHAPTER 6 - 與使用者交換資料
實驗十一:以字元驅動程式包裝 I2C 傳輸
實驗十二:IIO 子系統簡介
附錄 - 環境與開發工具安裝
附錄一:在樹莓派安裝 Ubuntu 20.04
附錄二:使用 cscope 與 ctags 搜尋原始程式碼