《ARM體系結(jié)構(gòu)與編程》教學(xué)大綱
課程名稱:
| ARM體系結(jié)構(gòu)與編程
|
|
|
課程編號(hào):
| 408306
| 436311
|
|
適用專業(yè):
| 計(jì)算機(jī)科學(xué)與技術(shù)
| 軟件工程
|
|
課程類別:
| 專業(yè)限選
| 專業(yè)限選
|
|
課程學(xué)分:
| 3
|
|
|
總學(xué)時(shí):
| 54
|
|
|
其中:理論學(xué)時(shí)
| 28
|
|
|
式實(shí)驗(yàn)學(xué)時(shí)
| 26
|
|
|
先修課程:
| C語(yǔ)言程序設(shè)計(jì)、匯編語(yǔ)言、操作系統(tǒng)原理、計(jì)算機(jī)組成原理、
電子技術(shù)基礎(chǔ)
|
一、課程的性質(zhì)、目的與任務(wù)
《ARM體系結(jié)構(gòu)與編程》課程是計(jì)算機(jī)應(yīng)用、電子類等專業(yè)的一門(mén)實(shí)踐應(yīng)用較強(qiáng)的課程,是嵌入式課程體系中非常得要的一門(mén)基礎(chǔ)課程。該課程主要講述ARM處理器的體系結(jié)構(gòu)、指令系統(tǒng)和開(kāi)發(fā)工具作了比較全面的介紹。其中包括ARM體系介紹、ARM程序設(shè)計(jì)模型、ARM匯編語(yǔ)言程序設(shè)計(jì)、ARM C/C++語(yǔ)言程序設(shè)計(jì)、ARM連接器的使用、ARM集成開(kāi)發(fā)環(huán)境CodeWarrior IDE的介紹及高性能的調(diào)試工具ADX的使用。并在此基礎(chǔ)之上介紹一些典型的基于ARM體系的嵌入式應(yīng)用系統(tǒng)設(shè)計(jì)時(shí)的基本技術(shù)。通過(guò)本實(shí)驗(yàn)課程,應(yīng)達(dá)到以下幾個(gè)教學(xué)目的:
(1)能夠理解ARM處理器的內(nèi)部功能和特點(diǎn),包括ARM處理器支持的數(shù)據(jù)內(nèi)型、支持的存儲(chǔ)格式、內(nèi)核工作模式和存儲(chǔ)系統(tǒng)等;
(2)能夠理程ARM程序狀態(tài)寄存器和寄存器組織;
(3)能熟練掌握各類常用指令的功能,理解各種不同的尋址方式;
(4)能夠掌握使用ARM編程方法編寫(xiě)ARM匯編程序和ARM/C混編程序等;
(5)能夠掌握一種ARM集成工發(fā)環(huán)境的工具軟件的使用;
(6)能夠掌握一種嵌入式ARM處理器(如ARM920T)的結(jié)構(gòu)組成,常用接口的工作原理,并在此基礎(chǔ)上編寫(xiě)驅(qū)動(dòng)程序。
二、課程教學(xué)基本內(nèi)容與要求
第一章 嵌入式系統(tǒng)基礎(chǔ)知識(shí)
(一)教學(xué)內(nèi)容
1.1 嵌入式系統(tǒng)概述
1.2 嵌入式系統(tǒng)的組成
1.3 嵌入式操作系統(tǒng)舉例
1.4 嵌入式系統(tǒng)開(kāi)發(fā)概述
(二)基本要求
教學(xué)目的:理解嵌入式系統(tǒng)的基本概念,了解嵌入式系統(tǒng)的發(fā)展、特點(diǎn)、組成和開(kāi)發(fā)。
教學(xué)重點(diǎn):嵌入式系統(tǒng)的概述,嵌入式系統(tǒng)的組成和開(kāi)發(fā)。
教學(xué)難點(diǎn):嵌入式系統(tǒng)的軟硬件組成。
第二章 arm技術(shù)概述
(一)教學(xué)內(nèi)容
2.1 arm體系結(jié)構(gòu)的技術(shù)特征及發(fā)展
2.2 arm微處理器簡(jiǎn)介
2.3 arm微處理器結(jié)構(gòu)
2.4 arm微處理器的應(yīng)用選型
2.5 arm920t內(nèi)部功能及特點(diǎn)
2.6 數(shù)據(jù)類型
2.7 arm920t內(nèi)核工作模式
2.8 arm920t存儲(chǔ)系統(tǒng)
2.9 流水線
2.10 寄存器組織
2.11 程序狀態(tài)寄存器
2.12 samsung s3c2410x處理器介紹
(二)基本要求
教學(xué)目的:了解ARM體系結(jié)構(gòu)的技術(shù)特征及發(fā)展,掌握ARM處理器的特點(diǎn)、支持的數(shù)據(jù)內(nèi)型、存儲(chǔ)格式、流水線及工作模式,掌握ARM處理器在不同模式下的寄存器組和程序狀態(tài)寄存器中合位的作用。
教學(xué)重點(diǎn):ARM處理器的特點(diǎn)、數(shù)據(jù)內(nèi)型、存儲(chǔ)格式、流水線、工作模和寄存器組。
教學(xué)難點(diǎn):程序狀態(tài)寄存器每位的作用和不同模式下能使用的寄存器組。
第三章 arm的指令系統(tǒng)
(一)教學(xué)內(nèi)容
3.1 arm指令的尋址方式
3.2 arm指令集
(二)基本要求
教學(xué)目的:理解ARM指令系統(tǒng)和Tumber指令系統(tǒng)的區(qū)別,掌握ARM指令系統(tǒng)中各指令的功能和使用,掌握理解ARM指令系統(tǒng)支持的各種尋址方式。
教學(xué)重點(diǎn):解ARM指令系統(tǒng)不同類型指令的使用,支持的各種尋址方式。
教學(xué)難點(diǎn):ARM指令系統(tǒng)中各指令的功能及使用。
第四章 arm匯編語(yǔ)言程序設(shè)計(jì)
(一)教學(xué)內(nèi)容
4.1 arm匯編器支持的偽操作
4.2 arm匯編器支持的偽指令
4.3 arm匯編語(yǔ)言的語(yǔ)句格式
4.4 arm匯編語(yǔ)言的程序結(jié)構(gòu)
4.5 匯編語(yǔ)言與c語(yǔ)言的混合編程
(二)基本要求
教學(xué)目的:學(xué)習(xí)掌握能使用ARM匯編語(yǔ)言語(yǔ)法和指令編寫(xiě)規(guī)范的匯編程序,掌握ARM/C混編方法。
教學(xué)重點(diǎn):arm匯編語(yǔ)言的語(yǔ)句格式,arm匯編器支持的偽操作、過(guò)程調(diào)用標(biāo)準(zhǔn)aapcs、匯編語(yǔ)言與c語(yǔ)言的混合編程。
教學(xué)難點(diǎn):匯編語(yǔ)言與c語(yǔ)言的混合編程、過(guò)程調(diào)用標(biāo)準(zhǔn)aapcs。
第五章 realview mdk環(huán)境介紹
(一)教學(xué)內(nèi)容
5.1 realview mdk環(huán)境介紹
5.2 ulink2仿真器簡(jiǎn)介
5.3 realview mdk的使用
(二)基本要求
教學(xué)目的:學(xué)習(xí)掌握realview mdk的使用。
教學(xué)重點(diǎn):工程基本配置、工程的編譯鏈接和工程的調(diào)試。
教學(xué)難點(diǎn):工程基本配置、工程的調(diào)試。
第六章 gpio編程
(一)教學(xué)內(nèi)容
6.1 gpio功能介紹
6.2 s3c2410x芯片的gpio控制器詳解
6.3 s3c2410x gpio的應(yīng)用
(二)基本要求
教學(xué)目的:掌握s3c2410x芯片的gpio控制器,掌握通過(guò)gpio引腳相關(guān)寄存器的配置編寫(xiě)驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):gpio常用寄存器分類、i/o口常用寄存器詳解和gpio的應(yīng)用。
教學(xué)難點(diǎn):i/o口常用寄存器詳解和寄存器設(shè)置。
第七章 arm異常中斷處理及編程
(一)教學(xué)內(nèi)容
7.1 arm異常中斷處理概述
7.2 arm體系異常種類
7.3 arm異常的優(yōu)先級(jí)
7.4 arm處理器模式和異常
7.5 arm異常響應(yīng)和處理程序返回
7.6 arm應(yīng)用系統(tǒng)中異常中斷處理程序的安裝
7.7 arm的swi異常中斷處理程序設(shè)計(jì)
7.8 fiq和irq異常中斷程序設(shè)計(jì)
7.9 基于arm9芯片s3c2410x異常中斷程序設(shè)計(jì)
(二)基本要求
教學(xué)目的:掌握arm異常中斷處理概述,arm處理器異常模式和異常,理解s3c2410x中斷機(jī)制;掌握通過(guò)相關(guān)寄存器的配置編寫(xiě)中繼方式的驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):arm處理器異常模式和異常、s3c2410x中斷機(jī)制分析、fiq和irq異常中斷程序設(shè)計(jì)。
教學(xué)難點(diǎn):fiq和irq異常中斷程序設(shè)計(jì)、使用匯編語(yǔ)言安裝異常處理程序、從異常處理程序中返回。
第八章 串行通信接口
(一)教學(xué)內(nèi)容
8.1 串行通信
8.2 s3c2410x異步串行通信
8.3 接口電路與程序設(shè)計(jì)
(二)基本要求
教學(xué)目的:了解串口通信概述,理解s3c2410x串口控制器接口路、通信控制原理和相關(guān)寄存器;能掌握通過(guò)相關(guān)寄存器的配置編寫(xiě)串口驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):異步串行異通信控制原理、步串行方式的數(shù)據(jù)格式、串口控制器寄存器、接口電路與程序設(shè)計(jì)。
教學(xué)難點(diǎn):s3c2410x串行異通信控制原理、相關(guān)寄存器與程序設(shè)計(jì)。
第十章 pwm定時(shí)器
(一)教學(xué)內(nèi)容
10.1 s3c2410x pwm定時(shí)器
10.2 s3c2410x看門(mén)狗定時(shí)器
(二)基本要求
教學(xué)目的:了解s3c2410x pwm定時(shí)器概述,理解定時(shí)器工作原理和相關(guān)寄存器,能掌握通過(guò)相關(guān)寄存器的配置編寫(xiě)定時(shí)器驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):s3c2410x定時(shí)器工作原理、相關(guān)寄存器和驅(qū)動(dòng)程序設(shè)計(jì)方法。
教學(xué)難點(diǎn):s3c2410x定時(shí)器工作原理。
第十一章 a/d轉(zhuǎn)換器
(一)教學(xué)內(nèi)容
11.1 a/d轉(zhuǎn)換器原理
11.2 s3c2410x a/d轉(zhuǎn)換器
11.3 a/d轉(zhuǎn)換器應(yīng)用舉例
(二)基本要求
教學(xué)目的:了解s3c2410xa/d轉(zhuǎn)換器概述,理解s3c2410xa/d轉(zhuǎn)換器電路連接、工作原理和相關(guān)寄存器,能掌握通過(guò)相關(guān)寄存器的配置編寫(xiě)驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):s3c2410xa/d轉(zhuǎn)換器工作原理、相關(guān)寄存器和驅(qū)動(dòng)程序設(shè)計(jì)方法。
教學(xué)難點(diǎn):s3c2410xa/d轉(zhuǎn)換器工作原理。
第十二章 lcd接口設(shè)計(jì)
(一)教學(xué)內(nèi)容
12.1 lcd控制器
12.2 接口電路與程序設(shè)計(jì)
(二)基本要求
教學(xué)目的:了解lcd控制器概述,理解s3c2410x lcd控制器電路連接、工作原理和相關(guān)寄存器,能掌握通過(guò)相關(guān)寄存器的配置編寫(xiě)驅(qū)動(dòng)程序。
教學(xué)重點(diǎn):s3c2410x lcd控制器工作原理、相關(guān)寄存器和驅(qū)動(dòng)程序設(shè)計(jì)方法。
教學(xué)難點(diǎn):s3c2410x lcd控制器工作原理。
第十三章 溫度監(jiān)測(cè)儀開(kāi)發(fā)實(shí)例
(一)教學(xué)內(nèi)容
13.1項(xiàng)目功能描述
13.2系統(tǒng)組成
13.3接口電路圖設(shè)計(jì)
13.4程序設(shè)計(jì)
13.5運(yùn)行結(jié)果
(二)基本要求
教學(xué)目的:對(duì)前面學(xué)習(xí)的接口技術(shù)的一個(gè)綜合應(yīng)用,掌握嵌入式驅(qū)動(dòng)程序設(shè)計(jì)方法。
教學(xué)重點(diǎn):接口電路圖設(shè)計(jì)、驅(qū)動(dòng)程序設(shè)計(jì)。
教學(xué)難點(diǎn):接口電路圖設(shè)計(jì)、驅(qū)動(dòng)程序設(shè)計(jì)。
三、課程各章節(jié)學(xué)時(shí)分配
序號(hào)
| 內(nèi)容
| 理論學(xué)時(shí)
| 實(shí)驗(yàn)學(xué)時(shí)
|
計(jì)科
| 軟工
| 計(jì)科
| 軟工
|
1
| 嵌入式系統(tǒng)基礎(chǔ)知識(shí)
| 1
| 1
| 0
| 0
|
2
| arm技術(shù)概述
| 2
| 2
| 0
| 0
|
3
| arm的指令系統(tǒng)
| 2
| 2
| 5
| 5
|
4
| arm匯編語(yǔ)言程序設(shè)計(jì)
| 2
| 2
| 1
| 1
|
5
| realview mdk環(huán)境介紹
| 1
| 1
| 1
| 1
|
6
| gpio編程
| 2
| 2
| 1
| 1
|
7
| arm異常中斷處理及編程
| 4
| 4
| 4
| 4
|
8
| 串行通信接口
| 4
| 4
| 4
| 4
|
9
| 定時(shí)器
| 2
| 2
| 4
| 4
|
10
| a/d轉(zhuǎn)換器
| 4
| 4
| 4
| 4
|
11
| lcd接口設(shè)計(jì)
| 2
| 2
| 2
| 2
|
12
| 溫度監(jiān)測(cè)儀開(kāi)發(fā)實(shí)例
| 2
| 2
| 0
| 0
|
合計(jì)
| 28
| 28
| 26
| 26
|
四、本課程課外學(xué)習(xí)與修學(xué)指導(dǎo)
《ARM體系結(jié)構(gòu)與編程》課程是計(jì)算機(jī)應(yīng)用、電子類等專業(yè)的一門(mén)實(shí)踐應(yīng)用較強(qiáng)的課程,運(yùn)用到操作系統(tǒng)原理、C編程基礎(chǔ)和計(jì)算機(jī)組成原理和電子技術(shù)基礎(chǔ)等軟硬件課程的內(nèi)容,所以要多參考相關(guān)書(shū)籍,在有限的實(shí)驗(yàn)課時(shí)以外,結(jié)合開(kāi)發(fā)板的技術(shù)說(shuō)明文檔和工作圖理圖,多實(shí)踐練習(xí)操作開(kāi)發(fā)板,編程實(shí)現(xiàn)常用接口的驅(qū)動(dòng)程序。
五、本課程考核方式及成績(jī)?cè)u(píng)定標(biāo)準(zhǔn)
考核方式:閉卷考試
成績(jī)?cè)u(píng)定方法:本課程的考核是平時(shí)成績(jī)、實(shí)驗(yàn)成績(jī)和期終考試成績(jī)相結(jié)合。具體比例為:上課出勤、作業(yè)占20%,實(shí)驗(yàn)占20%,期末考試成績(jī)占60%。
其中期未考試總分100分,基礎(chǔ)題占50%,中等難度題占40%,較難題占10%??荚囶}型主要有:選擇題、填空題、判斷題、簡(jiǎn)答題、分析設(shè)計(jì)題等。
六、教材及參考書(shū)
1、教材:《ARM嵌入式體系結(jié)構(gòu)與接口技術(shù)》,劉洪濤,人發(fā)郵電版社,2009年8月
2、主要參考書(shū):
[1]杜春雷主編,ARM體系結(jié)構(gòu)與編程.北京:清華大學(xué)出版社.2003
[2]田澤主編,ARM9嵌入式開(kāi)發(fā)實(shí)驗(yàn)與實(shí)踐.北京:北京航空航天大學(xué)出版社,2006
[3] Michael Barr主編,于志宏譯,C/C++嵌入式系統(tǒng)編程,北京:清華大學(xué)出版社,2001
大綱撰寫(xiě)人:劉澤平
大綱審閱人: 劉偉群
教學(xué)副主任: 易葉青
編寫(xiě)日期:2012.6