





精通嵌入式Linux程式設計 下 (第3版)
Mastering Embedded Linux Programming (3rd Ed.)
Mastering Embedded Linux Programming - Third Edition
內容簡介
精通嵌入式Linux程式設計(第三版)(下)
Mastering Embedded Linux Programming - Third Edition
首版熱銷數千本,佳評如潮!
理解嵌入式Linux的必備之書!
《Mastering Embedded Linux Programming》的最新加強版
我們日常生活中的許多電子裝置,都可以看見嵌入式Linux系統的蹤影:智慧型電視、Wi-Fi路由器、工業控制器及各種測試設備,所有這些裝置的核心都是Linux。Linux作業系統可以說是當今物聯網(IoT)的關鍵基礎技術之一。
本書將帶領你遍覽開發週期的每個環節,並深入環節中的每個階段,說明階段中的元件以及可利用的工具。從工具鏈、啟動載入器、Linux內核等基礎知識入手,逐步探索如何建立一個根目錄檔案系統,並學習使用Buildroot與Yocto Project這兩款在開發社群中最常見的組建系統,加速並自動化你的開發流程。
在此基礎之上,我們將一同探討如何妥善運用NAND/NOR以及管理型eMMC的快閃記憶體特性,以便延長裝置的使用壽命與建立可靠的線上更新機制。我們也會探討嵌入式Linux程式設計的種種議題,像是如何從應用程式存取硬體、如何開發多執行緒的程式、如何有效率地管理記憶體空間等。最後,我們將示範如何針對應用程式與內核進行除錯。我們將一起學習perf、Ftrace、LTTng、BPF等工具的使用方式,了解針對應用程式與內核進行剖析和追蹤的方法,迅速找到系統的效能瓶頸。
讀完本書,我們將能夠駕馭Linux系統,隨心所欲創造出靈活又穩健的嵌入式裝置。
【本書特色】
・利用Yocto Project與Buildroot建立嵌入式Linux系統
・處理組建過程中BitBake的異常問題,了解Yocto的組成與工作流程
・使用Mender或balena建立既安全又可靠的IoT裝置更新機制
・讀懂電路圖、修改硬體結構樹、熟悉針腳擴充板(breakout board)的焊錫作業,以此連接週邊裝置,並利用邏輯分析儀探查問題原因,快速打造出產品原型
・不用編寫內核驅動程式也可以和硬體互動
・利用BusyBox runit啟動系統常駐服務並進行監控
・透過GDB對裝置進行遠端除錯,利用perf、Ftrace、eBPF、Callgrind等工具量測系統效能
・上冊包含本書前15章,下冊包含第16章到第21章
【下載範例程式檔案】
你可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在儲存庫上:
【下載本書的彩色圖片】
本書使用的彩色截圖和圖表,可以在此下載PDF檔案:
產品目錄
Section 1:嵌入式Linux的要件
Chapter 01:一切由此開始
Chapter 02:工具鏈
Chapter 03:啟動載入器
Chapter 04:設定與組建內核
Chapter 05:建立根目錄檔案系統
Chapter 06:選擇組建系統
Chapter 07:運用Yocto Project開發
Chapter 08:深入Yocto Project
Section 2:系統架構與設計決策
Chapter 09:建立儲存空間的方式
Chapter 10:上線後的軟體更新
Chapter 11:裝置驅動程式
Chapter 12:使用針腳擴充板打造原型
Chapter 13:動起來吧!init程式
Chapter 14:使用BusyBox runit快速啟動
Chapter 15:電源管理
Section 3~Section 4為下冊介紹篇幅
Section 3:開發嵌入式應用程式
Chapter 16:打包Python應用程式
Chapter 17:程序與執行緒
Chapter 18:記憶體管理
Section 4:除錯以及效能最佳化
Chapter 19:以GDB除錯
Chapter 20:剖析與追蹤
Chapter 21:即時系統開發
作者介紹
Chris Simmonds出身於英格蘭南部。他是一名軟體顧問與指導者,擁有20多年的「嵌入式系統開源軟體」的設計與開發經驗。同時,他也是2net Ltd.公司的創辦人與主要顧問,在嵌入式Linux、Linux裝置驅動程式以及Android平台開發上,提供專業的訓練與顧問服務。他為許多「嵌入式領域」知名的大型公司訓練過無數軟體工程師,這些公司包括ARM、Qualcomm、Intel、Ericsson以及General Dynamics。他也是各種開源軟體社群與嵌入式技術大會的常客,其中包括Embedded Linux Conference與Embedded World等等。
規格
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。








