官术网_书友最值得收藏!

前言

ARM公司目前已成為全球最重要的科技公司之一,究其原因,一方面,它低功耗的技術(shù)路線與移動互聯(lián)時代的需求高度契合,另一方面源于其主導的龐大生態(tài)圈。在這個商業(yè)生態(tài)系統(tǒng)里,ARM公司并不直接從事芯片的設計和制造,不出售任何處理器。ARM公司有超過1000家授權(quán)合作伙伴,涉及領(lǐng)域從移動端到PC端、服務器端,再到汽車端、IoT端。基于ARM架構(gòu)的設備在智能手機、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的市場份額超過 90%,同時憑借其低功耗、高性價比的優(yōu)勢,在計算機與服務器領(lǐng)域增長勢頭強勁。預計到2035年,將有超過1萬億臺智能電子設備實現(xiàn)互聯(lián),從各種傳感器、手機、家電、汽車,到通信基站、云服務器,可以說,基于ARM架構(gòu)的芯片無處不在。

基于ARM架構(gòu)開發(fā)產(chǎn)品的相關(guān)工作非常熱門,但是與這個領(lǐng)域相關(guān)的學習內(nèi)容跨度很大,涉及軟件、硬件、算法和操作系統(tǒng)等。對初學者來說,入門嵌入式開發(fā)很難,往往不知道從何入手,很容易就迷失了方向,甚至半途而廢,主要原因是很多初學者不清楚學習該領(lǐng)域知識的方法及路徑。本書為初學者提供了具體方法和實踐指導,希望對有志從事嵌入式開發(fā)的人員有所幫助。

本書具有以下特點。

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

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

三是提供配套電子資源。本書的配套資源包含安裝工具、源程序、PPT課件等,讀者可到公眾號“一口Linux”后臺回復關(guān)鍵字“ARM”獲取。

在學習本書之前,讀者需要熟悉C語言編程并會使用一些常用的Linux命令。在學習本書的過程中,建議讀者帶著以下問題來閱讀本書。讀者在帶著問題學習本書時,能更加深入理解相關(guān)內(nèi)容,靈活進行項目開發(fā)。

(1) ARM有哪些工作模式?

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

(3)系統(tǒng)上電后,執(zhí)行的第一條指令是什么?

(4)在C語言環(huán)境下調(diào)用函數(shù)時,參數(shù)是如何傳遞的?

(5)當實現(xiàn)同樣的功能時,為什么有些C語言程序的執(zhí)行效率比匯編語言的高?

(6)異常源有哪些?

(7)什么是異常向量表?

(8)如何使能關(guān)閉中斷?

(9)中斷發(fā)生后CPU是如何處理的?

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

(11) U-Boot的啟動流程是什么?如何實現(xiàn)程序自搬移?

(12) U-Boot是如何實現(xiàn)一個簡單的網(wǎng)絡協(xié)議棧的?

本書能夠順利出版首先要感謝公眾號“裸機思維”的創(chuàng)始人—王卓然,他提供了部分章節(jié)的技術(shù)支持,還要感謝華清遠見的硬件平臺提供了高質(zhì)量的技術(shù)資料。由于編者編寫時間緊迫,加之水平所限,書中不妥之處在所難免,懇請讀者批評指正。對于本書提出批評和建議,可以在公眾號“一口Linux”下留言,歡迎交流。

彭丹、周海濤于南京

2022年11月

主站蜘蛛池模板: 新干县| 新宁县| 南漳县| 桦南县| 独山县| 保靖县| 和龙市| 同仁县| 陵川县| 安远县| 来宾市| 江川县| 陕西省| 赣榆县| 登封市| 宜章县| 紫阳县| 称多县| 名山县| 长寿区| 贡觉县| 仙居县| 英吉沙县| 洛浦县| 井陉县| 科尔| 五河县| 买车| 社会| 花莲县| 蒲城县| 南岸区| 虹口区| 石景山区| 凭祥市| 顺义区| 辉县市| 黄大仙区| 苏州市| 荣昌县| 满洲里市|