《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 活動 > 免費送書|好書推薦第三彈——從零開始學ARM

免費送書|好書推薦第三彈——從零開始學ARM

2023-05-17
2023-05-19


電子技術應用網的朋友們大家好,好書推薦活動第三彈來啦!


本次給大家帶來的是電子技術應用專欄作家 一口Linux公眾號號主彭丹老師最新書籍

640.jpg

( 彭老師親筆簽名版  本次活動僅此一本 先到先得)


本期送書規則:


       1.將本活動轉發至朋友圈,截止至5月19號中午12點,朋友圈獲得點贊數目最多的用戶可免費獲得本書。


      2.收到書一個月之內需要在電子技術應用技術專欄發布一篇該書的讀書心得體會,不少于500字。

 

 注:心得體會中至少要回答以下問題中的任意四個。

1.ARM有哪些工作模式?

2.各設備驅動使用的寄存器有哪些?功能是什么?

3.系統上電后,執行的第一條指令是什么?

4.在C語言環境下調用函數時,參數是如何傳遞的?

5.當實現同樣的功能時,為什么有些C語言程序的執行效率比匯編語言的高?

6.異常源有哪些?

7.什么是異常向量表?

8.如何使能關閉中斷?

9.中斷發生后CPU是如何處理的?

10.CPU 如何操作LED、按鍵、蜂鳴器、滑動變阻器、RTC、看門狗、MPU6050等常見外設并使它們有條不紊地工作?

11.U-Boot的啟動流程是什么?如何實現程序自搬移?

12.U-Boot是如何實現一個簡單的網絡協議棧的?




請將朋友圈點贊截圖發給電子技術應用網站小編,微信如下


123.png


書籍介紹:


從零開始學ARM》 彭丹 周海濤 著   官方售價:99.8元

彭丹:公眾號『一口Linux』號主彭老師,擁有15年嵌入式開發經驗和培訓經驗。曾任職ZTE,某研究所,華清遠見教學總監。擁有多篇網絡協議相關專利和軟件著作。精通計算機網絡、Linux系統編程、ARM、Linux驅動、龍芯、物聯網。

本書主要介紹ARM開發的相關知識,詳細講解常用的ARM指令及如何基于ARM架構的外設編寫驅動程序,并分析了開源軟件U-Boot的啟動程序和網絡協議棧。

本書第1~4章為基礎篇,主要介紹CPU與ARM、搭建環境、ARM編程、異常等;

第5~13章為編程篇,主要介紹基于Exynos 4412的常用外設的工作原理及驅動程序等;

第14~17章為應用篇,主要介紹開源軟件U-Boot的使用及啟動程序、網卡DM9000AE的驅動和網絡協議棧,以及關于匯編的兩點補充。

本書適合從事嵌入式開發的工程師和有一定計算機基礎和C語言編程經驗的初學者學習參考。

640.png

本書推薦語


本書特點


一是循序漸進,由淺入深。本書針對零基礎的初學者,以FS4412開發板(基于ARMCortex-A9架構)為例,首先從開發環境的安裝和配置及ARM基本指令等相關基礎知識開始講解,然后詳細說明常見硬件的功能原理,進而結合硬件原理圖、用戶手冊逐個分析這些硬件的驅動編程方法,最后介紹開源項目U-Boot的使用及啟動程序,使讀者將ARM相關知識點融會貫通。

二是實例豐富,內容翔實。本書中包含大量匯編實例,且所有匯編指令都在KEIL軟件中測試過;硬件裸機驅動源程序均在開發板上調試過,并有詳細的分析注解;U-Boot的啟動源程序和U-Boot中的網絡協議棧也有詳細的程序注解,使讀者能夠復現實例,學以致用。 

三是提供配套電子資源。本書的配套資源包含安裝工具、源程序、PPT課件等。


面向人群


本書主要面向想學習ARM開發技術、嵌入式底層開發的初學者,

大部分內容是從事單片機、Linux驅動開發工程師甚至硬件工程師備知識。

內容的組織由淺入深,關鍵知識點均有源碼實例,資料詳盡,

配合B站視頻學習效果更佳。



資料獲取


本書涉及的開發環境,和文中所有資料、源代碼,均無償提供。

