版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
µuC/OS-Ⅱ在ARM9上的移植(S3C2440)概要设计总页数编制南昌航空大学东软班概要设计××××详细设计书修改履历修改编号日期修改人版本号修改内容1VER0.1.0初始做成23目录297761文档概述 54781.1文档目的和范围 5188191.2术语/缩略语 5229951.3参考文档 527112模块概述 5196832.1模块功能定义 6233352.2模块结构 7307402.3模块动作时序 8134603接口说明 8178993.1数据结构定义 8315703.1.1模块间接口函数 9文档概述文档目的和范围该项目主要完成主要包括μC/OS-II移植到ARM9S3C2440上,主要实现任务的启动和任务在中断级的调度和任务的上下文切换,还有实现中断处理服务和开关中断。术语/缩略语序号术语/缩略语说明1任务调度通过一定的规则实现任务的切换2参考文档序号文档名作者时间版本1需求分析付海文2013-12-11VER0.1.02阶段文档模板东软实训中心2014-4-14VER0.1.0模块概述本模块是μC/OS-II移植到ARM9S3C2440上的最主要的工作,是连接μ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转去处理时钟中断如下图图2cpu时钟中断处理的过程接口说明数据结构定义typedefunsignedcharBOOLEAN;/*布尔变量*/typedefunsignedcharINT8U; /*无符号8位整形变量*/typedefsignedcharINT8S; /*有符号8位整形变量*/typedefunsignedshortINT16U;/*无符号16位整形变量*/typedefsignedshortINT16S;/*有符号16位整形变量*/typedefunsignedintINT32U;/*无符号32位整形变量*/typedefsigned intINT32S;/*有符号32位整形变量*/typedeffloat FP32; /*单精度浮点数(32位长度)*/typedefdouble FP64; /*双精度浮点数(64位长度)*/typedefINT32U OS_STK; /*堆栈是32位宽度*/typedefINT32U OS_CPU_SR; /*CPUstateregister*/#defineOS_CRITICAL_METHOD 3#defineOS_ENTER_CRITICAL() (cpu_sr=OSCPUSaveSR()) /*Disableinterrupts*/#defineOS_EXIT_CRITICAL() (OSCPURestoreSR(cpu_sr)) /*Enableinterrupts*/#defineOS_STK_GROWTH 1/*StackgrowsfromHightoLowOnARM*/函数#defineOS_TASK_SW() OSCtxSw()模块间接口函数OSTaskStkInit函数名OSTaskStkInit文件名../OS_CPU_c.c功能概要定义数据类型记述形式OS_STK*OSTaskStkInit(void(*task)(void*pd),void*p_arg,OS_STK*ptos,INT16Uopt)参数类型变量名I/O说明void(*)(void*)task,pd-函数入口地址返回值类型OS_STK说明值堆栈栈顶指针正常结束--详细说明任务堆栈初始化函数使用注意事项无OSTaskSwHook函数名OSTaskSwHook文件名../OS_CPU_c.c功能概要用户自定以钩子函数记述形式voidOSTaskSwHook(void)参数类型变量名I/O说明void返回值类型-说明值详细说明用户可以自己更改钩子函数使用注意事项如果更改此函数时不要在该函数里延时太长OSStartHighRdy函数名OSStartHighRdy文件名../OS_CPU_a.s功能概要启动最高优先级就绪态任务记述形式OSStartHighRdy参数类型变量名I/O说明返回值类型-说明值详细说明此函数为汇编函数,在任务第一次启动时被调用使用注意事项不需要保存任务堆栈OSCtxSw函数名OSCtxSw文件名../OS_CPU_a.s功能概要任务级任务切换记述形式OSCtxSw参数类型变量名I/O说明返回值类型-说明值详细说明当任务被挂起时,通过优先级判优选择后,会调用此汇编函数执行任务调度使用注意事项首先保存当前任务的堆栈,然后在切换到最高优先级就绪态任务OSIntCtxSw 函数名OSIntCtxSw文件名../OS_CPU_a.s功能概要中断级任务调度记述形式OSIntCtxSw参数类型变量名I/O说明返回值类型-说明值详细说明当前中断退出后,若在非中断嵌套情况下,会调用该函数执行任务调度使用注意事项无需保存CPU现场,直接切换到最高优先级就绪任务OSTickISR 函数名OSTickISR文件名../OS_CPU_a.s功能概要时钟中断服务记述形式OSTickISR参数类型变量名I/O说明返回值类型-说明值详细说明当发生定时器中断时,此函数被中断服务子程序调用执行时钟中断服务使用注意事项在清除INTPND时必须通过写INTPND实现OS_CPU_IRQ_ISR函数名OS_CPU_IRQ_ISR文件名../OS_CPU_a.s功能概要发生IRQ,提供中断服务记述形式OS_CPU_IRQ_ISR参数类型变量名I/O说明返回值类型-说明值详细说明该函数被安装在启动代码中,作为HanlerIRQ的处理程序使用注意事项中断向量的大范围跳转需要使用DCDOSCPUSaveSR 函数名OSCPUSaveSR文件名../OS_CPU_a.s功能概要关中断记述形式OSCPUSaveSR参数类型变量名I/O说明返回值类型INT32U说明值cpu_sr保存当前程序状态寄存器CPSR的控制位,在此使用R0,来保存该值--详细说明OS_ENTER_CRITICAL()被宏定义为OSCPUSaveSR,实现临界段保护使用注意事项通用寄存器R0被用来保存CPSR的值3.1.1.9OSCPURestoreSR 函数名OSCPURestoreSR文件名../OS_CPU_a.s功能概要开中断记述形式OSCPURestoreSR参数类型变量名I/O说明INT32Ucpu_sr-恢复当前程序状态寄存器CPSR的控制位,在此用R0来保存cpu_sr返回值类型-说明值详细说明OS_EXIT_CRITICAL()被宏定义为OSCPURestoreSR,实现临界段打开使用注意事项寄存器R0保存的值用来恢复CPSR的值目录第1章 总论 31.1. 项目背景与概况 31.2. 主要技术经济指标 71.3. 问题与建议 8第2章 项目投资环境与市场研究 92.1. 投资环境分析 92.2. 区域房地产市场分析 112.3. 销售预测 152.4. 营销策略 19第3章 建设规模与项目开发条件 213.1. 建设规模 213.2. 项目概况现状 213.3. 项目建设条件 22第4章 建筑方案 264.1. 设计依据 264.2. 项目设计主题和开发理念 264.3. 项目总体规划方案 274.4. 建筑设计 284.5. 结构设计 294.6. 给排水设计 30第5章 节能节水措施 325.1. 设计依据 325.2. 建筑部分节能设计 32第6章 环境影响评价 336.1. 编制依据 336.2. 环境现状 336.3. 项目建设对环境的影响 346.4. 环境保护措施 34第7章 劳动卫生与消防 357.1. 指导思想 357.2. 职业安全卫生健康对策与措施 357.3. 消防设计 36第8章 组织机构与人力资源配置 388.1. 组织机构 388.2. 人力资源配置 38第9章 项目实施进度 399.1. 项目开发期 399.2. 项目实施进度安排 399.3. 项目实施过程控制措施 39第10章 项目招投标 4110.1. 工程项目招标投标概述 4110.2. 工程项目招标投标因素分析 4210.3. 招标依据 4410.4. 招标范围 4410.5. 招标方式 44第11章 投资估算与资金筹措 4511.1. 投资估算 4511.2. 资金筹措
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 演出经纪人之《演出经纪实务》测试卷附答案详解
- PETS一级笔试模拟试题(含详细答案解析)
- 广东省河源市东源县2027届数学九上期末达标检测模拟试题含解析
- 轨道交通运营期施工防护方案
- 髂静脉压迫综合征弹力袜穿戴日常指导规范共识
- 2027届广东省深圳高级中学数学九上期末经典模拟试题含解析
- Oracle数据库工程师面试题及详细答案(实操完整版)
- 车间安全教育培训试题及答案
- 管廊突发事件调度处置规程
- 2026年安管人员继续教育试题及答案
- 2025年东营辅警协警招聘考试真题及1套完整答案详解
- 直读光谱仪培训课件
- T/CECS 10270-2023混凝土抑温抗裂防水剂
- 《足太阴脾经络》课件
- 2024年版高校助教聘请合约3篇
- 肇庆市2025届高中毕业班第一次模拟考试(一模)生物试卷(含答案详解)
- 路灯基础现浇混凝土检验批质量验收记录
- 盐酸青藤碱的稳定性和溶解性研究
- 《田螺姑娘》儿童故事ppt课件(图文演讲)
- 食品有限公司生产车间安全风险分级清单
- 体格检查评分标准(心脏)
评论
0/150
提交评论