一、课程性质与设置目的
(一)课程性质与特点
ARM结构与程序开发入门是一门介绍ARM处理器原理及接口驱动程序开发的课程。在内容上涉及嵌入式系统的基本概念、介绍ARM处理器模式及其基本编程模型、ARM指令系统、ARM汇编语言程序设计、C/C++混合编程、ARM/Thumb混合编程、ARM存储系统、异常中断处理、ARM编译器和连接器、ARM接口技术、ARM体系中的调试方法等。从而为后续更高阶课程的学习打下基础。
(二)课程设置目的与基本要求
本课程作为高等教育自学考试嵌入式技术(专科)专业的必修课,旨在培养学生掌握ARM结构和程序开发的基本知识,为他们将来从事ARM嵌入式系统的开发提供基础。基本要求如下:
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.正确处理重点和一般的关系。课程内容有重点与一般之分,但考试的内容要覆盖全部课程,而且重点与一般是相互联系的,不是截然分开的。社会助学者应全面系统地学习教材,掌握全部考试内容和考核知识点,在此基础上再突出重点。总之,要将把全面理解和重点深入探讨结合起来,切勿孤立地只抓重点,把自学应考者引向猜题押题的歧途。
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的加法运算。
更多信息请查看学历考试网