keil5软件
stm32标准库及建好的空工程
freertos源码
stm32开发板(测试用)
下载Freertos源码
在工程目录下新建Freertos文件夹,并将freertos源码Source目录下的c文件、include文件夹、Source\portable\RVDS\ARM_CM3下的文件、Source\portable\MemMan\heap_2.c复制过来,将头文件都放到include目录下,利于管理。
在keil中新建分组freertos,并向其中添加freertos文件夹下的c文件
将freertos源码下Demo\CORTEX_STM32F103_Keil\FreeRTOSConfig.h复制到工程目录Freertos\include下
打开FreeRTOSConfig.h文件,在其最下面添加一下宏定义,这些宏将Freertos的这三个回调跟stm32官方的对应起来,这样就不用修改启动文件。同时需要将stm32f10x_it.c里边对应的三个函数注释掉或者加上weak关键字。 #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler #define vPortSVCHandler SVC_Handler
在需要用到Freertos相关函数和变量的文件中要包含对应的头文件,比如要创建任务需要task.h,用到队列要包含queue.h,用到信号量需要semphr.h等等。
新建测试任务进行测试,比如建立两个led闪烁任务和一个log接收并打印信息的任务。
FreeRTOSConfig.h包含一些基本配置和功能开关,需要仔细了解,很多问题都出自这个文件