RTOS系统2-开发环境配置
程序员文章站
2024-02-22 18:31:46
...
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中有段代码:
#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参考文件
上一篇: c#的params参数使用示例