《嵌入式系统应用》教学大纲
一、课程概述
1. 课程研究对象和研究内容
嵌入式系统应用技术是当今IP技术发展的重要方面,它的有关理论和方法已经逐渐成为理工科专业学生从事相关领域学习必须掌握的知识及技能。嵌入式系统应用应用技术是以计算机应用技术为核心,密切结合工程实际的一门新型技术科学和边缘科学,与电子、自动控制、计算机科学与技术、通信工程等专业课程处于同一层次,是计算机、通信工程专业的重要专业课程,属专业课程范畴。
嵌入式应用技术以应用为核心,研究如何应用计算机技术的基本技术、如数值分析、数据结构、编程技术、操作系统技术、网络技术、通信技术构建专用的计算机系统,以满足目标系统的应用需求。
2. 课程在整个课程体系中的地位
嵌入式系统应用技术的前置课程有《数值分析》、《C语言程序设计》、《模拟与数字电路基础》、《数据结构》、以及《单片机》、《微机原理》、《电工电子技术》,通过本课程的学习使学生获得嵌入式系统应用技术的基本理论和基本知识,能根据产品性能要求,具有初步分析设计嵌入式系统的能力。 二、课程目标
1. 知道本课程的性质、地位和实用价值。知道这门学科的研究范围、基本框架、研究
方法、学科进展和未来发展方向。
2. 理解这门学科的主要概念、基本原理和方法。
3. 掌握嵌入式系统基本模型的建立步骤、基本设计方法,学生也应具备一定的目标系
统的仿真能力。。
4. 了解嵌入式系统技术在电子产品中的典型应用,熟悉典型应用系统。
5. 知道嵌入式系统的基本知识及最新技术发展。
三、课程内容和要求
这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:
知道———是指对这门学科和教学现象的认知。
理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。
掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。 学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。
教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。
本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。
教学内容及教学要求表
教学内容 教学要求 知道 理解 掌握 学会 1嵌入式系统的基本概念 1.1系统技术前沿、应用领域、发展趋势及相关领域研究成果 1.2系统的特点、分类、基本概念 2 嵌入式实时操作系统 2.1 介绍主流实时操作系统,深入剖析WinCE、Linux、?C/OS, 2.2 操作系统的结构、实时性、应用 3 嵌入式硬件平台 3.1 介绍主流硬件平台,详细介绍ARM单片机功能及应用、 3.2 介绍DSP、ATMEL单片机功能及应用 4 嵌入式系统的设计方法 介绍嵌入式系统设计的一般方法,以嵌入式智能监控器与嵌入式控制器为例 5 嵌入式系统编程 介绍嵌入式软件的体系结构,着重讲解嵌入式ARM体系的汇编编程方法。C语言编程方法,操作系统应用编程方法。 √ √ √ √ √ √ √ √ 6 嵌入式综合应用技术 学生以5-8名分组,进行嵌入式开发技术的研讨,师生点评,探讨。 7实验 实验一、ARM ADS开发环境及ARM开发平台简介 实验二、ARM的输入输出接口实验:I/O、A/D、键盘驱动 实验三、ARM的串行通讯实验 实验四、?C/OS-Ⅱ在ARM上的移植实验 实验五、基于?C/OS-Ⅱ的嵌入式编程实验:消息循环、文件系统 √ √ √ √ √ √ 四、课程实施
(1)课时安排与教学建议
《嵌入式应用技术》是信息类专业专业课,在课时相对较少的情况下,每周安排3课时,其中理论教学42课时,实验教学12课时,共安排54课时。教学要求充分利用课堂时间,同时要求学生在课外自学部分内容,同时要布置一定的习题。具体课时安排如下:
课时安排及教学方法表
教学内容 1.嵌入式系统技术前沿、应用领域、发展趋势及相关领域研究成果 2.嵌入式系统的基本知识 课时建议 4 教与学方法建议 把课程的总体框架和要求讲授给学生、可以通过多媒体进行讲授 嵌入式系统的特点、分类、基本概念 通过多媒体进行讲授 介绍主流实时操作系统,深入剖析WinCE、Linux、?C/OS,包括系统结构、实时性、应用,通过多媒体进行讲授 实验前可以用多媒体方式给学生在课堂上作实验预习,以提高实验效果。 介绍主流硬件平台,详细介绍ARM LPC2XXXDSP、单片机功能及应用,通过多媒体进行讲授 实验前可以用多媒体方式给学生在课堂上作实验预习,以提高实验效果 介绍嵌入式系统设计的一般方法,以嵌入式智能监控器与嵌入式控制器为例 简要介绍外围接口设计,以LCD、触摸屏为例,着重讲解人机交互接口设计 实验前可以用多媒体方式给学生在课堂上作实验预习,以提高实验效果 ARM指令特点、指令编程等内容 实验前可以用多媒体方式给学生在课堂上作实验预习,以提高实验效果 简要介绍嵌入式软件的体系结构,着重讲解嵌入式的编程方法 介绍?C/OS-Ⅱ的体系结构,着重讲解其移植的编程方法 实验前可以用多媒体方式给学生在课堂上作实验预习,以提高实验效果 给出考试提纲,进一步强化学生对课程的理解。 3 3.嵌入式实时操作系统 4.实验一、ARM ADS1.2开发环境及ARM开发平台简介 5.嵌入式硬件平台 6.实验二、ARM的汇编编程实验 7.嵌入式系统的设计方法 8.嵌入式系统的硬件设计 9.实验三、ARM的输入输出接口实验:I/O、A/D、键盘驱动 10.ARM指令系统进一步讲解 11.实验四、ARM的GPIO驱动实验 12.嵌入式系统编程 13.?C/OS-Ⅱ操作系统的移植分析 14.实验五、?C/OS-Ⅱ在ARM上的移植实验 15.复习、准备考试 4 2 4 2 4 6 2 4 2 6 4 4 2 (2)教学方法要求 1、本课程的实践性很强,与工程实际联系密切,教学过程中应注意从比较直观的工程概念出发提出问题、分析问题和解决问题,要特别重视工程应用。
2、教学中要适当注意现代化教学手段的运用,如多媒体课件、声像呈示等,以保证在学时有限的情况下,完成内容非富的教学任务。有条件的还要尽量采用Protues等软件进行实例分析和仿真演示,使工程应用落到实处。
3、教学方法必须灵活,要充分发挥学生的主体性,培养学生发现问题、分析问题、解决问题的能力和探究意识。
4、评价教学方法要以实现课程标准规定的教学目标为依据,好的教学方法应有助于学生对教学内容的理解,并能激发学生的学习热情,达到培养学生的知识、能力、素质,特别是设计思想、设计方法与创新思维能力培养的目的。鼓励教学方法的创新。
五、教材和参考书目
嵌入式系统应用课程是一门还不成熟的课程,这方面的教材目前比较少,内容和水平相
差很大,因此,在满足课程标准的统一要求下,教材的选用,应保持一贯性,连续性,多样化。
建议选用教材: 1.《ARM嵌入式系统入门》,三恒星科技主编,水利水电出版社2007年 1. 《ARM嵌入式系统主流实践》,封井冈主编,电子工业出版社,2008年。
六、课程评价
这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求。本课程采用闭卷笔试70%、平时考核20%,实验表现10%相结合的形式进行。
集中考试说明:
1)考试时间:120分钟。
2)考试方式、分制与分数解释
采用闭卷笔试的方式,以百分制评分,60分为及格,满分为100分。 3)题型比例
填空题:20%;简答题:20%;ARM语法题:30%;分析设计题:30%。 4)样题与目标定位示例 A、填空题:
例:ARM微处理器支持这4种类型的堆栈工作方式。它们是满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生成;满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成;空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址 生成;空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址 生成。 B、简答题:
例:简述,什么是ARM异常?。
答:在ARM应用系统中,当正常的程序执行流程发生暂时的停止时,称之为异常(Exceptions),例如,一个ARM的外部的中断请求就是一个典型的异常。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
ARM体系结构中的异常,与51单片机体系结构的中断有很大的相似之处,但异常与中断的概念并不完全等同。 C、ARM语法题
例:采用多寄存器寻址方式,可以用一条指令完成传送最多16个通用寄存器的值。请解释以下指令的含义:
LDMIA R0, {R1, R2, R3, R4};
解释:该指令的后缀IA 表示在每次执行完加载/存储操作后,R0按字长度增加,因此,指令可将R0所指的连续存储单元的值传送到R1~R4。指令执行过程如下:
R1←[R0] R2←[R0+4]
R3←[R0+8] R4←[R0+12]
D、ARM程序设计分析题:
例:ARM应用电路如下图所示:
3.3VD11112XTAL1XTAL2P0.0/TxD0/PWM1P0.1/RxD0/PWM3P0.2/SCL/CAP0.0P0.3/SDA/MAT0.0P0.4/SCK/CAP0.1P0.5/MISO/MAT0.1P0.6/MOSI/CAP0.2P0.7/SSEL/PWM2P0.8/TxD1/PWM4P0.9/RxD1/PWM6P0.10/RTS1/CAP1.0P0.11/CTS1/CAP1.1P0.12/DSR1/MAT1.0P0.13/DTR1/MAT1.1P0.14/DCD1/EINT1P0.15/RI1/EINT2P0.16/EINT0/MAT0.2P0.17/CAP1.2/TRSTP0.18/CAP1.3/TMSP0.19/MAT1.2/TCKP0.20/MAT1.3/TDIP0.21/PWM5/TDOP0.22/TRACECLKP0.23/PIPESTAT0P0.24/PIPESTAT1P0.25/PIPESTAT2P0.26/TRACESYNCP0.27/TRACEPKT0/TRSTP0.28/TRACEPKT0/TMSP0.29/TRACEPKT2/TCKP0.30/TRACEPKT3/TDIP0.31/EXTIN0/TDO13141821222324282930353637414445464748123323334383989101516R1110D2D3D4D5D6D7D8R21101uFX1C330pFR3110C230pFR41103.3V27R5110DBGSELR910k26RTCKR6110R1010k1.8V3.3V6RSTR7110401754331197V3V3V18VSSVSSVSSVSSR8110R1110kC11uFR12R13100KEY1KEY210kR14100
编制程序实现下述功能: 键盘输入.使用I/O口输入方式对按键进行扫描,当检测到有按键输入时,判断是KEY1、KEY2键,依次实现发光二极管的向下点亮、向上点亮,从而实现流水灯方向的控制。程序编制如下:
#include \
#define LEDCON 0x000000ff /*P0.0~P0.7引脚控制LED,低电平点亮*/ #define KEY 0x00000300 /*P0.8~P0.9引脚连接按键KEY1,KEY2*/ #define KEY1 0x00000100 /*P0.8引脚连接按键KEY1*/ #define KEY2 0x00000200 /*P0.9引脚连接按键KEY2*/
extern uint8 key1,key2;
/******************************************************************************* *名称:WaitKey()
*功能:等待一个有效按键.本函数有去抖功能
*******************************************************************************/ uint8 WaitKey(void) {