一、課程性質與設置目的
(一)課程性質與特點
ARM結構與程序開發入門是一門介紹ARM處理器原理及接口驅動程序開發的課程。在內容上涉及嵌入式系統的基本概念、介紹ARM處理器模式及其基本編程模型、ARM指令系統、ARM匯編語言程序設計、C/C++混合編程、ARM/Thumb混合編程、ARM存儲系統、異常中斷處理、ARM編譯器和連接器、ARM接口技術、ARM體系中的調試方法等。從而為后續更高階課程的學習打下基礎。
(二)課程設置目的與基本要求
本課程作為高等教育自學考試嵌入式技術(??疲I的必修課,旨在培養學生掌握ARM結構和程序開發的基本知識,為他們將來從事ARM嵌入式系統的開發提供基礎?;疽笕缦拢?/P>
1.了解嵌入式系統定義,處理器系統結構,嵌入式開發流程;了解ARM指令集,掌握ARM匯編程序設計,ADS開發工具,C與匯編程序混合編程;掌握ADS映像文件結構及加載技術;掌握ARM異常中斷處理及程序設計;掌握嵌入式系統啟動代碼分析;掌握嵌入式系統接口及驅動程序開發;熟練使用式的開發工具和開發平臺
2.能夠編寫簡章的ARM匯編程序,能夠閱讀的較復雜的ARM匯編程序;能夠編寫簡章的無操作系統驅動程序,能夠讀懂較復雜的驅動程序;能夠熟練的使用實驗室的ARM實驗平臺,并能從事簡單的嵌入式ARM程序開發;能夠編寫簡單的嵌入式系統驅動程序;在老師指導下,能夠完成小型的的嵌入式項目開發。
(三)本課程與相關課程的聯系
本課程共分為十一章,分別是ARM概述及其基本編程模型、ARM指令系統、ARM匯編語言程序設計、ARM存儲系統、異常中斷處理、嵌入式C/C++語言程序設計基礎及混合編程、ARM程序和Thumb程序混合使用、ARMC/C++編譯器、ARM連接器、ARM接口技術。其中:
1.重點章包括:ARM指令系統、ARM匯編語言程序設計、ARM存儲系統、異常中斷處理、嵌入式C/C++語言程序設計基礎及混合編程。
2.次重點章包括:ARM程序和Thumb程序混合使用、ARMC/C++編譯器、ARM連接器。
3.一般章包括:ARM概述及其基本編程模型、ARM接口技術。
二、課程內容與考核目標
第一章ARM概述及其基本編程模型
一、學習目的與要求
本章的學習目的主要是對ARM技術進行了簡單的介紹,要了解ARM技術的特點、處理結構和模式,在此基礎上進一步理解ARM的兩種工作狀態和ARM寄存器,以及ARM體系中的異常中斷和存儲系統。
二、課程內容
1.1ARM技術簡介及其特點
1.2ARM體系結構的版本及命名方法
1.3ARM處理器的結構
1.4ARM處理器模式
1.5ARM的兩種工作狀態
1.6ARM寄存器
1.7ARM體系的異常中斷
1.8ARM體系中存儲系統
1.9ARM接口技術
1.10小結
三、考核知識點
1.ARM處理器的特點
2.ARM處理器的結構
3.ARM處理器的工作模式
4.ARM異常中斷
四、考核要求
1.ARM處理器的特點
識記:ARM處理器的特點
2.ARM處理器的結構
領會:ARM體系結構、ARM存儲結構、ARMI/O結構
3.ARM處理器的工作模式
識記:ARM7種工作模式
領會:ARM處理器7種工作模式各自的功能以及ARM的兩種工作狀態
4.ARM異常中斷
識記:ARM體系結構中異常中斷的名稱和含義
領會:ARM處理器對異常中斷的響應過程
第二章ARM指令系統
一、學習目的與要求
本章主要介紹了ARM指令系統中ARM指令的尋址方式、ARM指令集以及Thumb指令,其中Thumb指令只是做了簡單介紹。這些內容都是學習ARM編程基礎中的基礎,希望讀者能夠熟練掌握。
二、課程內容
2.1ARM指令介紹
2.2ARM指令尋址方式
2.3ARM指令集
2.4Thumb指令介紹
2.5小結
三、考核知識點
1.ARM尋址方式
2.ARM各類指令的語法格式
四、考核要求
1.ARM尋址方式
識記:ARM指令的分類
綜合應用:ARM指令的尋址方式
2.ARM各類指令的語法格式
領會:ARM6各類指令的語法格式及其功能特點
第三章ARM匯編語言程序
一、學習目的與要求
本章講解了ARM匯編語言程序設計的基本方法,對ARM匯編語言中的偽操作、偽指令、符號、表達式以及匯編語言程序結構、子程序調用做了系統詳細的介紹,通過實訓示例程序幫助讀者更好地掌握ARM匯編程序的設計,理解ARM匯編語言的設計方法。
二、課程內容
3.1 ARM匯編語言語句格式
3.2 ARM匯編語言偽操作
3.3 ARM匯編語言偽指令
3.4 ARM匯編語言中的符號
3.5 ARM匯編語言中的表達式
3.6 ARM匯編語言程序結構
3.7 匯編語言子程序調用
3.8 本章實訓
3.9 小結
三、考核知識點
1.ARM語言語句格式
2.ARM匯編偽操作和偽指令的基本使用
3.簡單的ARM匯編程序的編寫
四、考核要求
1.ARM語言語句格式
識記:ARM匯編語言語句格式
2.ARM匯編偽操作和偽指令的基本使用
識記:偽操作的定義和作用
領會:基本ARM匯編偽操作和偽指令的使用
3.簡單的ARM匯編程序的編寫
簡單應用:匯編語言子程序調用方法
綜合應用:編寫簡單的ARM匯編語言程序
第四章ARM存儲系統
一、學習目的與要求
本章介紹了ARM存儲系統的一些基本概念,詳細介紹了用于存儲管理的系統控制協處理器CP15,逐一介紹CP15中各個寄存器及訪問CP15的指令。存儲管理單元MMU是本章的重點,如何使能/禁止MMU、MMU中的地址變換、存儲訪問權限、快表的操作是讀者需要掌握的內容。
二、課程內容
4.1 ARM存儲系統概述
4.2 ARM中用于存儲管理的系統控制協處理器CP15
4.3 存儲器管理單元(MMU)
4.4 高速緩沖存儲器和寫緩沖區
4.5 快速上下文切換技術
4.6 與存儲系統相關的程序設計指南
4.7 小結
三、考核知識點
1.CP15中的寄存器及訪問指令
2.MMU的管理
3.Cache的工作原理
四、考核要求
1.CP15中的寄存器及訪問指令
識記:CP15的定義和作用
領會:訪問CP15寄存器的指令和CP15中15個寄存器
2.MMU的管理
識記:MMU的作用
領會:如何使能/禁止MMU、MMU中的地址變化、存儲訪問權限、快表的操作
3.Cache的工作原理
領會:Cache的工作原理
第五章異常中斷處理
一、學習目的與要求
本章講述ARM體系中的異常處理機制,主要包括引發異常中斷的原因、異常中斷的種類以及各類異常的響應過程。要求對中斷向量表以及中斷向量處理過程能熟練掌握。掌握異常模式以及對異常處理中復位、FIQ和IRQ響應的過程,可以在很大程度上幫助我們理解ARM內核對異常處理的工作原理。
二、課程內容
5.1ARM中異常中斷處理概述
5.2進入和退出異常中斷的過程
5.3在應用程序中安裝異常中斷處理程序
5.4SWI異常中斷處理程序
5.5FIQ和IRQ異常中斷處理程序
5.6復位異常中斷處理程序
5.7未定義指令異常中斷
5.8指令預取中止異常中斷處理程序
5.9數據訪問中止異常中斷處理程序
5.10本章實訓
5.11小結
三、考核知識點
1.ARM體系中的異常處理機制
2.中斷向量表及中斷向量處理過程
3.異常模式及對異常中斷響應過程
4、簡單編寫ARM中斷程序
四、考核要求
1.ARM體系中的異常處理機制
識記:中斷的作用
領會:異常中斷引發的原因、異常中斷的種類以及各類異常的響應過程
2.中斷向量表及中斷向量處理過程
領會:中斷向量表以及中斷向量處理過程
3.異常模式及對異常中斷響應過程
領會:異常模式以及對異常處理中復位、FIQ和IRQ響應的過程
4.簡單編寫ARM中斷程序
綜合應用:用C語言和匯編語言實現中斷分發;簡單中斷程序編寫;軟中斷SWI指令的使用
第六章嵌入式C/C++語言程序設計基礎及混合編程
一、學習目的與要求
本章主要介紹嵌入式C/C++語言程序設計基礎及混合編程。在讀者已有的C/C++基礎上對C/C++語言基礎知識進行回顧,同時介紹了如何面對嵌入式應用進行C/C++語言程序設計以及如何進行嵌入式匯編程序、C程序以及C++程序的混合編程。
二、課程內容
6.1嵌入式C/C++語言程序設計基本語法介紹
6.2嵌入式C/C++語言程序設計技巧
6.3C/C++與匯編語言混合編程
6.4本章實訓
6.5小結
三、考核知識點
1.嵌入式C/C++程序編寫的簡單架構
2.內嵌匯編指令的用法
3.匯編程序、C程序以及C++程序的相互調用
四、考核要求
1.嵌入式C/C++程序編寫的簡單架構
簡單應用:嵌入式C/C++語言程序設計基本語法
2.內嵌匯編指令的用法
領會:內嵌匯編指令的用法
3.匯編程序、C程序以及C++程序的相互調用
綜合應用:C程序調用匯編程序、匯編程序調用C程序、C++程序調用C程序、匯編程序調用C++程序
第七章ARM程序和Thumb程序混合使用
一、學習目的與要求
本章首先介紹了ARM程序和Thumb程序的混合場合以及interwork的基本概念,然后介紹了在匯編環境和C/C++環境下如何利用用戶代碼來實現interwork,介紹了程序狀態切換代碼段veneers的概念,隨后介紹如何使用veneers來實現匯編程序間以及匯編程序與C/C++程序間的切斷。
二、課程內容
7.1概述
7.2在匯編語言程序中通過用戶代碼支持interwork
7.3在C/C++程序中實現interwork
7.4在匯編語言程序中通過連接器支持interwork
7.5本章實訓
7.6小結
三、考核知識點
1.C/C++程序在匯編程序中如何混合使用ARM和Thumb代碼
四、考核要求
1.C/C++程序在匯編程序中如何混合使用ARM和Thumb代碼
領會:ARM程序金額Thumb程序的比較
簡單應用:用C語言實現ARM主程序中調用Thumb子程序;用匯編語言實現混合使用ARM和Thumb分別為3個寄存器賦值的程序
綜合應用:編寫簡單的調用程序和被調用程序分別處于C/C++和匯編環境的程序
第八章ARMC/C++編譯器
一、學習目的與要求
本章綜合講述了ARM體系中C/C++編譯器的設置,對于編譯器類型選取,相關選項設置以及命令以及命令行命令須詳加注意學習。對于RAM支持的數據類型及預定義宏業做出了簡單介紹,編譯器設置是ARM程序設計的基礎前提,對于該部分要詳加掌握。
二、課程內容
8.1ARMC/C++編譯器概述
8.2ARM編譯器命令行格式
8.3ARM編譯器中的pragmas
8.4ARM編譯器特定的關鍵詞
8.5ARM編譯器支持的基本數據類型
8.6ARM編譯器中預定義宏
8.7ARM中C/C++運行時庫概述
8.8小結
三、考核知識點
1.ARM體系中C/C++編譯器的設置
2.ARM編譯器支持的基本數據類型
3.ARM編譯器中預定義宏
四、考核要求
1.ARM體系中C/C++編譯器的設置
識記:ARM編譯器的基本概念
領會:編譯器類型選取和相關選項設置
2.ARM編譯器支持的基本數據類型
領會:ARM編譯器支持的基本數據類型
3.ARM編譯器中預定義宏
領會:ARM編譯器中預定義宏以及有效場合
第九章ARM連接器
一、學習目的與要求
本章介紹了ARM連接器的設置問題。對于連接器的相關選項、生成符號、優化功能等給予了詳細介紹。ARM連接器就需要知道哪些信息來決定如何生成相應的映像文件。
二、課程內容
9.1ARM映像文件
9.2ARM連接器介紹
9.3ARM連接器生成的符號
9.4連接器的優化功能
9.5運行時庫的使用
9.6從一個映像文件中使用另一個映像文件中的符號
9.7隱藏或者重命名全局符號
9.8ARM連接器命令行選項
9.9使用scatter文件定義映像文件的地址映射
9.10小結
三、考核知識點
1.ARM連接器映像文件
2.從一個映像文件中使用另一個映像文件中的符號
四、考核要求
1.ARM連接器映像文件
識記:ARM映像文件的概念和組成部分
2.從一個映像文件中使用另一個映像文件中的符號
領會:連接器的相關選項、生成符號、優化功能
第十章ARM接口技術
一、學習目的與要求
本章首先講解了嵌入式系統常用的外部設備,包括鍵盤接口和顯示接口中的LCD接口,接著介紹了嵌入式系統與外圍設備的串口通信,然后詳細描述了AD/DA轉換器,系統地講解了常用嵌入式總線接口技術,其中包括IIS總線接口、IIC總線和CAN總線接口,對其他接口也做了相關介紹。
二、課程內容
10.1鍵盤、顯示接口
10.2串口
10.3D/A、A/D轉換
10.4總線接口
10.5RTC實時時鐘
10.6其他接口
10.7小結
三、考核知識點
1、嵌入式系統常用的外部設備
2、AD/DA轉換器
3.常用的嵌入式總線接口技術
四、考核要求
1.嵌入式系統常用的外部設備
識記:嵌入式系統常用的外部設備
2.AD/DA轉換器
領會:D/A、A/D轉換
3.常用的嵌入式總線接口技術
領會:IIS總線接口、IIC總線和CAN總線接口技術
第十一章ARM體系中的調試方法
一、學習目的與要求
本章詳細講述了ARM體系結構中的各類基本的調試方法。先后介紹JTAG調試技術、RVDS以及CodeWarrior,以及相應調試方案。最后介紹了基于AXD的調試技術和實訓。
二、課程內容
11.1ARM體系中調試系統概述
11.2基于JTAG的調試系統
11.3基于RVD的調試系統
11.4CodeWarrior使用介紹
11.5本章實訓
11.6小結
三、考核知識點
1、ARM體系結構中各類基本的調試方法
四、考核要求
1、ARM體系結構中各類基本的調試方法
領會:調試的作用、嵌入式系統調試流程、ARM調試種類
簡單應用:ARM程序調試
三、有關說明與實施要求
(一)關于課程內容與考核目標的說明
《ARM結構與程序開發入門》課程自學考試大綱明確了《ARM結構與程序開發入門》課程學習的內容以及深廣度,規定了該課程自學考試的范圍和標準,是進行學習和考核的依據。該課程中各章的內容均由若干知識點組成,在自學考試中成為考核知識點。
本課程的考核目標主要是考核考生對《ARM結構與程序開發入門》課程內容的掌握程度,培養學生掌握ARM體系結構,ARM指令集、以及在ARM體系下的嵌入式編程,以及他們在工作中應用這些理論與方法的能力,處理和解決工作實際問題的能力。
《ARM結構與程序開發入門》課程自學考試大綱要求考生學習和掌握的知識點內容都作為考核的內容。由于各知識點在課程中的地位、作用以及知識自身的特點不同,自學考試將對各知識點分別按四個認知(或叫能力)層次確定其考核要求。四個能力層次從低到高依次是:識記;領會;簡單應用;綜合應用。關于這些用語、概念的解釋如下:
識記:能正確認識和表述科學事實、原理、術語和規律,知道該課程的基礎知識,并能進行正確的選擇和判斷。
領會:能將所學知識加以解釋、歸納,能領悟某一概念或原理與其他概念或原理之間的聯系,理解其引申意義,并能做出正確的表述和解釋。
簡單應用:能用所學的概念、原理、方法正確分析和解決較簡單問題,具有分析和解決一般問題的能力。
綜合應用:能靈活運用所學過的知識,分析和解決比較復雜的問題,具有一定解決實際問題的能力。
(二)關于自考教材
《ARM結構與程序開發入門》肖德貴、劉豪等編著,人民郵電出版社出版,2010年9月第1版。
(三)自學方法指導
1.本課程的學習者應根據本大綱規定,認真閱讀指定教材,理解教材中的基本原理,熟悉基本分析方法。為有效地指導個人自學和社會助學,本大綱已指明了課程的重點和難點,在各章的基本要求中也指明了各章內容的重點和難點。本課程的學習者應在全面系統學習的基礎上,掌握重點,有目的的深入學習重點章節的內容,但切忌在沒有全面學習教材的情況下孤立地去抓重點。
2.本課程的學習者在自學時,應根據本大綱在推薦教材和參考書中找出大綱中相關章節知識點的論述,系統做出自學筆記,適當地配合做些練習。本課程中概念性、規則性、理論性內容較多,自學者在學習時,要注重對知識點的理解和掌握,仔細閱讀教材和參考書中的案例內容,并能聯系實際進行思考,做到融會貫通。
(四)對社會助學的要求
1.社會助學者應根據本大綱規定的考試內容和考核目標,認真鉆研指定的教材,明確本課程的特點、學習范圍和學習要求,對自學應考者進行切實有效的輔導,并從學習方法上給予指導,引導他們防止自學中的各種偏向,把握社會助學的正確方向。
2.正確處理重點和一般的關系。課程內容有重點與一般之分,但考試的內容要覆蓋全部課程,而且重點與一般是相互聯系的,不是截然分開的。社會助學者應全面系統地學習教材,掌握全部考試內容和考核知識點,在此基礎上再突出重點??傊獙讶胬斫夂椭攸c深入探討結合起來,切勿孤立地只抓重點,把自學應考者引向猜題押題的歧途。
3.正確處理基礎知識與應用能力之間的關系。社會助學者既要重視基礎理論知識,又要重視實際應用能力的培養,努力引導自學應考者將識記、領會同應用聯系起來,將基礎知識和理論轉化為應用能力,在全面輔導的基礎上,著重培養和提高自學應考者分析和解決問題的能力。
(五)關于命題考試的若干要求
1.本課程考試采用閉卷筆試方式,考試的時間為150分鐘。本課程考試可以攜帶沒有存儲功能的小型計算器。
2.本大綱各章所規定的基本要求、考核知識點及考核要求下的知識細目,都屬于考核的內容??荚嚸}既要覆蓋到章,又要避免面面俱到。要注意突出課程的重點、章節重點,加大重點內容的覆蓋度。
3.命題不應有超出大綱中考核知識點范圍的題,考核目標不得高于大綱中所規定的相應的最高能力層次要求。命題應著重考核自學者對基本概念、基本知識和基本理論是否了解或掌握,對基本方法是否會用或熟練。不應出與基本要求不符的偏題或怪題。
4.本課程在試卷中對不同能力層次要求的分數比例大致為:識記占20%,領會占30%,簡單應用占30%,綜合應用占20%。
5.要合理安排試題的難易程度,試題的難度可分為:易、較易、較難和難四個等級。每份試卷中不同難度試題的分數比例一般為:2:3:3:2。
必須注意試題的難易程度與能力層次有一定的聯系,但二者不是等同的概念。在各個能力層次中對于不同的考生都存在著不同的難度,考生切勿混淆。
6.課程考試命題的主要題型一般有單項選擇題、多項選擇題、判斷題、代碼分析題、簡答題、程序填空題、編程題等題型。各種題型的具體樣式參見附錄題型舉例。
附錄:題型舉例
一、單項選擇題,要求給出四個備選答案(一個正確答案)
1、ARM架構是一款()。
A、CISC處理器
B、X86架構處理器
C、RISC處理器
D、CISC/RISC混合架構處理器
二、多項選擇題,要求給出五個備選答案(二個以上正確答案)
1、ARM微處理器的工作狀態包括()。
A、ARM狀態
B、Thumb狀態
C、匯編狀態
D、指令狀態
E、interwork狀態
三、判斷題
1、Thumb指令沒有條件指令。()
四、代碼分析題
1、ADDR0,R1,R2執行了什么操作?
五、簡答題
1、ARM處理器的特點?
六、程序填空題
1、要求完成ARM和Thumb的切換
CODE32
ADRR0,into_thumb+1
()R0
()
ADRR5,back_arm+1
()R5
CODE32
back_arm
…
七、編程題
1、用匯編程序實現1到100的加法運算。
更多信息請查看學歷考試網