RTOS系统2-开发环境配置

1、下载keil

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

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


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,支持浮点运算


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

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

扫描二维码关注公众号,回复: 1574042 查看本文章
#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如下图


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

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

或去掉条件编译

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




猜你喜欢

转载自blog.csdn.net/weixin_37058227/article/details/80579649