ucos-ii的移植 - 电子设计技术

上传人:wm****3 文档编号:51693038 上传时间:2018-08-15 格式:PPT 页数:10 大小:217KB
返回 下载 相关 举报
ucos-ii的移植 - 电子设计技术_第1页
第1页 / 共10页
ucos-ii的移植 - 电子设计技术_第2页
第2页 / 共10页
ucos-ii的移植 - 电子设计技术_第3页
第3页 / 共10页
ucos-ii的移植 - 电子设计技术_第4页
第4页 / 共10页
ucos-ii的移植 - 电子设计技术_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《ucos-ii的移植 - 电子设计技术》由会员分享,可在线阅读,更多相关《ucos-ii的移植 - 电子设计技术(10页珍藏版)》请在金锄头文库上搜索。

1、u/COS-II的移植何为移植?l移植就是修改一个软件,使得它能在新的 环境下(不同的处理器平台,或者不同的 处理器型号,或者不同的板子,或者不同 的系统下)运行l移植工作量取决于被移植软件的复杂程度 和移植的层次举例l将linux移植到alpha处理器上,属于第一类:移植 到新的处理器架构上。工作量巨大,非高手不能 为 l将linux移植到s3c2410上,属于第二类:移植到 不同处理器型号。工作量大大降低 l将linux移植到你开发的开发板上,属于第3类:移 植到不同board上,如果你的board采用了如 s3c2410这样的处理器,则工作量很小l将QQ移植到linux平台上,属于第四类

2、,把软件移 植到不同的系统(操作系统)上 l移植一个操作系统与什么有关?l不考虑应用程序的移植,只考虑操作系统 移植到不同平台上。主要的工作体现在:l理解处理器架构(寄存器,指令集,编程 模式)l了解board的硬件设计(内存基地址? Flash地址?使用了处理器哪些资源?)l了解编译器(编译器传递参数的约定,支 持内嵌汇编否?)l当然,理解操作系统的设计Ucosii的移植lUcosii相对简单,移植工作量不大。l实现三个文件:l os_cpu.hl os_cpu_c.cl os_cpu_a.sOs_cpu.hl主要定义通用的数据类型和堆栈增长方式,确定 OS_ENTER/EXIT_CRITI

3、CAL的实现方式l数据类型是编译器相关的,堆栈增长方式是处理器相关的Os_cpu_c.cl主要实现堆栈初始化函数,以及一些钩子函数( OSTimeTickHook,OSTaskSwHook )l与编译器和处理器均相关Os_cpu.a.sl一个汇编语言文件,最重要的工作,实现任务切换,现场 保护/恢复lOSStartHighRdylOSCtxSwlOSIntCtxSwlOS_CPU_SR_SavelOS_CPU_SR_Restore此外l选择一个时钟节拍产生器(定时器中断? ),并且实现其isrl写一个板级初始化函数,用来对处理器和 必要的外设进行初始化,比如:对定时器 初始化,对内存控制寄存器初始化,设置 处理器工作模式总结l上面只是一般套路,可以根据情况调整。比如有的编译器支持内嵌汇 编,这种情况下,你完全可以不要os_cpu_a.s,而把 OSStartHighRdy, OSCtxSw等函数全放在os_cpu_c.c中用C实现l不管做什么调整,核心的是实现下面几个东西:l OSStartHighRdyl OSCtxSwl OSIntCtxSwl OSTaskStkInitl OS_ENTER_CRITICAL/ OS_EXIT_CRITICALl 确定时钟节拍如何产生,写一个isr,并在系统启动时候启动time tick

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号