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

左忠凱 編著

  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-1
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-2
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-3
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-4
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-5
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-6
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-7
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-8
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-9
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-10
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-11
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-12
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-13
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-14
  • 內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-15
內嵌作業系統 - ARM Linux 驅動程式開發動手做-preview-1

買這商品的人也買了...

商品描述

【豐富實驗內容】

【完整Linux系統燒錄】

 

嵌入式Linux開發環境架設CortexA7架構及ARM組合語言

MX6USTM32LED燈、啟動方式

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開發的方法。第二篇則是系統移植,講解如何將ubootLinuxroot檔案系統移植到開發板上,為後面的Linux驅動開發做準備。把ubootLinux核心和root檔案系統都在開發板上移植好以後,就可以開始Linux驅動開發了。

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

作者簡介

左忠凱(左盟主)

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

目錄大綱

第一篇裸機開發

 

1章開發環境架設

1.1UbuntuWindows檔案互傳

1.2UbuntuNFSSSH服務開啟

1.3Ubuntu交叉編譯工具鏈安裝

1.4Visual Studio Code軟體的安裝和使用

1.5CH340序列埠驅動安裝

1.6MobaXterm軟體安裝和使用

 

2Cortex-A7 MPCore架構

2.1Cortex-A7 MPCore簡介

2.2Cortex-A處理器執行模型

2.3Cortex-A暫存器組

 

3ARM組合語言基礎

3.1GNU組合語言語法

3.2Cortex-A7常用組合語言指令

 

4章組合語言LED燈實驗

4.1I.MX6U GPIO詳解

4.2硬體原理分析

4.3實驗程式撰寫

4.4編譯、下載和驗證

 

5I.MX6U啟動方式詳解

5.1啟動方式選擇

5.2BOOT ROM初始化內容

5.3啟動裝置

5.4鏡像燒錄

 

6C語言版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編譯、下載和驗證

 

9BSP專案管理實驗

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編譯、下載和驗證

 

13GPIO中斷實驗

13.1Cortex-A7中斷系統詳解

13.2硬體原理分析

13.3實驗程式撰寫

13.4編譯、下載和驗證

 

14EPIT計時器實驗

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編譯、下載和驗證

 

17UART序列埠通訊實驗

17.1I.MX6ULL序列埠通訊簡介

17.2硬體原理分析

17.3實驗程式撰寫

17.4編譯、下載和驗證

 

18章序列埠格式化函數移植實驗

18.1序列埠格式化函數移植簡介

18.2硬體原理分析

18.3實驗程式撰寫

18.4編譯、下載和驗證

 

19DDR3實驗

19.1DDR3記憶體簡介

19.2DDR3關鍵時間參數

19.3I.MX6ULL MMDC控制器簡介

19.4ALPHA開發板DDR3L原理圖

19.5DDR3L初始化與測試

 

20RGB LCD顯示實驗

20.1LCDeLCDIF簡介

20.2硬體原理分析

20.3實驗程式撰寫

20.4編譯、下載和驗證

 

21RTC即時時脈實驗

21.1I.MX6ULL RTC即時時脈簡介

21.2硬體原理分析

21.3實驗程式撰寫

21.4編譯、下載和驗證

 

22I2C實驗

22.1I2CAP3216C簡介

22.2硬體原理分析

22.3實驗程式撰寫

22.4編譯、下載和驗證

 

23SPI實驗

23.1SPI & ICM-20608簡介

23.2硬體原理分析

23.3實驗程式撰寫

23.4編譯、下載和驗證

 

24章多點電容觸控式螢幕實驗

24.1多點電容觸控式螢幕簡介

24.2硬體原理分析

24.3實驗程式撰寫

24.4編譯、下載和驗證

 

25LCD背光調節實驗

25.1LCD背光調節簡介

25.2硬體原理分析

25.3實驗程式撰寫

25.4編譯、下載和驗證

 

26ADC實驗

26.1ADC簡介

26.2硬體原理分析

26.3實驗程式撰寫

26.4編譯、下載和驗證

 

第二篇系統移植

 

27U-Boot使用實驗

27.1U-Boot簡介

27.2U-Boot初次編譯

27.3U-Boot燒錄與啟動

27.4U-Boot命令使用

 

28U-Boot頂層Makefile詳解

28.1U-Boot專案目錄分析

28.2VSCode專案建立

28.3U-Boot頂層Makefile分析

 

29U-Boot啟動流程詳解

29.1連結指令稿u-boot.lds詳解

29.2U-Boot啟動流程解析

29.3bootz啟動Linux核心過程

 

30U-Boot移植

30.1NXP官方開發板uboot編譯測試

30.2U-Boot中增加自己的開發板

30.3bootcmdbootargs環境變數

30.4uboot啟動Linux測試

 

31U-Boot圖形化設定及其原理

31.1U-Boot圖形化設定體驗

31.2menuconfig圖形化設定原理

31.3增加自訂選單

 

32Linux核心頂層Makefile詳解

32.1Linux核心獲取

32.2Linux核心初次編譯

32.3Linux專案目錄分析

32.4VSCode專案建立

32.5頂層Makefile詳解

 

33Linux核心啟動流程

33.1連結指令稿vmlinux.lds

33.2Linux核心啟動流程分析

 

34Linux核心移植

34.1建立VSCode專案

34.2NXP官方開發板Linux核心編譯

34.3Linux中增加自己的開發板

34.4CPU主頻和網路驅動修改

 

35root檔案系統建構

35.1root檔案系統簡介

35.2BusyBox建構root檔案系統

35.3root檔案系統初步測試

35.4完善root檔案系統

35.5root檔案系統其他功能測試

 

36章系統燒錄

36.1MfgTool工具簡介

36.2MfgTool工作原理簡介

36.3燒錄NXP官方系統

36.4燒錄自製的系統

36.5改造自己的燒錄工具