S12X架构是飞思卡尔公司推出的16位CPU,占有一定的单片机应用市场。μC/OS—III是.MICrium公司推出的一款实时 *** 作系统(RTOS),它的前身——μC/OS—II,由于源码公开、实时性好、便于学习等优点,应用非常广泛,并被移植到了几乎所有主流的CPU架构上。但是到目前为止,μC/OS—III在S12X架构上还没有官方的移植版本。
μC/OS-III相比μC/OS—II作了很大的改进,整个内核基本被重写。任务的数量可无限多,只受限于系统存储器的大小;由于支持时间片轮转调度,任务的优先级可以相同;采用了延迟中断处理机制(deferred post),中断服务所要访问的全局变量数变得很少,使得大部分临界代码的保护只需要关闭调度器,而不需要关闭中断,大大缩短了系统的中断延迟;系统时钟服务(TIck handling)被移到了任务级执行,进一步缩短了中断延迟;引入了时间戳的概念,用32位计数器为系统提供了精确的时标,用来计算每个任务的CPU使用率、最长关中断时间、最长关调度器时间等;提供了独特的、丰富的运行时统计参数,为更好地应用μC/OS—III提供了有力的基础。更深入地了解μC/OS—III内核,读者可以参见参考文献。
总之,μC/OS—III是μC/OS—II的全面升级,具有更短的中断延迟、更丰富的运行时参数、更丰富的调试手段、更优的代码组织、更灵活的配置和使用等,但是,μC/OS—III对于硬件却没有更高的要求:对于ROM的需求,μC/OS—III为6~24 KB,μC/OS—II为6~26KB;对于RAM的需求二者均为1 KB左右,可见μC/OS—III同样适合运行在低端的8位、16位单片机上。由于继承了μC/OS—II的优点,μC/OS—III有了这么多新的优秀特性,它应该会得到更广泛的应用。本文详细地讲述了μC/OS—III移植的方法和在S12X架构上移植的具体步骤,希望能对在该方面有需求的读者提供帮助。
如前所述,μC/OS—III对于硬件的要求并不比μC/OS—II高多少。事实上,只要满足如下几条,μC/OS—III就能够被移植到该平台上:
①处理器带有支持标准C的工具链,并且需要支持32位数据。
②处理器支持中断,并能够提供10~1 000 Hz的周期中断作为系统的时钟节拍源。
③中断能够被关闭和打开。
④处理器有栈指针寄存器,并且所有其他的寄存器能够被存储和恢复。
⑤处理器能够支持足够的寻址空间。
这几个条件,现在的处理器架构都能够满足,S12X显然也满足,所以μC/OS—III能够移植到S12X架构上。
μC/OS—III的代码组织非常利于移植,代码按照模块分层次地组织在一起。移植时需要改动的模块和文件如表1所列。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)