內容簡介
進入嵌入式係統開發的世界
無論是iPad、Surface平闆電腦、iPhone還是任天堂的DS(雙屏遊戲機),ARM微處理器技術都能支持它們運行。這些基於ARM的處理器僅用極少的能耗就提供瞭強有力的數值計算能力,這使得它們非常適用於移動設備。本指南將引導你進入嵌入式ARM開發的世界, 並指導你研究不同的係統常見的ARM處理器。本書探討瞭嵌入式ARM開發的基礎,包括處理器的概述、處理器使用的編程語言和很多程序設計示例。通過一步一步的詳細講解,你很快就能創建自己的第1個嵌入式應用程序。
主要內容
◆ 通過清晰地解釋不同係統常見的ARM處理器,讓你輕鬆進入嵌入式ARM開發的世界
◆ 研究嵌入式ARM係統開發所需的工具,包括開發闆、軟件和參考資料
◆ 讓你快速熟悉匯編語言以便能開始低級係統編程和調試
◆ 展示如何進行優化以確保從大多數ARM處理器中獲得快速的代碼
前言/序言
前 言
在嵌入式係統的領域內,不藉助ARM CPU難以長期工作。ARM CPU因其較低的耗電量成為理想的移動嵌入式係統。自2012年以來,幾乎所有PDA和智能手機都使用瞭ARM CPU,其占據瞭32位嵌入式係統75%和嵌入式RISC係統的90%的份額。2005年,售齣的10億多部手機中98%使用至少一個ARM處理器。ARM處理器使用在手機、平闆計算機、MP3播放器、手持遊戲機、計算器,甚至計算機外圍設備,如藍牙芯片和硬盤驅動器中。
每兩個月都有超過10億的ARM處理器被送到使用者手中。令人驚訝的是,ARM並非作為處理器而是作為設計內核被使用。ARM的閤作夥伴們使用這些設計作為基礎,添加自己的外部設備、外圍設備,或修改ARM的原有速度和功耗功率,從而製成適閤自己的處理器。通過與製造商閤作,ARM創造瞭一個巨大的生態係統。結果是誕生瞭一係列非凡的處理器,可用於所有類型的設備。使用共同的架構,開發人員能夠輕鬆地切換各個處理器。
ARM處理器不是隻擁有有限的微型處理器性能。從用於最小係統的微控製器設備到運用64位處理器的服務器都可運用ARM處理器。
本書介紹嵌入式ARM係統,如何啓動並運行該係統,如何在該平颱上進行開發以及在此巨大的生態係統中可運用的設備。
本書適用對象
本書主要麵嚮初入嵌入式領域的開發人員。對大多數例子來講,需要基本瞭解C語言,但不需要掌握匯編語言的知識。
該書也便於開發人員更好地掌握處理器的內部構件和深入理解內核工作。
本書涵蓋內容
本書涵蓋瞭ARM處理器技術的高級內容,著重關注運用於Cortex-A、Cortex-R和Cortex-M設備的ARMv7架構。如果使用瞭Cortex係列處理器,你會感覺運用自如。但如果使用ARM經典內核,你還可以掌握架構和平颱之間的區彆。
本書結構安排
本書為不具備ARM處理器使用經驗的讀者提供盡可能豐富的信息。要理解ARM哲學,有必要瞭解ARM的起源和産生過程。本書涵蓋瞭嵌入式項目的所有方麵:理解處理器和擴展處理器,理解匯編程序,用更常見的C語言生成第一個程序,並且繼續進行調試和優化。
第1章“ARM發展史”,概述瞭ARM的傳奇曆史和起源,以及發展現狀。
第2章“ARM嵌入式係統”,介紹瞭何為嵌入式係統,講述瞭嵌入式係統的優勢。
第3章“ARM架構”,列舉瞭ARM處理器的組成元件及其有效的使用方法。
第4章“ARM匯編語言”,介紹瞭ARM匯編語言,並解釋瞭理解匯編語言的重要性。
第5章“ARM 入門”,展示一些模擬器和真實芯片來編寫程序,不僅有ARM處理器啓動而且包括更復雜程序應用基礎的編程。本章還列舉瞭一些真實世界的場景項目。
第6章“Thumb指令集”,介紹瞭Thumb模式和Thumb-2擴展。Cortex-M處理器僅用於Thumb模式,但在代碼密度要求高的地方Thumb可用於每一個現代處理器。
第7章“匯編指令”,列舉瞭ARM統一匯編語言中的一係列匯編指令。用淺顯易懂的程序介紹瞭這一係列匯編指令的用法。
第8章“NEON”,介紹瞭NEON,ARM先進的單指令多數據處理器,並展示瞭如何運用它來加速數學密集的例程。
第9章“調試”,通過列舉真實案例描述瞭何為調試、調試程序所需要的以及調試的成效。
第10章“編寫優化C程序”,描述瞭應用程序的最終部分—— 優化。通過簡單案例,可以學習如何編寫優化代碼,並瞭解處理器內部實施進一步的優化的過程。
附錄A“術語”,解釋瞭使用嵌入式係統(具體指ARM嵌入式係統)工作時遇到的詞匯和術語。
附錄 B“ARM架構版本”,列舉瞭不同的ARM架構並解釋瞭每一個版本架構的技術優點,以及處理器所屬的架構。
附錄 C“ARM內核版本”,詳細介紹ARM內核,介紹每個處理器的變化。重點討論瞭始於ARM6 的每個處理器。引入更多細節介紹現代的Cortex-級處理器。
附錄 D“NEON內部函數和指令”,列舉齣可用於ARM NEON引擎的不同指令,同時使用C語言介紹瞭用於優化NEON計算的內部函數執行方式。
附錄 E“匯編語言指令”,列舉並詳細描述瞭運用於UAL的不同匯編指令,同時列舉瞭運用於不同Cortex-M處理器的一係列Thumb指令。
使用本書的必要條件
大多數人猜想嵌入式係統被昂貴的電子設備和高價的軟件授權所包圍,但事實是僅用很少的投入就可以開始嵌入式開發。首先,需要一颱開發計算機。本書給齣瞭Linux係統下的例子,也可以在Windows和MacOS係統下使用。本書提供瞭免費版權的編譯器,可以使用免費的ARM模擬器來編寫第一個程序,但是稍後使用一個小型的ARM係統將是明智的:不論是來自於一個製造商(指定兩個)的評估版,還是使用廉價的小型計算機,如Raspberry Pi(樹莓派)或者Arduino Due。
要運行書中的示例,需要具備以下條件:
● Linux 係統開發計算機
● Mentor 圖形編譯器套件
● Atmel SAM D20 Xplained Pro evaluation board
● Silicon Lab’s STK3200 and STK3800 evaluation boards
● Raspberry Pi
示例的源代碼可以從Wrox網站上下載,網址如下:
www.wiley.com/go/profembeddedarmdev
約定
為瞭有助於你從書中獲得最大收獲並能跟蹤正在發生什麼,全書使用瞭一些約定。
源代碼
使用本書中的示例時,你既可以選擇手動輸入所有的代碼也可以使用隨書的源代碼文件。本書使用的所有源代碼可以在www.wrox.com上下載。針對本書,代碼下載位於如下頁麵Download Code選項卡:
www.wrox.com/go/profembeddedarmdev
也可以通過ISBN(本書的ISBN為978-1-118-78894-3)在www.wrox.com和http://www.tupwk.com.cn/downpage上搜索本書來找到代碼。並且當前所有Wrox圖書完整的代碼列錶可以在www.wrox.com/dynamic/books/download.aspx。在第5章的開頭,你會發現該章的主要代碼文件的列錶。在這一章,也會發現引用的可供下載的代碼文件的名稱。
www.wrox.com 網頁上的大多數代碼被壓縮成ZIP、RAR格式,或者適閤開發平颱類似的格式。
下載代碼後,用你最喜歡的壓縮工具解壓縮。另外,你可以去Wrox 代碼主下載頁麵www.wrox.com/dynamic/books/download.aspx上去看本書和其他所有Wrox書適用的代碼。
勘誤錶
我們竭盡全力確保本書在文字或代碼中沒有錯誤。然而,人無完人,而錯誤時有發生。如果你在我們任一本書中發現錯誤,如拼寫錯誤或者代碼片段的錯誤,我們將會感激你的反饋。通過發送勘誤錶,你可能會節省其他讀者數小時的睏惑,與此同時,你也可以幫助我們提供更高質量的信息。
請到網址www.wrox.com/go/profembeddedarmdev找到本書的勘誤錶頁麵,然後單擊勘誤錶鏈接。在這個頁麵你能看到由Wrox 編輯為本書提齣的所有勘誤。如果在本書勘誤錶頁麵不能找到“你發現的”錯誤,登錄www.wrox.com/contact/techsupport.shtml,在該頁麵完成錶單發送你所找到的錯誤給我們。我們會核對信息,如果閤適,留言到勘誤錶頁麵並在隨後的圖書編輯中解決。
p2p.wrox.com
作者和同行可以登錄http://p2p.wrox.com加入 P2P論壇討論。論壇是一個基於Web的係統,便於你發布關於Wrox圖書和相關技術的消息並且與其他讀者和技術用戶交流。論壇提供瞭電子郵件訂閱功能。Wrox作者、編輯或其他行業專傢還有你的讀者也在這些論壇上。
在http://p2p.wrox.com上,不僅當你閱讀本書時,而且在你開發自己的應用程序時,會發現許多不同的對你有幫助的論壇。要想加入論壇,隻需按照如下步驟:
(1) 訪問http://p2p.wrox.com並單擊Register鏈接。
(2) 閱讀使用條款並單擊Agree。
(3) 完成所需要的信息填寫,以及任何你要提供的可選信息並單擊Submit。
(4) 你會收到一封電子郵件,郵件描述如何驗證你的賬戶和完成加入過程。
加入後,可以發布新消息和迴復其他用戶發布的消息。你可以閱讀網頁上的任何時間的消息。如果你想從一個特定的論壇獲取新的消息並發送電子郵件給你,在論壇名單中單擊訂閱中的本論壇圖標。
關於如何使用Wrox P2P論壇獲取更多信息,一定要讀關於P2P論壇軟件是如何工作的常見問題的解答,以及許多針對P2P和Wrox圖書的常見問題。要想閱讀FAQ,請單擊任何P2P頁麵的FAQ鏈接。
嵌入式ARM開發實戰 下載 mobi epub pdf txt 電子書