本科毕业设计论文--概要设计基于μcosii系统在s3c2440平台的移植的设计与实现.doc
《本科毕业设计论文--概要设计基于μcosii系统在s3c2440平台的移植的设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计论文--概要设计基于μcosii系统在s3c2440平台的移植的设计与实现.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 uC/OS-在ARM9上的移植(S3C2440)概要设计总页数编制13南昌航空大学东软班 概要设计修 改 履 历修改编号日期修改人版本号修改内容1VER0.1.0初始做成23目 录1 文档概述51.1 文档目的和范围51.2 术语/缩略语51.3 参考文档52 模块概述52.1 模块功能定义62.2 模块结构72.3 模块动作时序83 接口说明83.1 数据结构定义83.1.1 模块间接口函数91 文档概述1.1 文档目的和范围该项目主要完成主要包括C/OS-II移植到ARM9 S3C2440上,主要实现任务的启动和任务在中断级的调度和任务的上下文切换,还有实现中断处理服务和开关中断。1.2
2、 术语/缩略语序号术语/缩略语说明1任务调度通过一定的规则实现任务的切换21.3 参考文档序号文档名作者时间版本1需求分析付海文2013-12-11VER0.1.02阶段文档模板东软实训中心2014-4-14VER0.1.02 模块概述本模块是C/OS-II移植到ARM9 S3C2440上的最主要的工作,是连接C/OS-II操作系统内核和处理器的中间桥梁,每个任务的任务控制块(TCB)中都有自己的堆栈空间用来保存任务的上下文,当需要启动该任务时,通过把管理模式下的堆栈指针SP指向任务的堆栈空间,以出栈的方式把任务的上下文导入到处理器的寄存器中,此时处理器程序计数器(PC)指向任务程序入口地址,
3、即实现了任务的启动;当发生任务级的调度时,首先将当前处理器各寄存器压入栈中,然后在当前任务的TCB中保存任务的堆栈指针,最后将最高优先级就绪态任务切换到处理器中运行态;在中断级的任务切换中需要考虑到中断的嵌套和中断的返回。2.1 模块功能定义序号功能点功能点详细内容1多任务启动用于用户程序开始启动任务,直接运行最高优先级就绪态任务2任务级的切换当前任务被挂起时,通过比较优先级判优进行任务切换3中断级的任务切换当中断处理结束后,在中断非嵌套情况下实现任务的切换4中断服务子程序当中断发生,保存CPU现场,调用中断处理程序,中断返回5关中断将处理器程序状态寄存器设置为关中断状态,禁止中断发生6开中断
4、将处理器程序状态寄存器设置为开中断状态,使能中断7时钟中断处理发生时钟中断,调用内核时钟节拍处理函数8任务堆栈初始化每个任务都有一个任务堆栈,该堆栈用来保存任务的上下文。2.2 模块结构 图 1 模块间接口模块名称模块类型概要说明OSTaskStkInit接口任务堆栈初始化OSStartHighRdy接口最高优先级任务启动OSTaskSwHook接口用户自定义函数OSCtxSw接口任务级任务切换OSIntCtxSw接口中断级任务切换OSTickISR接口时钟中断处理OSCPUSaveSR接口关中断OSCPURestoreSR接口开中断OS_CPU_IRQ_ISR接口中断服务程序2.3 模块动作
5、时序系统时钟产生中断后,CPU转去处理时钟中断如下图 图2 cpu时钟中断处理的过程3 接口说明3.1 数据结构定义typedef unsigned char BOOLEAN; /*布尔变量*/ typedef unsigned char INT8U;/*无符号8位整形变量*/ typedef signed char INT8S; /*有符号8位整形变量*/ typedef unsigned short INT16U; /*无符号16位整形变量*/typedef signed short INT16S; /*有符号16位整形变量*/typedef unsigned int INT32U; /*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 论文 概要 设计 基于 cosii 系统 s3c2440 平台 移植 实现
限制150内