首頁 搜尋 我的知識庫
內嵌作業系統 - ARM Linux驅動程式開發動手做

內嵌作業系統 - ARM Linux驅動程式開發動手做

作者: 左忠凱
出版社: 深智數位
出版日期: 2023/08/20
ISBN-13: 9786267273692
書店 1






內容描述


【豐富實驗內容】
【完整Linux系統燒錄】

  嵌入式Linux開發環境架設、CortexA7架構及ARM組合語言
  MX6U、STM32之LED燈、啟動方式
  C語言版本LED燈、STM32驅動開發
  SDK移植、BSP專案管理、蜂嗚器、按鍵輸入實驗
  主頻和時脈設定、GPI中斷實驗、EPIT計時、高精度延遲時間
  UART及序列埠格式移植、DDR3實驗
  RGB LCD顯示、RTC即時時脈、I2C實驗、SPI實驗
  多點電容觸控式螢實驗,LCD背光調節、ADC實驗
  u-boot使用、Makefile詳解、啟動流程、u-boot移植、圖形化原理
  Linux Makefile詳解、核心啟動流程、核心移植
  Linux root檔案系統建置(BusyBox)

  本書一共分兩篇,每篇對應一個不同的階段。第一篇主要是基本常識及最重要的裸機開發,從本篇正式開始開發板的學習。透過數十個裸機常式來幫助讀者了解I.MX6ULL這顆CPU,為以後的Linux驅動開發做準備。讀者可以掌握在Ubuntu下進行ARM開發的方法。第二篇則是系統移植,講解如何將uboot、Linux和root檔案系統移植到開發板上,為後面的Linux驅動開發做準備。把uboot、Linux核心和root檔案系統都在開發板上移植好以後,就可以開始Linux驅動開發了。

  Linux最重要的三大類驅動程式,包括字元裝置驅動、區塊裝置驅動和網路裝置驅動,本書都有完整的範例說明,是從事內嵌式Linux開發者最想看到的內容。


目錄大綱


第一篇裸機開發
第1章開發環境架設
1.1Ubuntu和Windows檔案互傳
1.2Ubuntu下NFS和SSH服務開啟
1.3Ubuntu交叉編譯工具鏈安裝
1.4Visual Studio Code軟體的安裝和使用
1.5CH340序列埠驅動安裝
1.6MobaXterm軟體安裝和使用

第2章Cortex-A7 MPCore架構
2.1Cortex-A7 MPCore簡介
2.2Cortex-A處理器執行模型
2.3Cortex-A暫存器組

第3章ARM組合語言基礎
3.1GNU組合語言語法
3.2Cortex-A7常用組合語言指令

第4章組合語言LED燈實驗
4.1I.MX6U GPIO詳解
4.2硬體原理分析
4.3實驗程式撰寫
4.4編譯、下載和驗證

第5章I.MX6U啟動方式詳解
5.1啟動方式選擇
5.2BOOT ROM初始化內容
5.3啟動裝置
5.4鏡像燒錄

第6章C語言版LED燈實驗
6.1C語言版LED燈簡介
6.2硬體原理分析
6.3實驗程式撰寫
6.4編譯、下載和驗證

第7章模仿STM32驅動開發格式實驗
7.1模仿STM32暫存器定義
7.2硬體原理分析
7.3實驗程式撰寫
7.4編譯、下載和驗證

第8章官方SDK移植實驗
8.1官方SDK移植簡介
8.2硬體原理分析
8.3實驗程式撰寫
8.4編譯、下載和驗證

第9章BSP專案管理實驗
9.1BSP專案管理簡介
9.2硬體原理分析
9.3實驗程式撰寫
9.4編譯、下載和驗證

第10章蜂鳴器實驗
10.1主動蜂鳴器簡介
10.2硬體原理分析
10.3實驗程式撰寫
10.4編譯、下載和驗證

第11章按鍵輸入實驗
11.1按鍵輸入簡介
11.2硬體原理分析
11.3實驗程式撰寫
11.4編譯、下載和驗證

第12章主頻和時脈設定實驗
12.1I.MX6ULL時脈系統詳解
12.2硬體原理分析
12.3實驗程式撰寫
12.4編譯、下載和驗證

第13章GPIO中斷實驗
13.1Cortex-A7中斷系統詳解
13.2硬體原理分析
13.3實驗程式撰寫
13.4編譯、下載和驗證

第14章EPIT計時器實驗
14.1EPIT計時器簡介
14.2硬體原理分析
14.3實驗程式撰寫
14.4編譯、下載和驗證

第15章計時器按鍵消抖實驗
15.1計時器按鍵消抖簡介
15.2硬體原理分析
15.3實驗程式撰寫
15.4編譯、下載和驗證

