rtosc语言编译器
发布时间: 2024-05-27 13:33:48
1. FreeRTOS 移栽要点怎么解决
FreeRTOS 的移植主要需要改写如下三个文件。
1.portmacro.h
2.port.c
3.port.asm
如果采用的C编译器允许在C代码中插入汇编,并且支持用C语言写中断处理函数。则port.asm 文件的内容是可以物哪合并到port.c 中的。
下面以将 FreeRTOS 移植到FreeScale 68HCS12内核的单片机为例,开发环境采用:CodeWarriorDevelopment Studio V5.9.0
之所以采用FreeScale 68HCS12 作为示例 CPU,是因为我以前写过一篇将uC/OS-II移植到FreeScale 68HCS12 核单片机的笔记。采用同样晌皮的CPU,同样的开发环境,可以方便我们比较两种不同实时操作系统的移植代码的异同。另外,FreeScale 68HCS12 相对ARM、MIPS 等构架要简单的多。移植代码量相对来说也要小一些,因此也更容易入门。
portmacro.h
portmacro.h 主要包括两部分内容,第一部分定义了一系列内核代码中用到的数据类型。FreeRTOS 与 uC/OS-II 一样,并不直接使用char、int 等这些原生类型,而是将其重新定义为一系列以port开头的新类型。在uC/OS-II的移植代码中,通常采用 typedef 来定义新的类型,而FreeRTOS的作者似乎更喜欢用宏定义。下面是相应的代码片段。
之所以要搞这两个宏,是为了利用某些C编译器的扩展功能对任务函数进行更好的优化。CodeWarrior 并不提供相关的功能,所以在这里任务就是普通的函数。
热点内容