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

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

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源码解压,然后创建一个新文件夹,将可用的裸机工程复制到该文件夹下

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

  1. include文件夹:在FreeRTOS官方源码中路径为 FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Source\include,将该路径所有文件复制进刚刚创建的include文件夹中。
    在这里插入图片描述

  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里添加头文件的路径
在这里插入图片描述

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成功!

实验效果

在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值