《嵌入式系统程序设计》课程教学大纲_第1页
《嵌入式系统程序设计》课程教学大纲_第2页
《嵌入式系统程序设计》课程教学大纲_第3页
《嵌入式系统程序设计》课程教学大纲_第4页
《嵌入式系统程序设计》课程教学大纲_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《嵌入式系统程序设计》课程教学大纲课程代码:ABXX0427课程中文名称:嵌入式系统程序设计课程英文名称:Embedded

SystemProgramming课程性质:选修课程学分数:4学分课程学时数:60学时其中理论学时:40学时实验学时:24学时授课对象:计算机科学与技术专业本课程的前导课程:数据结构、操作系统原理、嵌入式基础一、课程简介《嵌入式系统程序设计》是我校计算机科学与技术专业的一门专业方向课。讲述嵌入式实时操作系统的原理、uC/OS-II内核和组件、uC/OS-II在S3C2410上的移植、面向任务的程序设计方法和设计实例等。其目的和任务是,让学生掌握嵌入式实时操作系统的基本知识和基于嵌入式实时操作系统的程序设计方法,使学生具备初步开发较复杂嵌入式应用程序的能力,为学习Linux操作系统打好基础。二、教学基本内容和要求嵌入式实时操作系统概述课程教学内容:操作系统的概念;嵌入式操作系统的概念和特点;嵌入式实时操作系统举例;uC/OS-II和uC/OS-III的特点。课程的重点、难点:嵌入式操作系统的概念和特点、uC/OS-II的特点。课程教学要求:理解操作系统的概念;理解嵌入式操作系统的概念和特点;了解常用的嵌入式实时操作系统;理解uC/OS-II和uC/OS-III的特点。嵌入式实时操作系统原理3课程教学内容:进程、线程与任务的概念;任务的状态、优先级与调度;嵌入式系统的资源;嵌入式系统的内存管理;内核与时钟节拍;信号量与互斥信号量;消息邮箱。课程的重点、难点:任务的概念及任务调度算法;内核与时钟节拍、信号量与互斥信号量以及消息邮箱的基本知识。课程教学要求:理解进程、线程与任务的概念;掌握任务的状态和任务调度算法;理解共享资源的概念及其特征;了解产生任务死锁的原因及防止死锁的办法;了解嵌入式系统内存管理的基本知识;掌握内核与时钟节拍、信号量与互斥信号量以及消息邮箱的基本知识。uC/OS-II内核课程教学内容:uC/OS-II初始化过程;内核使用的全局变量和数据结构,包括空闲任务控制块链表、空闲事件控制块链表、空闲内存控制块链表、任务就绪组和任务就绪表、空闲事件标志组链表和空闲消息队列链表;系统任务,包括空闲任务、统计任务和定时器任务;时钟节拍函数和时间管理函数;多任务启动函数和任务切换与任务调度函数;移植管理函数。课程的重点、难点:内核使用的数据结构;空闲任务;时钟节拍函数和时间管理函数;多任务启动函数和任务切换与任务调度函数;课程教学要求:了解uC/OS-II初始化的过程;掌握内核使用的全局变量和数据结构并了解其初始化操作;理解任务就绪组和任务就绪表的设计原理及其操作方法;掌握任务切换与任务调度函数的功能和运行机制;了解空闲任务、统计任务和定时器任务的基本功能和运行机制;掌握时钟节拍函数、任务延迟与恢复函数、多任务启动函数的功能和运行机制;掌握移植管理函数的功能和运行机制。uC/OS-II组件课程教学内容:任务管理;信号量管理;互斥信号量管理;事件标志组管理;消息邮箱管理;消息队列管理;多事件管理;中断管理宏函数;定时器管理;动态内存管理。课程的重点、难点:用户任务代码的一般结构;任务管理、信号量、互斥信号量、事件标志组、消息邮箱、消息队列和多事件请求函数等组件的功能和使用方法;中断管理宏函数的编程实现。课程教学要求:熟悉用户任务代码的一般结构;掌握创建任务、删除任务等任务管理函数工作过程和使用方法;熟悉信号量、互斥信号量、事件标志组、消息邮箱、消息队列和多事件请求函数等组件的功能及工作原理,并掌握它们的使用方法;了解定时器管理函数和动态内存管理函数的的功能和使用方法。掌握中断管理宏函数的作用和编程实现。uC/OS-II应用实例课程教学内容:在PC机上建立µC/OS-II的实验测试环境;对µC/OS-II开发者Jean

