我在很多次回帖时提到过,现在cubemx与studio的联动,还不是太友好,生成的文件会有重复,也可能会导致hal版本不一致的问题(Cubemx中可以选择hal版本)。
如楼上Assert朋友所言,rtt中真正需要的部分,只是cubemx生成的硬件层面的xxx_msp_init,这个函数中对引脚的复用功能进行了初始化。
从层次来讲,rtt的设备管理逻辑很清晰,自顶向下可以认为是:
rtt device --> drv_xx.c --> hal library --> xxx_msp_init
因此,board.h中的注释部分给出的步骤,意味着:
board.h中使用BSP_USING_XX,rt studio就自动包含了drv_xx.c,它为device框架提供每种device的init,write,read等。
stm32xx_conf.h中进一步使能HAL外设,drv_xx.c中就可以调用了HAL库的各种接口函数,完成HAL库层面的功能配置;
最后在board.c中添加cubemx生成的xxx_msp_init,完成底层硬件引脚的复用功能。
最终结论:
至少,在目前的版本下,避免用cubemx和studio的联动。在其他目录新建ioc文件好了,反正你需要的只是xxx_msp_init函数。