第16章高精度延遲時間實驗
16.1高精度延遲時間簡介
16.2硬體原理分析
16.3實驗程式撰寫
16.4編譯、下載和驗證

第17章UART序列埠通訊實驗
17.1I.MX6ULL序列埠通訊簡介
17.2硬體原理分析    
17.3實驗程式撰寫
17.4編譯、下載和驗證

第18章序列埠格式化函數移植實驗
18.1序列埠格式化函數移植簡介
18.2硬體原理分析
18.3實驗程式撰寫
18.4編譯、下載和驗證

第19章DDR3實驗
19.1DDR3記憶體簡介
19.2DDR3關鍵時間參數
19.3I.MX6ULL MMDC控制器簡介
19.4ALPHA開發板DDR3L原理圖
19.5DDR3L初始化與測試

第20章RGB LCD顯示實驗
20.1LCD和eLCDIF簡介
20.2硬體原理分析
20.3實驗程式撰寫
20.4編譯、下載和驗證

第21章RTC即時時脈實驗
21.1I.MX6ULL RTC即時時脈簡介
21.2硬體原理分析
21.3實驗程式撰寫
21.4編譯、下載和驗證

第22章I2C實驗
22.1I2C和AP3216C簡介
22.2硬體原理分析
22.3實驗程式撰寫
22.4編譯、下載和驗證

第23章SPI實驗
23.1SPI & ICM-20608簡介
23.2硬體原理分析
23.3實驗程式撰寫
23.4編譯、下載和驗證

第24章多點電容觸控式螢幕實驗
24.1多點電容觸控式螢幕簡介
24.2硬體原理分析
24.3實驗程式撰寫
24.4編譯、下載和驗證

第25章LCD背光調節實驗
25.1LCD背光調節簡介
25.2硬體原理分析
25.3實驗程式撰寫
25.4編譯、下載和驗證

第26章ADC實驗
26.1ADC簡介
26.2硬體原理分析
26.3實驗程式撰寫
26.4編譯、下載和驗證

第二篇系統移植
第27章U-Boot使用實驗
27.1U-Boot簡介
27.2U-Boot初次編譯
27.3U-Boot燒錄與啟動
27.4U-Boot命令使用

第28章U-Boot頂層Makefile詳解
28.1U-Boot專案目錄分析
28.2VSCode專案建立
28.3U-Boot頂層Makefile分析

第29章U-Boot啟動流程詳解
29.1連結指令稿u-boot.lds詳解
29.2U-Boot啟動流程解析
29.3bootz啟動Linux核心過程

第30章U-Boot移植
30.1NXP官方開發板uboot編譯測試
30.2在U-Boot中增加自己的開發板
30.3bootcmd和bootargs環境變數
30.4uboot啟動Linux測試

第31章U-Boot圖形化設定及其原理
31.1U-Boot圖形化設定體驗
31.2menuconfig圖形化設定原理
31.3增加自訂選單

第32章Linux核心頂層Makefile詳解
32.1Linux核心獲取
32.2Linux核心初次編譯
32.3Linux專案目錄分析
32.4VSCode專案建立
32.5頂層Makefile詳解

第33章Linux核心啟動流程
33.1連結指令稿vmlinux.lds
33.2Linux核心啟動流程分析

第34章Linux核心移植
34.1建立VSCode專案
34.2NXP官方開發板Linux核心編譯
34.3在Linux中增加自己的開發板
34.4CPU主頻和網路驅動修改

第35章root檔案系統建構
35.1root檔案系統簡介
35.2BusyBox建構root檔案系統
35.3root檔案系統初步測試
35.4完善root檔案系統
35.5root檔案系統其他功能測試

第36章系統燒錄
36.1MfgTool工具簡介
36.2MfgTool工作原理簡介
36.3燒錄NXP官方系統
36.4燒錄自製的系統
36.5改造自己的燒錄工具


作者介紹


作者簡介

左忠凱(左盟主)

  正點原子Linux總監,十年嵌入式開發工作經驗,主要研究方向為ARM內核的MCU以及MPU的開發工作,參與多款Cortex-A/M內核芯片的研發。擁有豐富的RTOS以及嵌入式Linux開發經驗,參與編寫並出版多本嵌入式開發書籍,並且錄製了大量的嵌入式學習影片,深受廣大讀者好評。






相關書籍

精準駕馭Word! 論文寫作絕非難事

Premiere CC 視訊影音剪輯設計寶典

Excel VBA 教科書

Python ✕ ChatGPT ✕ Excel 高效率打造辦公室作業+數據分析自動化