准备活动
硬件
stm32wb55 nucleo开发板
stm32wb55 dangle
软件
rtthread stm32wb55 bsp
st官方 stm32wb固件包
开发环境
keil MDK
vscode
rtthread env
概述
本文的目的是将ST官方的STM32WB55 固件包里的BLE sample移植到RT-Thread,最终变为rtt生态的一个软件包,让更多开发者都可以直接做基于rtt开箱即用。
移植前准备
生成基于rtt的stm32wb55的最小工程
首先需要clone rtthread的stm32wb55的bsp,然后创建基本的工程,这一步很简单,从官方github仓库clone最新的代码,然后定位到stm32wb55的bsp,使用env scons --dist生成wb55最小工程。如下所示:
xph@XPHPC D:\GitHub\rt-thread\bsp\stm32\stm32wb55-st-nucleo
> scons --dist
scons: Reading SConscript files ...
make distribution....
=> stm32wb55-st-nucleo
=> start dist handle
=> copy stm32 bsp library
=> copy bsp drivers
=> components
=> include
=> libcpu
=> src
=> tools
update mdk5 project
update iar project
done!
然后用keil打开,编译烧录到nucleo开发板中验证。当开发板LED1蓝灯开始闪烁,同时串口有打印信息输出,则表示基于rtthread的最小工程生成成功。
\ | /
- RT - Thread Operating System
/ | \ 4.0.3 build Jan 7 2021
2006 - 2020 Copyright by rt-thread team
msh >
st官方固件包删除不相关代码
我们从最基础的beacon工程开始移植,删除其他不必要的工程文件和文件夹,方便代码分析工具分析和定位。如果工程文件夹太多,诸如vscode source insight这类代码工具就很难做到精确跳转。
如下图所示,我只保留基于keil mdk的beacon工程,其他的不相干的工程全部删除。
检查的方法也很简单,在固件包中搜索一下main.c函数,看一下有没有多余的就行了。
然后打开这个beacon工程,编译一下,没有错误,没有警告,那么准备工作就做好了。
|