4.0.2版本的rt-thread已经支持了标准的STM32各系列的bsp模板,可以参考rt-thread的如下路径文章《rt-thread/bsp/stm32/docs/STM32系列BSP制作教程.md》进行移植。本文主要记录需要注意的几点
1.路径不能有任何中文和空格,需要特别注意
2.templates的里面没有L0系列的例子,可以参考《stm32l053-st-nucleo》这个demo
3.如添加了PM组件,则
1)需要注意手动添加如下几个文件,这几个文件中lptime时L4系列芯片的,好在STM32的兼容性做得非常好,基本都通用了。这个给点赞。
2)以及这个lptim文件
3)并在文件《stm32l0xx_hal_conf.h》中将宏定义 HAL_LPTIM_MODULE_ENABLED 打开
在board的SystemClock_Config()函数中,需要在最后添加如下两句代码,分别表示从休眠唤醒采用HSI作为主时钟,以及将MSI关闭。如果不讲HSI作为唤醒的主时钟,则会出现唤醒之后HSI被关闭的情况,造成systick时间不准确。
/**Ensure that HSI is wake-up system clock
*/
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_HSI);
/**Turn off the MSI
*/
__HAL_RCC_MSI_DISABLE();
4)sleep和run函数,根据实际情况进行调整。特别是sleep函数,根据需要的集中睡眠模式调整即可。
5)注意rt_pm_request要和rt_pm_release成对出现使用