需求分析
最近有些客户需要在 STM32WL55 实现 LoRaWAN FUOTA 功能,LoRaWAN_FUOTA 默认是基于双核 STM32WL55JC, 由于成本考虑客户需要用 STM32WLE5CC,客户咨询如何移植?
工程分析
以下移植是基于 IAR IDE 和 STM32Cube_FW_WL_V1.3.0,复制STM32Cube_FW_WL_V1.3.0ProjectsNUCLEO-WL55JCApplications 下的LoRaWAN_FUOTA 为 LoRaWAN_FUOTA_WLE5CC。
移植
以下移植是基于 IAR IDE 和 STM32Cube_FW_WL_V1.3.0,复制STM32Cube_FW_WL_V1.3.0ProjectsNUCLEO-WL55JCApplications 下的LoRaWAN_FUOTA 为 LoRaWAN_FUOTA_WLE5CC。
编译
可在 LoRaWAN_FUOTA_WLE5CCScriptsEWARMbuild.bat 编译LoRaWAN_End_Node 之后加个 “pause”命令,查看编译 log
下载
通过 STLink 连接 STM32WLE5CC 的板子到 PC 上,运行 program.bat 即可下载LoRaWAN_End_NodeEWARMBinaryBFU_LoRaWAN_End_Node.bin 到 flash 的0x08000000 处。
运行
下载完 BFU_LoRaWAN_End_Node.bin 之后,将 STM32WLE5CC 的板子重新断电再上电!至此 STM32WLE5CC 上可运行 LoRaWAN_FUOTA 了。
小结
移植要点:
使用 STM32Cube_FW_WL_V1.3.0DriversCMSISDeviceSTSTM32WLxxSourceTemplatesiarstartup_stm32wl55xx_cm4,保持原有的.icf 文件。
通过 IDE 修改 Device 由 ST STM32WL55JC 改为 ST STM32WLE5CC,将宏定义STM32WL55XX 改为 STM32WLE5XX注释掉或删除 Scriptsdisable_security.bat 中的 C2BOOT_LOCK,HDPAD,SUBGHSPISD,SNBRSA,SBRSA,SBRV 的 OtionBytes 配置。