J.Labrosse先生撰写的Micro

C/OS-Ⅱ

The

Real-Time

Kernel一书第2版本第一章中的三个范例程序进行分析;在PC机上编译、调试uC/OS-II应用程序的方法。课程的重点、难点:在PC机上建立µC/OS-II的实验测试环境及编译、调试uC/OS-II应用程序的方法;对三个范例程序中关键代码段的理解。课程教学要求:掌握在PC机上建立µC/OS-II的实验测试环境所需的软件和安装、配置方法;掌握在PC机上编译、调试uC/OS-II应用程序的方法;理解范例一中常量、变量与声明部分以及主函数和用户任务体部分的源代码;理解范例二中各个用户任务体部分的源代码;理解范例三中各个钩子函数部分的源代码。uC/OS-II在S3C2410上的移植课程教学内容:uC/OS-II移植的基本要求与工作内容;移植代码的功能需求;uC/OS-II在S3C2410上进行移植的编程要点。课程的重点、难点:基于S3C2410的移植代码编写。课程教学要求:了解uC/OS-II移植的基本要求与工作内容;掌握移植代码的功能需求及其在S3C2410上进行移植的编程要点。面向任务的程序设计课程教学内容:面向任务程序设计的概念;任务划分的基本原则和方法;任务函数设计的基本方法和需要注意的问题;中断服务程序的设计步骤;行为同步的实现方法;访问共享资源的方法;各种通信手段的使用方法;时间管理服务的使用场合和方法;采样任务的设计方法;键盘任务的设计方法;显示任务的设计;串行通信任务的设计方法。课程的重点、难点:任务划分的基本原则和方法;任务函数设计的基本方法和需要注意的问题;中断服务程序的设计步骤;行为同步的实现方法;访问共享资源的方法;各种通信手段的使用方法;时间管理服务的使用场合和方法。课程教学要求:了解面向任务程序设计的概念;掌握任务划分的基本原则和方法;掌握任务函数设计的基本方法和需要注意的问题;掌握中断服务程序的设计步骤;掌握行为同步的实现方法、访问共享资源的方法、各种通信手段的使用方法、时间管理服务的使用场合和方法;了解采样任务键盘任务、显示任务、串行通信任务的设计方法。三、实验教学内容及基本要求1、任务的基本管理(2学时)基本要求:理解嵌入式操作系统中任务管理的基本原理;了解任务的各个基本状态及其变迁过程;掌握μC/OS-II中任务管理的基本方法及任务管理系统服务函数的使用。实验内容:创建两个任务Task0、Task1,Task0不断地挂起自己,再被Task1解挂,两个任务不断地切换执行。添加语句完成程序编写,调试运行程序,观察任务在各个时刻的状态以及状态变迁的原因。2、优先级反转(2学时)基本要求:掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理。实验内容:分析实验程序,理解出现优先级反转现象的原理;运行程序,观察由于共享资源的互斥访问而出现的优先级反转现象。3、优先级继承(2学时)基本要求:掌握嵌入式实时操作系统μC/OS-II解决优先级反转的策略——优先级继承的原理。实验内容:分析实验程序,理解优先级继承的原理;运行程序,观察多个用户任务按照优先级继承策略竞争使用同一共享资源的过程。4、哲学家就餐实验(2学时)基本要求:掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。了解如何利用信号量来对共享资源进行互斥访问。实验内容:创建5个任务代表5个哲学家,创建5个信号量代表5支筷子。每个哲学家任务由µC/OS-II调度运行,先请求信号量,并视请求结果决定哲学家是否可以进入就餐过程。请求到一左一右两个信号量便进入就餐过程,否则睡眠等待,就餐一定时间后释放两个信号量。添加语句完成程序编写,调试运行程序,观察哲学家就餐的过程。5、µC/OS-II的内存管理(2学时)基本要求:掌握嵌入式实时操作系统µC/OS-II内存管理中内存分配和回收的功能。实验内容:使用OSMemCreate()函数创建一个用于动态内存分配的区域,并将区域中划分为2个128B的内存块。用户任务Task0使用函数OSMemGet(CommMem,&err)来申请内存块,每间隔一段时间申请分配一块,申请3次后再释放申请的内存。添加语句完成程序编写,调试运行程序,观察内存块的动态分配和回收过程。6、消息队列(2学时)基本要求:掌握嵌入式实时操作系统µC/OS-II中消息队列机制的基本原理和使用方法。实验内容:分析实验程序,理解消息队列的创建、请求、向消息队列发送消息、清空消息队列和查询消息队列的操作方法;运行程序,观察消息队列的工作机制。7、μC/OS-II移植实验(3学时)基本要求:了解μC/OS-II操作系统的基本原理和移植条件;掌握将μC/OS-II操作系统移植到ARM9处理器的方法。实验内容:添加语句完成移植代码编写,然后编写一个简单的多任务应用程序,实现LED流水灯控制,并对程序进行编辑、编译和调试。8、事件标志组同步任务实验(3学时)基本要求:了解行为同步的概念;掌握事件标志组的概念和应用。实验内容:任务0负责检测不断地读取GPF4口上的电平值,如果为高电平,那么将事件标志置位,否则清除;任务1一直等待键盘事件标志的置位触发,标志置位后,任务1控制蜂鸣器鸣响。添加语句完成程序编写,调试运行程序,观察事件标志组进行任务同步的过程。9、消息邮箱传输数据实验(3学时)基本要求:掌握S3C2410处理器ADC的应用设置,进行电压信号的测量;掌握中断服务程序的编写;掌握用消息邮箱进行数据通信的应用。实验内容:KEY1配置为外部中断EINT4,每按一次KEY1进行一次A/D转换,并将转换结果通过消息邮箱发送给显示任务,显示任务从消息邮箱得到消息,将采样结果通过UART0向PC机发送并在超级终端主窗口中显示出来。假定A/D转换任务优先级低于显示任务。添加语句完成程序编写,调试运行程序,观察利用消息邮箱进行数据通信的过程。10、消息队列传输数据实验(3学时)基本要求:掌握S3C2410处理器ADC的应用设置,进行电压信号的测量;掌握用消息队列进行数据通信的应用。实验内容:KEY1配置为外部中断EINT4,连续按10次KEY1,每按一次KEY1启动一次A/D转换任务,并将转换结果发送给消息队列,显示任务从消息队列得到消息,将采样结果通过UART0向PC机发送并在超级终端主窗口中显示出来。假定A/D转换任务优先级高于显示任务。添加语句完成程序编写,调试运行程序,观察利用消息队列进行数据通信的过程。四、教学方法与手段1、教学方法课堂教学以教师讲授为主,辅之以提问、讨论等教学形式;实验课采用学生自行设计、自行操作、自主探索为主,教师讲解、演示、答疑为辅的教学方式。教学过程中应重视新旧知识间的沟通,灵活运用新旧知识的对比进行教学;注重典型例子的选取,合理使用举例教学法;积极探讨引导启发式教学方法的使用。2、教学手段制作涵盖全部教学内容的多媒体课件,充分利用多媒体手段进行教学。鼓励同学充分利用网络资源进行自主学习。五、教学学时分配章节与内容课时作业量备注嵌入式实时操作系统概述1嵌入式实时操作系统原理33uC/OS-II内核165含实验6学时uC/OS-II组件165含实验6学时uC/OS-II应用实例42uC/OS-II在S3C2410上的移植52含实验3学时面向任务的程序设计195含实验9学时合计64含实验24学时六、考核方式与成绩评定标准1、考核方法考核采取平时成绩(含考勤、作业、实验)与期末大作业考核相结合的方法。2、成绩评定课程成绩由平时成绩和期末大作业成绩两部分组成,按优秀、良好、中等、及格和不及格五级计分。各部分成绩的比重为:考勤10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论