32位ARM嵌入式系統開發技術

32位ARM嵌入式系統開發技術

32位ARM嵌入式系統開發技術,是趙剛所編著的一部圖書,由電子工業出版社出版。該書基於$3C45108處理器,以軟、硬體開發流程為主線,詳細介紹嵌入式系統的開發技術,面向實際套用,不僅提供了大量的開發流程框圖和電路原理圖,而且每章均配有習題、參考答案和配套實驗內容。

基本信息

內容簡介

32位ARM嵌入式系統開發技術

全書共分為6章,主要內容包括:32位嵌入式系統的基本概念、構成、套用和一般開發流程;ARM7TDMl處理器的核心架構、指令系統、混合語言編程,開發工具軟體ADS的使用方法;$3C45108處理器晶片的內部結構、嵌入式系統電路設計、板級測試,開發流程細節與設計要點:無作業系統和有作業系統情況下的嵌入式軟體開發流程,程式的編寫、調試和固化等;嵌入式Linux下設備驅動程式的編寫方法。

《32位ARM嵌入式系統開發技術》內容歷經三年的修改和教學實踐檢驗,適用於電子信息類高年級本科生和研究生的相關專業課程,也可作為企、事業在職技術人員嵌入式系統培訓的教材和參考書。

編輯推薦

《32位ARM嵌入式系統開發技術》特色

清晰的開發流程圖——軟硬兼施,展現ARM系統的開發脈絡

豐富的實驗與指導——步步為營,攻克ARM學習的難點

自己動手搭建平台——身體力行,體驗ARM開發的成就感

相關圖書

ARM原理與嵌入式套用——基於LPC2400系列處理器和IAR開發環境桂電一豐寶聯合實驗室

嵌入式系統及其開發套用沈連豐

嵌入式32位微處理器系統設計與套用何加銘

嵌入式系統——使用68HC12和HCS12的設計與套用鄭扣根

嵌入式系統——基於SEP3203微處理器的套用開發時龍興

嵌入式系統開發基礎——基於ARM微處理器和Linux作業系統滕英

嵌入式軟體開發及C語言實現——MiniGUl剖析魏永明

嵌入式系統張大波

目錄

第1章 嵌入式系統概論

1.1 32位嵌入式系統簡介

1.2 32位嵌入式處理器

1.2.1 ARM嵌入式處理器

1.2.2 其他類型嵌入式處理器

1.3 嵌入式作業系統

1.4 嵌入式系統開發流程

1.5 習題

第2章 ARM7TDMl處理器編程基礎

2.1 ARM7TDMl核心架構

2.1.1 ARMTTDMl核心特點

2.1.2 處理器工作狀態

2.1.3 處理器數據存儲格式

2.1.4 處理器數據類型和長度

2.1.5 處理器模式

2.1.6 暫存器組織

2.1.7 程式狀態暫存器

2.1.8異常模式

2.1.9 存儲管理單元(MMU)

2.2 ARM指令系統

2.2.1 ARM指令定址方式

2.2.2 ARM指令集

2.3 嵌入式系統程式設計

2.3.1 偽指令介紹

2.3.2 彙編語言編程

2.3.3 C語言編程

2.3.4 混合語言編程

2.4 ARM嵌入式開發工具ADS

2.4.1 ADS概述

2.4.2 ADS開發流程

2.4.3 ADS開發實例

2.5 本章實驗

2.5.1 實驗一ADS使用與彙編指令實驗

2.5.2 實驗二彙編語言和C語言的混合編程

2.6 習題

第3章 嵌入式系統硬體開發

3.1 S3C45108處理器概述

3.1.1 S3C45108晶片特點

3.1.2 S3C45108引腳描述

3.2 實驗板硬體系統開發

3.2.1 實驗板硬體系統概述

3.2.2 電源電路

3.2.3 復位電路

3.2.4 晶振電路

3.2.5 處理器電路

3.2.6 JTAG調試電路

3.2.7 SDRAM存儲器電路

3.2.8 Flash存儲器電路

