最近在学习FreeRTOS,使用CubeMX生成Keil代码,编译速度很慢,之后在Keil中设置V6编译器后编译速度加快,还能接受;
今天无意看到STM32CubeIDE这个软件编译代码速度还可以,于是打算使用STM32CubeIDE来搭建一个FreeRTOS的基础工程并编译下载。
软件:STM32CubeIDE V1.2
硬件:Nucleo-L476
下载程序软件:
STM32CubeProgrammer V2.3
STM32 ST-LINK Utility V4.5
一 .工程
安装好STM32CubeIDE后打开,新建STM32工程(注意这里使用的是基于CubeMX生成代码)
2.选择好自己使用的芯片或者平台,我这里直接选择Nucleo-L476,点击“Next”
写自己工程名字
3. 进行相关配置,和CubeMX使用方法相同,这里参照我之前写的
《Nucleo-L476运行FreeRTOS学习1-环境搭建Demo》https://blog.csdn.net/Paul_Yu_Zhang/article/details/104233028
本次建立一个LED闪烁的任务,具体自己领悟。
只不过最后生成代码的时候,这里默认的环境为STM32CubeIDE
生成代码后编译一下(速度还挺快):
二. 代码修改
任务目标:LED500ms闪烁一次
/* USER CODE END Header_LEDTask */
void LEDTask(void const * argument)
{
/* USER CODE BEGIN LEDTask */
/* Infinite loop */
for(;;)
{
osDelay(500);
HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);//翻转LED电平
}
/* USER CODE END LEDTask */
}
三 . 在线调试
Debug第一次需要升级固件
点击“Open in update mode”之后可升级
升级成功之后可以调试
其他按钮的功能和Keil类似......
四.代码下载
1. 先生成运行代码
2. 可以使用STM32 ST-LINK Utility下载,
也可以使用STM32CubeProgrammer下载程序