多语言展示
当前在线:646今日阅读:183今日分享:45

keil环境下stm32f103移植freertos

Freertos是一款开源的嵌入式操作系统,当软件系统变得比较大的时候,“裸奔”将变得非常复杂,而利用嵌入式操作系统可以简化软件架构,实现复杂的逻辑。本文简单介绍如何将freertos移植到stm32f103工程中,使嵌入式开发告别“裸奔”。
工具/原料
1

keil5软件

2

stm32标准库及建好的空工程

3

freertos源码

4

stm32开发板(测试用)

方法/步骤
1

下载Freertos源码

2

在工程目录下新建Freertos文件夹,并将freertos源码Source目录下的c文件、include文件夹、Source\portable\RVDS\ARM_CM3下的文件、Source\portable\MemMan\heap_2.c复制过来,将头文件都放到include目录下,利于管理。

3

在keil中新建分组freertos,并向其中添加freertos文件夹下的c文件

4

将freertos源码下Demo\CORTEX_STM32F103_Keil\FreeRTOSConfig.h复制到工程目录Freertos\include下

5

打开FreeRTOSConfig.h文件,在其最下面添加一下宏定义,这些宏将Freertos的这三个回调跟stm32官方的对应起来,这样就不用修改启动文件。同时需要将stm32f10x_it.c里边对应的三个函数注释掉或者加上weak关键字。        #define xPortPendSVHandler                   PendSV_Handler        #define xPortSysTickHandler                    SysTick_Handler        #define vPortSVCHandler                         SVC_Handler

6

在需要用到Freertos相关函数和变量的文件中要包含对应的头文件,比如要创建任务需要task.h,用到队列要包含queue.h,用到信号量需要semphr.h等等。

7

新建测试任务进行测试,比如建立两个led闪烁任务和一个log接收并打印信息的任务。

注意事项

FreeRTOSConfig.h包含一些基本配置和功能开关,需要仔细了解,很多问题都出自这个文件

推荐信息