- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
概要设计基于μcosii系统在s3c2440平台的移植的设计与实现 毕业论文
μuC/OS-Ⅱ在ARM9上的移植(S3C2440)
概要设计
总页数 编制 修 改 履 历
修改编号 日期 修改人 版本号 修改内容 1 VER0.1.0 初始做成 2 3
目 录
1 文档概述 5
1.1 文档目的和范围 5
1.2 术语/缩略语 5
1.3 参考文档 5
2 模块概述 5
2.1 模块功能定义 6
2.2 模块结构 7
2.3 模块动作时序 8
3 接口说明 8
3.1 数据结构定义 8
3.1.1 模块间接口函数 9
文档概述
文档目的和范围
该项目主要完成主要包括μC/OS-II移植到ARM9 S3C2440上,主要实现任务的启动和任务在中断级的调度和任务的上下文切换,还有实现中断处理服务和开关中断。
术语/缩略语
序号 术语/缩略语 说明 1 任务调度 通过一定的规则实现任务的切换 2
参考文档
序号 文档名 作者 时间 版本 1 需求分析 付海文 2013-12-11 VER0.1.0 2 阶段文档模板 东软实训中心 2014-4-14 VER0.1.0
模块概述
本模块是μC/OS-II移植到ARM9 S3C2440上的最主要的工作,是连接μC/OS-II操作系统内核和处理器的中间桥梁,每个任务的任务控制块(TCB)中都有自己的堆栈空间用来保存任务的上下文,当需要启动该任务时,通过把管理模式下的堆栈指针SP指向任务的堆栈空间,以出栈的方式把任务的上下文导入到处理器的寄存器中,此时处理器程序计数器(PC)指向任务程序入口地址,即实现了任务的启动;当发生任务级的调度时,首先将当前处理器各寄存器压入栈中,然后在当前任务的TCB中保存任务的堆栈指针,最后将最高优先级就绪态任务切换到处理器中运行态;在中断级的任务切换中需要考虑到中断的嵌套和中断的返回。
模块功能定义
序号 功能点 功能点详细内容 1 多任务启动 用于用户程序开始启动任务,直接运行最高优先级就绪态任务 2 任务级的切换 当前任务被挂起时,通过比较优先级判优进行任务切换 3 中断级的任务切换 当中断处理结束后,在中断非嵌套情况下实现任务的切换 4 中断服务子程序 当中断发生,保存CPU现场,调用中断处理程序,中断返回 5 关中断 将处理器程序状态寄存器设置为关中断状态,禁止中断发生 6 开中断 将处理器程序状态寄存器设置为开中断状态,使能中断 7 时钟中断处理 发生时钟中断,调用内核时钟节拍处理函数 8 任务堆栈初始化 每个任务都有一个任务堆栈,该堆栈用来保存任务的上下文。 模块结构
图 1 模块间接口
模块名称 模块类型 概要说明 OSTaskStkInit 接口 任务堆栈初始化 OSStartHighRdy 接口 最高优先级任务启动 OSTaskSwHook 接口 用户自定义函数 OSCtxSw 接口 任务级任务切换 OSIntCtxSw 接口 中断级任务切换 OSTickISR 接口 时钟中断处理 OSCPUSaveSR 接口 关中断 OSCPURestoreSR 接口 开中断 OS_CPU_IRQ_ISR 接口 中断服务程序 模块动作时序
系统时钟产生中断后,CPU转去处理时钟中断如下图
图2 cpu时钟中断处理的过程
接口说明
数据结构定义
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; /*无符号32位整形变量*/
typedef signed int INT32S; /*有符号32位整形变量*/
typedef float FP32; /*单精度浮点数(32位长度)*/
typedef double FP64; /*双精度浮点数(64位长度)*/
您可能关注的文档
- 动画本科浅析色彩在动画中的运用 毕业设计.doc
- 动画专业本科动画短片中的概念设计探析以动画作品《翔》为例 毕业设计.doc
- 动画专业本科绘本创作中场景的运用 毕业设计.doc
- 动画本科浅谈分镜头设计在动画中的应用—以毕业作品《镜子里的我》为例 毕业设计.doc
- 动画专业本科论文对迈克尔·度德威特动画作品的探究与学习—动画短片《晾衣者》的创作 毕业设计.doc
- 动画专业本科论文对迈克尔度德威特动画作品的探究与学习以动画短片《晾衣》为例 毕业设计.doc
- 动画专业本科绘本创作中场景的运用探析结合动态绘本《梦》 毕业设计.doc
- 动画专业本科浅析动画角色设计中的角色性格塑造 毕业设计.doc
- 动态测试信号采集仿真与实例分析 毕业设计.doc
- 都市生态农业餐厅创办计划书(高校创业创新项目) 毕业论文.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)