3.2.9 輸入/輸出電路

3.2.10 RS-232串口通信電路

3.2.11 乙太網接口電路

3.2.12 字元型LCD顯示電路

3.2.13 步進電動機電路

3.3 硬體系統測試

3.3.1 電源、復位、晶振電路測試

3.3.2 處理器與JTAG接口電路測試

3.3.3 SDRAM存儲器測試

3.3.4 Flash存儲器測試

3.4 硬體系統開發流程與要點

3.4.1 硬體開發流程

3.4.2 硬體設計要點

3.5 本章實驗

3.5.1 實驗三LED控制混合編程

3.5.2 實驗四UART串口通信混合編程

3.6 習題

第4章 無作業系統的

套用軟體開發

4.1 軟體開發數據流向圖

4.2 無作業系統的軟體運行模式

4.3 軟體系統開發概述

4.4 嵌入式系統引導程式

4.4.1 BootLoader概述

4.4.2s3C4510B編址空間和存儲器映射

4.4.3 BootLoader啟動過程分析

4.5 無作業系統下單任務應用程式開發

4.5.1 應用程式調試階段

4.5.2 應用程式調試完成階段

4.6 固化程式到FIash存儲器

4.6.1 使用H.JTAG燒寫Flash

4.6.2 編寫Flash燒寫程式燒寫Flash

4.7 本章實驗

4.7.1 實驗五燒寫添加L,ED應用程式後的BootLoader到Flash

4.7.2 實驗六通過GPIO控制步進電動機實驗

4.7.3 實驗七通過匯流排和中斷控制步進電動機

4.8 習題

第5章 有作業系統的嵌入式系統軟體開發

5.1 有作業系統的嵌入式系統軟體開發概述

5.2 有作業系統的軟體運行模式

5.3 uClinux作業系統概述

5.4 建立開發環境

5.4.1 建立主機IJnux平台

5.4.2 開發中常用Linux命令與vi編輯器

5.4.3 安裝交叉編譯工具

5.5 uCHnux裁剪與編譯

5.5.1 uClinux核心檔案結構

5.5.2 Shell簡介

5.5.3 使用make和Makefile

5.5.4 裁剪uClinux核心並編譯生成映像檔案

5.6 作業系統下多任務應用程式開發

5.6.1 編寫串口、LED應用程式

5.6.2 添加應用程式至核心

5.6.3 作業系統下應用程式的調試

5.7 固化作業系統到Flash存儲器

5.8 本章實驗

5.8.1 實驗八Linux使用

5.8.2 實驗九uClinux核心編譯與下載

5.8.3 實驗十uClinux多任務編程與自啟動

5.9 習題

第6章 嵌入式Linux設備驅動

6.1 驅動程式開發概述

6.1.1 驅動程式原理

6.1.2 驅動程式開發流程

6.2 驅動程式運行模式

6.3 驅動程式編寫模板與實現方式

6.3.1 驅動程式編寫模板

6.3.2 驅動程式實現方式

6.4 驅動程式開發實例

6.4.1 設備檔案分類和設備號

6.4.2 用戶空間和核心空間

6.4.3 設備驅動程式的file.0perations結構

6.4.4 設備驅動程式常用函式和使用方法

6.4.5 編寫LED驅動程式

6.4.6 添加u,E-D驅動程式至作業系統核心

6.4.7 驅動程式調試方法

6.5 本章 實驗

6.5.1 實驗十一編寫LCD驅動程式

6.5.2 實驗十二編寫步進電動機驅動程式(連線到GPIO口)

6.5.3 實驗十三編寫步進電動機驅動程式(連線到匯流排和中斷輸入口)

6.6 習題

附錄A ARM指令速查表

附錄B 習題參考答案

B.1

第1章 習題答案

B.2

第2章 習題答案

B.3

第3章 習題答案

B.4

第4章 習題答案

B.5

第5章 習題答案

B.6

第6章 習題答案

附錄CU.Boot移植

C.1 幾種通用BootLoader簡介

C.1.1Redboot

C.1.2 Blob

