2005 版 uCOSC51 移植心得【原创】
日期:2005-2-22 15:29:00
作者:pwl999
作者:深圳中慧电子公司 CyberTeam 彭伟林
邮箱:marine_love@163.com
QQ:63467764
文件制作:欧阳
(1)实时系统和前/后台系统: ..............................................................................................................................1
(2)uCOS C51 移植的准备工作;.........................................................................................................................2
(3)uCOS C51 的移植概况:.................................................................................................................................3
1、工具: ...........................................................................................................................................................3
2、uCOS V2.52 的文件结构与移植所需要的修改:......................................................................................3
A、与处理器无关的文件:.......................................................................................................................3
B、与应用相关的文件:...........................................................................................................................3
C、与处理器相关的文件:.......................................................................................................................3
(4)uCOS C51 具体的移植过程;.........................................................................................................................4
1、C51 的堆栈结构:........................................................................................................................................4
A、 系统堆栈: ........................................................................................................................................4
B、 数据堆栈;.........................................................................................................................................4
C、 C51 中断中堆栈的保护;.................................................................................................................4
2、uCOS C51 任务切换时的堆栈操作:.........................................................................................................5
3、INCLUDES.H 的移植;...............................................................................................................................5
4、OS_CPU.H 的移植;....................................................................................................................................6
5、OS_CPU_A.ASM 的移植;.........................................................................................................................7
6、OS_CPU_C.C 的移植;.............................................................................................................................14
7、其他; .........................................................................................................................................................16
最近搞了一个 uCOS c51 的移植。在查资料的时候发现网上这方面的资料比较少,所以将我自己的笔记
整理出来,希望对大家做 uCOS 的移植有所启发。还希望大家多多顶一顶!:)
(1)实时系统和前/后台系统
前/后台系统:一个大循环,循环查询各种标志位。如果标志位置位,就执行相应的服务程序。标志位
就是标志事件的发生,事件响应延时处于不可预测状态。最坏的情况是循环中所有其他的事件服务程序执
行完,才响应当前事件。中断服务虽然能即时/优先响应,但是它们和主循环的通讯,也是通过置主循环中
相应的标志位来完成的。
实时系统(uCOS):整个程序分成一个个看起来好象是并行的任务,每个任务都在等待事件的发生。
因为 uCOS 不支持时间片轮转,除了最低优先级任务(在 uCOS 中是 IDLE 任务)是死循环以外,其他的任
务都不能死循环,只能在驱动事件驱动下工作。任何驱动事件的产生,都使优先级最高的就绪任务运行。
任务和任务/任务和中断的通讯,是通过相应事件驱动来完成的。