)
这里我们直接上干货。首先大家下打开附件的模板直接研究模板文件。除了FreeRTOS文件夹之外其它文件都是STM32裸机程序我们已经很熟悉这里不再赘述。这里先说一下User这个文件夹里面有一个FreeRTOSConfig.h的头文件也是我们添加进去的它是位于FreeRTOS源码里面的。参考下面的路径把该头文件放在user 文件夹见名知义我们就可以知道里面存放的文件都是用户自己编写的。接下来就是重头戏是我们移植中的重中之重。我们在FreeRTOS文件夹下新建3个文件夹分别为src、include和port。1.include文件夹下的内容是我们需要用到的FREERTOS的一些头文件被COPY过来的这些文件在FreeRTOS源码的位置是2.src文件夹用于保存FreeRTOS和核心源文件被COPY过来的这些文件在FreeRTOS源码的位置是3.port文件夹用于保存内存管理以及处理器架构相关代码被COPY过来的这两个文件夹在FreeRTOS源码的位置是这两个文件夹里面的主要内容我也摘出来接下来就是编译器的设置了我们打开工程文件在工程中新建组1和组2并且将程序文件添加进去完成后效果如下图最后我们指定下头文件路径由于一开始我们只需要FreeRTOS的简单功能所有FreeRTOSConfig.h文件我们要做一系列的修改。这里建议直接使用我们已经修改过的头文件还有stm32f4xx_it.c程序文件也需要修改FreeRTOS 为开发者考虑得特别多PendSV_Handler()与 SVC_Handler()这两个很重要的函数都帮我们实现了 在 port.c 文件中已经实现 xPortPendSVHandler()与 vPortSVCHandler()函 数 防 止 我 们 自 己 实 现 不 了 那 么 在 stm32f4xx_it.c 中 就 需 要 我 们 注 释 掉PendSV_Handler()与 SVC_Handler()这两个函数了。最后我们修改以下main文件。详细参照附件程序。当然这也太过简单了不过学习是一个循序渐进的过程里面的很多程序是什么含义我们还都不太了解但是没有关系随着我们学习的深入这些程序或者是宏定义都会涉及到疑惑也会迎刃而解了。