首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

uCOS II嵌入式系统在C8051F060上的应用 02

uCOS II嵌入式系统在C8051F060上的应用 02

,任务参数是通过寄存器R3、R2、R1传递,而不是通过虚拟堆栈传递。如:
*stk++=(INT16U)dpdata&0xFF; //R1
*stk++=(INT16U)dpdata>>8; //R2
*stk++=0x03; //R3

1.2 系统测试
    uCOS II系统移植完成以后,需要检验系统是否能运行正常。笔者参考了uCOS II系统的作者的测试方法进行了3个步骤的测试:
  • 验证OSTaskStkInit()和OSStartHighRdy()函数;
  • 验证OSCtxSw()函数;
  • 验证OSIntCtxSw()和OSTickISR()函数。
测试结果,系统在C8051F060上运行正常。

1.3 以C8051F060单片机为应用平台的uCOS II系统的开发
    uCOS II系统稳定正常的运行以后,就可以依此为应用平台进行项目开发。
    有着丰富资源的C8051F060单片机是比较新的混合信号片上系统SOC,从它的主要特性中可以看出,在满足较大的外围电路设计的同时,能大大简化电路。笔者所用的硬件环境是新华龙公司生产的C8051F MCU教学实验系统,该系统上面集成了各类传感器、RS-485和RS232串行通讯口、步进电机和直流电机控制器以及RJ-45以太网测控接口,整个系统利用串行适配器与PC进行连接。
    在软件设计中,主函数均以OSInit()函数开始,以OSStart()函数结束,中间部分为与硬件相关的系统初始化函数,以及建立任务的函数。对于应用程序的任务的建立,必须依照uCOS II系统中建立任务的格式,根据自己的需求来确定任务的个数,并且根据任务的重要程度和被调用的频率来设置好优先级,创建好任务后,在主函数外面分别列出各个任务函数,每个任务函数都是一个无限循环程序,在无限循环中调用实现某些功能的应用程序函数,然后按设计的需求设置挂起方式和挂起时间。中断服务子程序最好用汇编语言编写,并放入OS_CPU_A.ASM文件中。而C语言编写的应用程序则放在OS_CPU_C.C文件中,这些函数供主函数和任务调用。
    软件设计好后,就可以和硬件连接起来进行调试了。
2 结语
    uCOS II实时操作系统的应用日益广泛,处理器嵌入操作系统系统进行开发也成必然趋势,并能充分体现其优越性。笔者已经成功的将uCOS II系统移植到C8051F060单片机上,并成功运用到多功能电子万年历的设计中,使得万年历系统更加稳定可靠,取得了预期效果。
返回列表