





本書橫跨軟體與硬體兩個領域,強調系統性理解與模組化設計的實踐應用,對於驅動開發工程師、BSP 工程師、SoC 架構設計者及核心開發者皆提供可立即落地的技術框架。
內容簡介
https://youtu.be/A76olfT7dLI
本書橫跨軟體與硬體兩個領域,強調系統性理解與模組化設計的實踐應用,對於驅動開發工程師、BSP 工程師、SoC 架構設計者及核心開發者皆提供可立即落地的技術框架。
★ Linux Kernel 6.6 深度解析
★ SoC 系統級晶片開發實戰
★ 處理程序管理與記憶體調度
★ 中斷控制器與裝置模型剖析
★ 裝置樹原理與驅動開發指南
★ 電源管理與 runtime PM 實作
★ 時鐘控制與 Clock Subsystem 探究
★ 高解析度計時器與時序同步
★ bootloader 啟動流程詳解(U-Boot/SPL/ATF)
★ SMP 負載平衡與行程排程機制
★ IOMUX 與 GPIO Pin 控制模組
★ 系統呼叫流程與核心態交互
★ 記憶體碎片化與夥伴系統管理
★ 心模組與 SoC 模組整合實戰
透過對 Linux 與 SoC 結構的雙向深入,本書不僅能提升底層功力,也能有效幫助從業者突破視野與技術瓶頸!
【章節介紹】
本書共分為十三章,內容涵蓋Linux核心與SoC開發的核心知識。
第一章 介紹記憶體管理,說明分頁機制、memblock初始化與分配器原理。
第二章 講解處理程序管理,包含程序建立、do_fork實作與SMP排程策略。
第三章 說明同步機制,包括自旋鎖、互斥鎖、RCU等常用方法。
第四章 聚焦檔案系統,介紹ext4與VFS運作方式。
第五章 探討系統呼叫,解析從使用者態到核心態的呼叫流程。
第六章 說明SoC啟動過程,包含SPL、ATF、U-Boot及Kernel初始化。
第七章 介紹裝置模型,講解匯流排、裝置與驅動的配對關係。
第八章 解析裝置樹語法與裝置匹配流程。
第九章 說明電源模組,涵蓋power domain與runtime PM設計。
第十章 講解時鐘模組,包含時鐘框架與驅動實作。
第十一章 介紹接腳模組,說明IOMUX控制與pinctrl驅動配置。
第十二章 分析時間模組與計時器架構。
第十三章 聚焦中斷模組,包含GIC硬體原理與IRQ處理邏輯,完整呈現Linux與SoC整合的技術全貌。
產品目錄
1.1 記憶體管理的機制
1.1.1 分段機制
1.1.2 分頁機制
1.2 CPU 存取記憶體的過程
1.2.1 PN/PFN/PT/PTE
1.2.2 MMU 中的TLB 和TTW
1.2.3 一級分頁表映射過程
1.2.4 為什麼使用多級分頁表
1.3 記憶體架構和記憶體模型
1.3.1 Linux 記憶體模型
1.3.2 Linux 記憶體映射
1.4 memblock 實體記憶體的初始化
1.4.1 early boot memory
1.4.2 memblock 的資料結構
1.4.3 memblock 的初始化
1.5 memblock 實體記憶體的映射
1.5.1 paging_init 函式
1.5.2 create_pgd_mapping 函式
1.6 實體記憶體的軟體劃分
1.6.1 劃分的資料結構
1.6.2 劃分的初始化
1.7 分頁幀分配器的實現
1.8 分頁幀分配器的快速分配之水位控制
1.8.1 水位的初始化
1.8.2 水位的判斷
1.9 分頁幀分配器的快速分配之夥伴系統
1.9.1 相關的資料結構
1.9.2 夥伴演算法申請分頁
1.9.3 夥伴演算法釋放分頁
1.10 分頁幀分配器的慢速分配之記憶體回收
1.10.1 資料結構
1.10.2 程式流程
1.11 分頁幀分配器的慢速分配之記憶體碎片規整
1.11.1 什麼是記憶體碎片化
1.11.2 規整碎片化分頁的演算
1.11.3 資料結構
1.11.4 規整的三種方式
第2 章 處理程序管理
2.1 核心對處理程序的描述
2.1.1 透過task_struct 描述處理程序
2.1.2 如何獲取當前處理程序
2.2 使用者態處理程序/ 執行緒的建立
2.2.1 fork 函式
2.2.2 vfork 函式
2.2.3 pthread_create 函式
2.2.4 三者之間的關係
2.3 do_fork 函式的實現
2.3.1 copy_process 函式
2.3.2 wake_up_new_task 函式
2.4 處理程序的排程
2.4.1 處理程序的分類
2.4.2 排程相關的資料結構
2.4.3 排程時刻
2.4.4 排程演算法
2.4.5 CFS 排程器
2.4.6 選擇下一個處理程序
2.4.7 處理程序上下文切換
2.5 多核心系統的負載平衡
2.5.1 多核架構
2.5.2 CPU 拓撲
2.5.3 排程域和排程組
2.5.4 何時做負載平衡
2.5.5 負載平衡的基本過程
第3 章 同步管理
3.1 原子操作
3.2 自旋鎖
3.3 訊號量
3.4 互斥鎖
3.5 RCU
第4 章 檔案系統
4.1 磁碟
4.1.1 磁碟類型
4.1.2 磁碟讀寫資料
4.2 磁碟的分區
4.3 磁碟上資料的分佈
4.4 查看檔案系統的檔案
4.4.1 檔案系統物件結構
4.4.2 查看分區資訊
4.4.3 查看超級區塊
4.4.4 查看區塊群組描述符號
4.5 ext4 檔案系統
4.5.1 磁碟版面配置
4.5.2 ext3 版面配置
4.5.3 ext4 中的inode
4.5.4 ext4 檔案定址
4.6 查詢檔案test 的過程
4.7 虛擬檔案系統
4.7.1 檔案系統類型(file_system_type)
4.7.2 超級區塊(super_block)
4.7.3 目錄項(dentry)
4.7.4 索引節點(inode)
4.7.5 檔案物件(file)
第5 章 系統呼叫
5.1 系統呼叫的定義
5.2 系統呼叫的處理流程
5.2.1 使用者態的處理
5.2.2 核心態的處理
第6 章 SoC 啟動
6.1 Uboot 啟動前的工作
6.1.1 連結指令稿和程式入口
6.1.2 鏡像容器
6.1.3 SPL 的啟動
6.1.4 ATF 的啟動
6.2 Uboot 的初始化過程
6.2.1 Uboot 的啟動
6.2.2 Uboot 驅動的初始化
6.2.3 Uboot 的互動原理
6.3 kernel 的初始化過程
6.3.1 核心執行的第一行程式
6.3.2 head.S 的執行過程
6.3.3 內核子系統啟動的全過程
第7 章 裝置模型
7.1 裝置模型的基石
7.1.1 裝置模型是什麼
7.1.2 裝置模型的實現
7.2 裝置模型的探究
7.2.1 匯流排、裝置和驅動模型
7.2.2 裝置樹的出現
7.2.3 各級裝置的展開
第8 章 裝置樹原理
8.1 裝置樹的基本用法
8.1.1 裝置樹的結構
8.1.2 裝置樹的語法
8.2 裝置樹的解析過程
8.3 裝置樹常用of 操作函式
8.3.1 查詢節點的of 函式
8.3.2 查詢父/ 子節點的of 函式
8.3.3 提取屬性值的of 函
8.3.4 其他常用的of 函式
第9 章 電源模組
9.1 電源子系統的power domain
9.1.1 power domain 的硬體實現
9.1.2 power domain 的軟體實現
9.2 電源子系統的runtime pm
9.2.1 runtime pm 在核心中的作用
9.2.2 runtime pm 的軟體流程
9.2.3 suspend/resume 的過程
第10 章 時鐘模組
10.1 時鐘控制器的硬體實現
10.1.1 Clock Source
10.1.2 Clock Root
10.1.3 Clock Gate
10.2 時鐘控制器的驅動實現
10.3 時鐘子系統的實現
10.3.1 時鐘子系統之Clock Provider
10.3.2 時鐘子系統之Clock Consumer
第11 章 接腳模組
11.1 IOMUX 控制器的工作原理
11.1.1 IOMUX 控制器的硬體實現
11.1.2 接腳的使用
11.2 pinctrl 驅動和client device 使用過程
11.2.1 pinctrl_desc 結構
11.2.2 IOMUX 控制器驅動初始化
11.2.3 client device 使用過程
第12 章 時間模組
12.1 計時器和計時器的初始化
12.1.1 local timer 的初始
12.1.2 system counter 的初始化
12.2 計時器的應用
12.2.1 高解析度計時器
12.2.2 低解析度計時器
12.2.3 sched_timer
第13 章 中斷模組
13.1 中斷控制器(GIC)硬體原理
13.1.1 GIC v3 中斷類別
13.1.2 GIC v3 組
13.1.3 中斷路由
13.1.4 中斷處理狀態機
13.1.5 中斷處理流程
13.2 中斷控制器的驅動實現
13.3 中斷的映射
13.3.1 資料結構
13.3.2 中斷控制器註冊irq_domain
13.3.3 外接裝置硬中斷和虛擬中斷編號的映射關係
13.4 中斷的註冊
13.5 中斷的處理
13.5.1 保護現場
13.5.2 中斷處理
13.5.3 恢復現場
規格
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。







