欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RTOS系统2-开发环境配置

程序员文章站 2024-02-22 18:31:46
...

1、下载keil

在keil官网上下载 keil v5,并安装完成。也可以参考这篇文章:keil下载**(附文件)

安装完成后打开跳出pack install界面,在其中选择对应型号的stm32pack 并安装。如下图

RTOS系统2-开发环境配置

2、环境验证

使用keil编译文件:LED

编译通过即可

3、FreeRTOS学习

参考很详细的PDF:FreeRTOS学习资料

4.移植问题汇总

问题:error This port can only be used when the project options are configured to enable hardware f

解决:keil的target中选浮点单元,因为我的用的例子是stm32f429,支持浮点运算

RTOS系统2-开发环境配置

问题:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c(712): error:  #20: identifier "SystemCoreClock" is undefined

原因:FreeRTOSConfig.h中有段代码:

#ifdef __ICCARM__
	#include <stdint.h>
	extern uint32_t SystemCoreClock;
#endif

#define configUSE_PREEMPTION			1
#define configUSE_IDLE_HOOK				1
#define configUSE_TICK_HOOK				1
#define configCPU_CLOCK_HZ				( SystemCoreClock )
#define configTICK_RATE_HZ				( ( TickType_t ) 1000 )

我使用的是keil,而ICCARM是在IAR下才存在,因此只有IAR编译环境下该条语句才被编译;而这歌FreeRTOS文件是从demo中copy过来的,这个demo是在IAR下编译的,demo如下图

RTOS系统2-开发环境配置

因此需改为:(__CC_ARM是keil编译器定义的

#if defined(__ICCARM__)||defined(__CC_ARM)||defined(__GNUC__)
	#include <stdint.h>
	extern uint32_t SystemCoreClock;
#endif

或去掉条件编译

其他错误可以参见资料中的pdf参考文件




相关标签: FreeRTOS