太阳不下山 发表于 2021-7-9 09:21:18

117_MPC5634M上尝试移植ucos系统

  大学的时候尝试过在8051单片机上做ucos的操作系统,最近尝试做了一下MPC5634M上的系统移植。
  没有什么特别的目的,只是觉得RTOS算是嵌入式中相对来说有点技术含量的东西,而我自己的手中恰好又有这个一个开发板。如今NXP的官网上提供支持PowerPC的gcc编译器,没有使用限制,看起来一切都就绪只带开工了。
  总结了一下整个移植的过程:

[*]首先做了一个PIT的配置,用的是软中断,先保证中断能够发生;
[*]配置一下系统时钟,借用PIT的中断测试了一下时钟,最终把主时钟定在80M,这也是这个芯片支持的最高主频;
[*]接下来,把拿到的ucos ii代码加入到工程中,尝试编译。编译的过程中,补充了缺少的文件以及宏定义。
[*]接下来,把PIT相关的信息以及中断代码转移到ucos给出的系统接口中。只要的系统接口(代码有点多,本文尽量只留下接口说明)如下:


[*]接下来,增加cache相关共能的实现。这一部分,需要汇编实现:


[*]接下来,还有一部分关键的汇编代码,主要接口如下:

  主要的关键点:IVOR4,这个NXP有成熟的实现,我直接使用了。

[*]接下来,还是汇编的考验,主要的实现点为高优先级任务的跳转以及任务上下文的切换。主要的接口:


[*]再往下,需要增加系统tic相关的处理:

  这是PIT相关操作,还有一个STM的计数器的实现,如果使能了Timer的功能需要增加这个配置。

[*]最后就是初始化以及任务创建了,示范代码如下:

  测试了一下,LED的闪烁功能OK。测试了两种系统的延时任务,功能也OK。编译接口处理耗费了一些时间,其他的感觉处理到还是请轻松。接下来可以在这个OS上尝试扩展下这个开发板的功能了。

  
文档来源:51CTO技术博客https://blog.51cto.com/greyzhang/3014612
页: [1]
查看完整版本: 117_MPC5634M上尝试移植ucos系统