评论

收藏

[其他] 117_MPC5634M上尝试移植ucos系统

网络安全 网络安全 发布于:2021-07-09 09:21 | 阅读数:517 | 评论:0

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

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


  • 接下来,增加cache相关共能的实现。这一部分,需要汇编实现:
DSC0001.png


  • 接下来,还有一部分关键的汇编代码,主要接口如下:
DSC0002.png

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

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


  • 再往下,需要增加系统tic相关的处理:
DSC0004.png

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

  • 最后就是初始化以及任务创建了,示范代码如下:
DSC0005.png

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

  
关注下面的标签,发现更多相似文章