项目中要用到嵌入式操作系统,考虑到免费开源,我首先想到了freeRTOS,之前只是在使用,对于移植没有在意,今天花了一些时间进行移植,平台是STM32F429,编译器是MDK5,由于,我们不需要理会汇编部分的内容,freeRTOS的官方源码包里面已经针对很多平台将接口对接好了,官方源码包里的demo是我们移植时的一个重要参考,里面囊括了很多平台,我们只需要找到我们 自己的平台便可轻松移植,下面是移植的过程:
1、在freeRTOS官网下载freeRTOS的源码[img=0,1]file:///C:\Users\Administrator.W8-201508102146\AppData\Roaming\Tencent\Users\274571483\QQ\WinTemp\RichOle\9ISY2203CXVJ[225A%[JH]T.png[/img],如图1和图2,我下载的版本为最新版V8.2.3
2、解压之后可看见如图所示内容,如图3,我们用的是FreeRTOS文件下中的内容,打开该文件夹,我们可以看见如图4所示内容,demo中是针对很多平台和编译器移植好了的范例,作为我们移植的一个参考,source文件夹就是我们将要用到的源文件
3、打开source文件夹,如图5,我们将queue.c tasks.c list.c timer.c和source/portable/RVDS路径下的port.c以及source/portable/MemMang路径下的heap_4加入我们的工程中,如图6。编译出现错误,提示找不到portmacro.h文件,这个文件是和平台对应的,我的是F4平台,该文件位于source/portable/RVDS/ARM_CM4F路径,将其加入工程中,
4、由于F4有硬件浮点机制