一口Linux 公眾號后臺回復:arm

微信截圖_20230517165500.png

微信圖片_20220701092006.jpg

(電子技術應用專欄作家  一口Linux微信公眾號二維碼)



配套視頻


為了更好的讓各位讀者學習本書內容,彭老師正在錄制本書配套的視頻,并免費發布在B站(全網同名:一口Linux


https://space.bilibili.com/661326452


目前已經錄制了第一期視頻,第二期視頻對應ppt已經制作完畢,后續會陸續更新。




本書目錄:


第1章 CPU與ARM 2

1.1 CPU 2

1.1.1 CPU概述 2

1.1.2 計算機結構 4

1.1.3 CPU的組成 5

1.1.4 指令的運行 9

1.2 ARM 10

1.2.1 ARM的發展史 10

1.2.2 ARM架構 11

1.2.3 ARM處理器 13

1.3 SoC 26

第2章 搭建環境 30

2.1 KEIL軟件安裝 30

2.1.1 KEIL、μVision、MDK之間的關系 30

2.1.2 安裝KEIL 31

2.1.3 創建工程 32

2.1.4 編譯程序 34

2.1.5 如何debug程序 34

2.2 編譯環境搭建 36

2.2.1 安裝VMware Workstation 37

2.2.2 安裝ubuntu 38

2.3 交叉編譯工具安裝 41

第3章 ARM編程 44

3.1 ARM指令格式 44

3.2 數據處理指令 45

3.2.1 mov指令 45

3.2.2 移位操作 47

3.2.3 cmp比較指令 49

3.2.4 tst條件指令 49

3.2.5 運算指令 50

3.3 跳轉指令 52

3.4 訪問程序狀態寄存器指令 55

3.4.1 mrs指令 55

3.4.2 msr指令 55

3.4.3 綜合實例 56

3.5 訪問外部寄存器指令 60

3.5.1 ldr指令 60

3.5.2 str指令 60

3.5.3 ldrb指令 61

3.5.4 ldrh指令 62

3.6 ARM尋址方式 62

3.7 GNU書寫風格 69

3.7.1 MDK書寫風格與GNU書寫風格 69

3.7.2 標號symbol(或label)70

3.7.3 語句格式 71

3.7.4 分段 72

3.8 偽操作 73

3.8.1 數據定義偽操作 74

3.8.2 匯編控制偽操作 75

3.8.3 .if.else.end if 75

3.8.4 雜項偽操作 76

3.9 GNU程序的編譯 77

3.9.1 交叉編譯工具 77

3.9.2 交叉編譯工具命名規則 77

3.9.3 程序編譯過程 77

3.9.4 編譯選項 79

3.9.5 elf與bin文件 82

3.9.6 編譯舉例 83

3.10 ATPCS和AAPCS 87

3.11 內聯匯編 89

3.12 C語言和匯編語言相互調用舉例 91

第4章 異常 93

4.1 異常基礎知識 93

4.2 異常處理 95

4.2.1 異常發生后硬件操作 95

4.2.2 異常向量表 95

4.2.3 保存執行現場 97

4.2.4 異常處理的返回 97

4.2.5 異常恢復 98

4.3 中斷異常 99

4.3.1 中斷概念 99

4.3.2 中斷處理流程 99

4.4 軟中斷 100

4.4.1 swi指令 100

4.4.2 bkpt指令 101

4.4.3 舉例 101

4.4.4 同時執行跳轉指令并切換模式 103

4.4.5 獲取中斷號 103

編程篇

第5章 GPIO及LED 106

5.1 GPIO 106

5.1.1 Exynos 4412 GPIO的特性 107

5.1.2 LED電路圖 108

5.1.3 如何操作GPIO 108

5.2  LED驅動程序編寫 110

5.2.1 匯編程序 110

5.2.2 C語言程序實現 111

5.2.3 燒寫程序 113

第6章 PWM 114

6.1 Exynos 4412 PWM 114

6.1.1 PWM基礎知識 114

6.1.2 Exynos 4412 PWM的特性 115

6.1.3 PWM的工作步驟 116

6.2 蜂鳴器驅動程序編寫 117

6.2.1 參考電路 117

6.2.2 寄存器 118

6.2.3 程序實現 120

第7章 中斷 122

7.1 GIC 122

7.1.1 分發器 123

7.1.2 CPU接口 124

7.1.3 中斷處理 125

7.2 按鍵驅動程序編寫 125

7.2.1 電路圖 125

7.2.2 配置按鍵為中斷觸發方式 126

7.2.3 寄存器 127

7.2.4 程序實現 131

7.3 輪詢方式 133

第8章 UART 135

8.1 UART概述 135

8.1.1 UART通信方式 135

8.1.2 UART數據幀格式 137

8.2 Exynos 4412 UART控制器 138

8.2.1 UART的特性 138

8.2.2 UART內部功能模塊 139

8.2.3 時鐘源 140

8.3 UART的操作 141

8.3.1 參考電路 141

8.3.2 寄存器 142

8.3.3 程序實現 145

8.3.4 移植printf 148

第9章 RTC 149

9.1 Exynos 4412 RTC 149

9.1.1 Exynos 4412 RTC的特性 149

9.1.2 RTC模塊 149

9.1.3 備用電池 150

9.1.4 晶體振蕩器 150

9.2 RTC寄存器 151

9.3 RTC的操作 153

9.4 程序實現 157

第10章 看門狗 160

10.1 Exynos 4412 看門狗 160

10.1.1 看門狗模塊圖 160

10.1.2 工作原理 161

10.2 驅動編寫 161

10.2.1 看門狗軟件程序設計流程 161

10.2.2 看門狗寄存器設置 161

10.2.3 程序實現 163

第11章 ADC 165

11.1 信號基礎知識 165

11.1.1 信號分類 165

11.1.2 脈沖編碼調制(PCM)166

11.2 Exynos 4412 ADC控制器 166

11.2.1 Exynos 4412 ADC控制器的特性 166

11.2.2 ADC控制器寄存器 167

11.2.3 中斷組合器 169

11.2.4 A/D轉換時間計算 171

11.3 程序實現 171

11.3.1 參考電路 171

11.3.2 程序實現 172

第12章 I2C 175

12.1 I2C總線 175

12.1.1 開始條件和停止條件 175

12.1.2 數據有效性 176

12.1.3 數據傳輸格式 176

12.2 Exynos 4412 I2C控制器 177

12.2.1 Exynos 4412 I2C控制器概述 177

12.2.2 Exynos 4412 I2C總線接口的特點 178

12.2.3 數據讀寫格式 178

12.2.4 數據讀寫流程 179

12.2.5 I2C總線控制器寄存器 181

12.3 MPU6050及驅動程序編寫 184

12.3.1 MPU6050 184

12.3.2 MPU6050參考電路 186

12.3.3 MPU6050內部寄存器 187

12.3.4 程序實現 188

第13章 SPI 192

13.1 SPI基礎知識 192

13.1.1 SPI的特點 192

13.1.2 極性和相位 194

13.1.3 數據交換 196

13.2 Exynos 4412 SPI控制器 197

13.3 SPI的操作 198

13.3.1 參考電路 198

13.3.2 寄存器 200

13.3.3 初始化流程 202

13.3.4 收發數據流程 205

13.4 MCP2515 206

13.4.1 MCP2515簡介 207

13.4.2 MCP2515的特點 207

13.4.3 結構框圖 207

13.4.4 SPI 協議模塊 208

13.4.5 SPI 指令集 208

13.4.6 MCP2515初始化 211

13.4.7 數據發送 217

13.4.8 數據接收 219

13.4.9 MCP2515驅動程序實現 221

應用篇

第14章 U-Boot 226

14.1 U-Boot概述 226

14.1.1 U-Boot的特性 227

14.1.2 工作模式 227

14.1.3 U-Boot常用命令228

14.1.4 配置舉例 230

14.2 U-Boot源程序 231

14.2.1 U-Boot源程序簡介 231

14.2.2 U-Boot源程序配置 234

14.2.3 U-Boot源程序編譯 236

14.3 移植硬件驅動 238

14.3.1 實現串口輸出 238

14.3.2 移植網卡驅動 239

14.3.3 移植Flash 241

14.4 制作SD卡 246

14.4.1 燒寫腳本 246

14.4.2 制作SD卡的步驟 247

14.4.3 通過SD卡啟動燒寫U-Boot 248

14.4.4 網絡燒寫U-Boot 250

第15章 U-Boot程序啟動分析 251

15.1 內核啟動流程概述251

15.1.1 U-Boot啟動Linux內核一般流程 251

15.1.2 Exynos 4412內存映射 252

15.1.3 啟動順序 252

15.1.4 SD卡鏡像布局 254

15.1.5 lds文件 255

15.2 U-Boot啟動流程程序詳解 256

15.2.1 U-Boot啟動程序流程 256

15.2.2 U-Boot啟動詳解 257

第16章 網卡DM9000AE 273

16.1 網卡概述 273

16.2 DM9000AE 274

16.2.1 DM9000AE概述 274

16.2.2 引腳說明 275

16.2.3 DM9000AE內部寄存器 279

16.3 SROM 控制器 284

16.3.1 SROM控制器概述 284

16.3.2 寄存器SROM_BW和SROM_BC 284

16.3.3 配置SROM功能 288

16.3.4 SROM初始化 293

16.4 DM9000AE驅動分析 297

16.4.1 網卡注冊 297

16.4.2 相關結構體 298

16.4.3 網卡的初始化 301

16.4.4 數據的發送 305

16.4.5 數據的接收 306

16.4.6 網卡注銷 309

16.5 U-Boot中的網絡協議棧 309

第17章 關于匯編的兩點補充 321

17.1 為什么使用結構體效率會高 321

17.1.1 定義多個全局變量 321

17.1.2 使用結構體 323

17.1.3 文字池 325

17.1.4 繼續優化 325

17.2  位置無關碼 326

17.2.1 為什么需要位置無關碼 326

17.2.2 如何編寫位置無關碼 326

17.2.3 舉例 327



本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品欧美风情| 91久久在线| 欧美日本高清一区| 久久综合九色欧美综合狠狠| 欧美亚洲免费电影| 亚洲午夜精品一区二区三区他趣| 亚洲精品视频在线播放| 亚洲国产成人在线| 久久精品视频一| 久久精品国产亚洲5555| 久久高清一区| 亚洲欧洲av一区二区| 亚洲欧美欧美一区二区三区| 亚洲性视频h| 亚洲一区二区三区免费视频| 国产精品99久久久久久久vr| 宅男在线国产精品| 亚洲天堂av在线免费观看| 亚洲天堂免费在线观看视频| 亚洲一区视频在线| 亚洲欧美日韩综合aⅴ视频| 小处雏高清一区二区三区| 欧美在线一级视频| 亚洲国产高清在线观看视频| 亚洲区一区二| 一区二区三区毛片| 亚洲欧美美女| 久久激情视频久久| 另类专区欧美制服同性| 欧美成人精精品一区二区频| 欧美黑人一区二区三区| 欧美日韩人人澡狠狠躁视频| 国产精品爱久久久久久久| 国产精品久久午夜| 国产精品久久久久永久免费观看| 国产精品免费看片| 国产一区二区三区成人欧美日韩在线观看 | 欧美日韩视频免费播放| 欧美午夜视频一区二区| 国产精品日日摸夜夜摸av| 国产一区二区久久久| 在线精品视频一区二区| 91久久中文| 亚洲一品av免费观看| 欧美在线你懂的| 亚洲精品视频免费观看| 亚洲一二三四久久| 久久久蜜桃精品| 欧美精品激情在线| 国产精品一二一区| 伊人男人综合视频网| 亚洲美女淫视频| 欧美一区二区三区在线观看| 亚洲精品日韩在线| 欧美亚洲视频在线看网址| 另类激情亚洲| 欧美系列电影免费观看| 国产曰批免费观看久久久| 亚洲精品一区二区三区福利| 亚洲一级电影| 亚洲欧洲另类国产综合| 亚洲欧美制服中文字幕| 免费看黄裸体一级大秀欧美| 国产精品va在线播放| 狠狠色丁香久久婷婷综合_中| 亚洲精品人人| 性欧美videos另类喷潮| 99精品99久久久久久宅男| 欧美一区二区三区在线免费观看| 欧美大片第1页| 国产视频自拍一区| 日韩视频一区二区三区| 久久精品成人欧美大片古装| 一区二区三区日韩精品| 久久视频在线看| 国产精品高潮呻吟久久av无限| 激情亚洲网站| 亚洲在线一区二区| 亚洲九九九在线观看| 久久久精品一区| 国产精品成人观看视频免费| 亚洲黄色片网站| 欧美一区二区三区在线观看| 亚洲一区激情| 欧美精品乱码久久久久久按摩| 国产一区二区毛片| 亚洲午夜激情网站| 99热在线精品观看| 久久这里只有精品视频首页| 国产精品亚洲综合色区韩国| 亚洲免费观看在线观看| 亚洲黄色在线视频| 久久精品国产亚洲高清剧情介绍| 国产精品盗摄一区二区三区| 最新国产精品拍自在线播放| 亚洲国产成人精品女人久久久 | 欧美在线观看视频一区二区三区 | 99国产精品视频免费观看| 久久精品国产综合精品| 欧美亚洲专区| 国产精品剧情在线亚洲| 一区二区三区久久网| 亚洲美女少妇无套啪啪呻吟| 美日韩精品视频免费看| 国产一区二区日韩精品| 亚洲综合激情| 亚洲欧美中文另类| 欧美午夜不卡视频| 亚洲精品一区在线| 亚洲剧情一区二区| 欧美电影专区| 亚洲国产成人精品久久| 亚洲韩国青草视频| 麻豆精品精华液| 伊人精品成人久久综合软件| 欧美专区日韩视频| 久久久久欧美| 国产自产高清不卡| 欧美在线观看一区二区| 久久精品国亚洲| 国产综合色产在线精品| 欧美一级理论性理论a| 亚洲欧美影音先锋| 国产精品任我爽爆在线播放| 亚洲一区日韩在线| 欧美中文字幕第一页| 国产日韩欧美亚洲| 欧美一级视频一区二区| 亚洲一区影院| 国产伦精品一区二区三区视频黑人| 亚洲视频在线二区| 午夜精品在线观看| 国产欧美日韩在线视频| 欧美一级视频| 久久综合国产精品台湾中文娱乐网| 一区免费视频| 日韩一级裸体免费视频| 欧美人在线视频| 中文av字幕一区| 欧美一区二区免费| 黑人巨大精品欧美一区二区| 亚洲福利国产精品| 欧美极品色图| av成人免费观看| 亚洲欧美一区二区三区久久| 国产一区二区三区高清在线观看| 久久精品午夜| 欧美激情五月| 亚洲黄色一区| 亚洲欧美成人精品| 国产一区亚洲一区| 亚洲欧洲视频| 欧美日韩在线视频一区| 亚洲免费视频中文字幕| 久久久综合网| 亚洲美女啪啪| 欧美在线免费一级片| 在线看欧美日韩| 亚洲一区二区伦理| 国产精品五区| 亚洲欧洲日韩在线| 国产精品福利在线观看网址| 久久精品国产精品亚洲精品| 欧美激情一区| 亚洲综合精品一区二区| 蜜臀va亚洲va欧美va天堂| 亚洲理伦电影| 久久国产精品久久久久久| 最新日韩在线| 久久精品国产99精品国产亚洲性色| 在线日韩中文字幕| 亚洲欧美欧美一区二区三区| 激情欧美一区二区三区| 亚洲一区二区在线视频| 狠狠久久亚洲欧美专区| 亚洲一级在线观看| 精品动漫3d一区二区三区免费| av72成人在线| 国产一区二区三区不卡在线观看| 一区二区av在线| 国产一区二区三区在线观看视频 | 久久精品国产77777蜜臀| 欧美理论电影网| 午夜精品久久久久久久蜜桃app | 美女久久一区| 亚洲一区二区动漫| 蜜臀av在线播放一区二区三区| 亚洲视频一区在线| 欧美成人一区二免费视频软件| 亚洲一区不卡| 欧美激情视频免费观看| 香蕉久久国产| 欧美无乱码久久久免费午夜一区| 亚洲国产精品综合| 国产美女精品人人做人人爽| 日韩一级免费| 亚洲高清视频一区| 久久国产色av| 亚洲自拍另类| 欧美日韩在线播放三区四区|