STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上

STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上

  • FreeRTOS源码获取
  • 移植第一步:创建文件夹
  • Keil
    • main.c
  • 实验效果

FreeRTOS源码获取

在移植之前,首先要获取到 FreeRTOS 的官方的源码包。这里提供两个下载
链 接 , 一 个 是 官 网 : http://www.freertos.org/ , 另 外 一 个 是 代 码 托 管 网 站 :
https://sourceforge.net/projects/freertos/files/FreeRTOS/。打开网站链接之后,我们选择 FreeRTOS 的最新版本 V9.0.0(2016 年),尽管现在 FreeRTOS 的版本已经更新到 V10.0.1 了,但还是选择V9.0.0,因为内核很稳定,并且网上资料很多,因为 V10.0.0 版本之后是亚马逊收购了 FreeRTOS 之后才出来的版本,主要添加了一些云端组件,而且是需要付费使用,所以这里不考虑V10.0.0版本。

移植第一步:创建文件夹

将下载到的FreeRTOS源码解压,然后创建一个新文件夹,将可用的裸机工程复制到该文件夹下

在这里插入图片描述
STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上_第1张图片

在该文件夹目录下创建一个FreeRTOS文件夹,FreeRTOS文件夹新建内容如下:

STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上_第2张图片

  1. include文件夹:在FreeRTOS官方源码中路径为 FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Source\include,将该路径所有文件复制进刚刚创建的include文件夹中。
    STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上_第3张图片

  2. src文件夹:在FreeRTOS官方源码中路径为 FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Source

  3. port文件夹:将FreeRTOS官方源码中 FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Source\portable\RVDS和FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Source\portable\MemMang复制过来,RVDS是各种处理器相关的文件夹,MemMang是内存管理文件

Keil

根据以下图红框部分添加工程文件夹及文件,别忘了在魔术棒里的C++的include path里添加头文件的路径
STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上_第4张图片

main.c

在main.c里添加以下代码,注意:FreeRTOS.h一定放在task.h面前,不然会报错。

#include "stm32f4xx.h"
#include "bsp_led.h"

#include "FreeRTOS.h"
#include "task.h"

static void BSP_Init(void);


/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{
	BSP_Init();
	
}
//硬件初始化
static void BSP_Init(void)
{
	//中断优先级分组,分组为4,即4bit都用来表示抢占优先级,范围为:0~15
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

 //LED初始化
	LED_GPIO_Config();
	
	//串口初始化
	Debug_USART_Config();
	
	LED1_ON;
	
	printf("usart is ready!\r\n");
}

编译无错后烧录到板子上,看到板上红灯亮了,串口助手打印 usart is ready!,说明移植FreeRTOS到STM32F407成功!

实验效果

STM32F407霸天虎FreeRTOS学习笔记——移植FreeRTOS到开发板上_第5张图片

你可能感兴趣的:(STM32,STM32F407,stm32,单片机,学习)