C.2 U-Boot簡介

C.2.1 U-Boot概述

C.2.2 U-Boot命令

C.2.3 U-Boot重要代碼

C.2.4 U-Boot編譯過程

C.2.5 U-Boot移植

參考文獻

……

序言

隨著信息技術的迅猛發展,21世紀以來,人類已進入後PC時代。32位嵌入式系統作為以套用為核心、軟硬體可裁剪,並能滿足實際系統對功能、可靠性、成本、體積和功耗有特殊要求的專用計算機系統,已被廣泛套用於通信、雷達、測試、工業控制、消費電子等眾多領域,正進入千家萬戶,成為後PC時代的主力軍。ARM公司設計的基於RISC結構的32位微處理器核心在低功耗、低成本的嵌入式套用領域占據市場主導地位,鑒於這種現狀,國內許多院校已開設基於ARM 32位微處理器的嵌入式系統相關課程,嵌入式系統開發技術正成為高校教學的熱點。

嵌入式系統開發的實質就是完成一台專用計算機系統的開發,嵌入式系統的兩大特點是軟、硬體密切聯繫和以套用為中心。因此,教學內容中涉及較多的軟、硬體知識與技巧,內容龐雜,且教學過程具有較強的實踐性。在教學實施中,必然會產生課程內容與學時的矛盾,以及教學目標與培養效果的矛盾。目前,在國內高校所開展的嵌入式系統課程教學中,普遍存在兩點不足:(1)部分高校開設的嵌入式課程僅僅局限於理論學習和軟體開發,忽視了嵌入式系統的硬體開發和動手實踐,或者暫時不具備開展基於具體硬體的嵌入式系統實驗的條件;(2)有相當多高校是藉助於市售的嵌入式系統實驗箱來完成課程教學的,而在這些實驗箱中,由於添加了過多的外圍器件,學生們望而生畏,並且價格昂貴;同時,廠商禁止了大量底層內容,讓學生們停留在上層軟體開發,無法通過實踐來學習、掌握一個完整的嵌入式系統開發流程。這就導致許多走上工作崗位的高校畢業生,不能自行設計和實現嵌入式系統硬體平台,即使完成了硬體電路,也時常無法將應用程式載入上去,更談不上讓系統上電後能自動運行。

在開發技術上,32位ARM嵌入式系統與過去常見的8位/16位單片機存在較大的差異。專用計算機系統的性質決定了32位嵌入式系統教學重點更側重於硬體,其中包括晶片選型、外圍電路設計、PCB設計、板級測試、引導程式編寫、作業系統裁剪、驅動程式編寫等內容。因此,作為一門技術課程的教學,僅僅對學生進行應用程式的編寫訓練是不夠的。而嵌入式系統中的應用程式往往採用C/C++語言來編寫,與通用計算機上的編程方法差異不大。

正因如此,本書始終以嵌入式系統的軟、硬體開發流程為主線,清晰地展現出嵌入式系統開發涉及的各種技術和細節,並採用流程框圖的形式,直觀形象地展現在讀者面前,給人以耳目一新的感覺。本書在正式出版前,作為大學講義,已在四川大學試用三年,取得了良好的教學效果。在教學中,要求學生利用課餘時間,按2-3人/組的分組方式,在寢室和學校電子實驗室中,與課程同步地獨立完成硬體板卡的設計、裝焊與調測工作,以及後續的引導程式、作業系統程式、驅動程式、應用程式開發工作;並對學生自己所製作完成的嵌入式系統實驗板進行評定打分,計入期末綜合成績。這種新穎的教學模式極大地調動了學生的學習積極性和主動性,他們在教學過程中變得主動,並且每次上課前心中充滿了疑問,而這些疑問在課程中得到了解答。教學實踐表明,“興趣是最好的老師”,在實際動手過程中,學生將一次次經歷發現問題的困惑和解決問題的喜悅。使學生帶著問題去思索、學習、研討、實踐,是學好該課程的一條極其有效的途徑。

相關詞條

相關搜尋

熱門詞條

聯絡我們