提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
根据网上多位老师的教程移植成功,后面包含了一些自己的报错和解决方法
这是我移植后的文件,移植过程中有些文件太长直接从这里复制就好
链接:https://pan.baidu.com/s/1dmsXzC5_gTP8HNdoKOlpTQ?pwd=1111
提取码:1111
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载FreeRTOSV9.0.0
点击:FreeRTOS
在这个页面等一会就会自动下载
解压后是这样的
二、开始移植
1.随便找一个文件
我直接使用的是江科大的OLED,方便后面调试
不放源码了,没有的可以去b站搜索一下留个三联吧!
解压出来是这样的
2.新建文件夹FreeRTOS/port
打开FreeRTOS文件下的Source
在这个文件里找到下面两个文件,复制到FreeRTOS/port里面
**
然后把include和下面的.c文件复制过来
结果是这样的(和全复制长得也差不多哈哈)
3.复制FreeRTOSConfig.h
粘贴在无所谓,我习惯在user里
(这个文件就是基本配置文件,刚学没多久,我也不是很会配置,借用网上开源的一个文件)
从开头给的百度网盘里面找,在USER文件里
4.复制system文件
我放在FreeRTOS文件里面了,复制到你自己的工程下
三、在工程里进行添加
1.添加文件
添加路径
就是上面.c文件对应的.h文件所在位置
2.编译
很好,现在有两个错误
这个是因为FreeRTOS自带了这两个函数,需要我们注释掉原来的函数
在stm32f10x_it.c里找到下面两个函数
SVC_Handler
PendSV_Handler
现在编译就没错误了
但是这还没完,还没有写中断函数
SysTick_Handler
找到这个函数进行编写
extern void xPortSysTickHandler(void);
void SysTick_Handler(void)
{
if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//xTaskGetSchedulerStateÅжÏϵͳÊÇ·ñÒѾÔËÐÐ
{
xPortSysTickHandler();
}
}
然后添加头文件
#include "stm32f10x_it.h"
#include "FreeRTOS.h" //FreeRTOSʹÓÃ
#include "task.h"
好了,现在基本使用就OK了
动态创建下次更新~