STM32F407VET6 FreeRTOS实时操作系统移植

首先去FreeRTOS官网下载最新版的FreeRTOS实时操作系统的源码,下载地址:https://www.freertos.org/a00104.html,下载完之后解压,我这里的是FreeRTOS V10.2.1版本的内核,其它版本内核的移植是一样的。

1、FreeRTOS实时操作系统移植步骤如下:

  a、在工程目录下新建一个文件夹,命名:FreeRTOS,然后在FreeRTOS文件夹中创建几个文件夹:Core、Heap、include、Port

  b、解压下载的FreeRTOS内核源码,然后找出我们需要的源码文件,并拷贝到指定的目录下。

    aa、将FreeRTOSv10.2.1_191129FreeRTOSSource目录下的 croutine.c、event_groups.c、list.c、queue.c、tasks.c、timers.c 文件拷贝到我们新建的Core文件夹中

    bb、将FreeRTOSv10.2.1_191129FreeRTOSSourceinclude目录下的 croutine.h、event_groups.h、list.h、queue.h、task.h、timers.h 文件拷贝到我们新建的Core文件夹中

    cc、将FreeRTOSv10.2.1_191129FreeRTOSSourceportableMemMang目录下的 heap_1.c、heap_2.c、heap_3.c、heap_4.c、heap_5.c 文件拷贝到我们新建的Heap文件夹中

    dd、将FreeRTOSv10.2.1_191129FreeRTOSSourceinclude目录下的 deprecated_definitions.h、FreeRTOS.h、message_buffer.h、mpu_prototypes.h、mpu_wrappers.h、portable.h、projdefs.h、semphr.h、stack_macros.h、StackMacros.h、stream_buffer.h 文件拷贝到我们新建的include文件夹中

    ee、将FreeRTOSv10.2.1_191129FreeRTOSDemoCORTEX_M4F_STM32F407ZG-SK目录下的 FreeRTOSConfig.h 拷贝到我们新建的include文件夹中

    ff、将FreeRTOSv10.2.1_191129FreeRTOSSourceportableRVDSARM_CM4F目录下的 port.c、portmacro.h 拷贝到我们新建的port文件夹中

    gg、到这里为止FreeRTOS的内核源码我们拷贝完成了,接下来就是创建工程移植内核了

  c、新建STM32F407VET6工程结构如下:

          

    

     编译之后,在stm32f4xx_it.c文件中注释掉三个函数,分别为:void SVC_Handler(void)、void PendSV_Handler(void)、void SysTick_Handler(void)。

  d、添加FreeRTOS内核源码到工程中去然后编译

    

    至此FreeRTOS移植完毕。

    

原文地址:https://www.cnblogs.com/icode-wzc/p/12911552.html