|
ST的固件库还是挺丰富的,有时候我们直接移植工程还是挺方便的,不过总是会有各种各样的报错存在,在移植的时候有哪些需要注意的吗?或者一些常见的报错如何解决? |
使用CUB进行调试或者下载固件时候均出现下面的报错,使用的工具是J-LINK,尝试重新给工具上电,重启IDE,重启电脑,更新配置均是一样问题点,请问这个是为什么呢
STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?
STM32U385的PB1引脚设置推挽输出,外部接电阻上拉时,断掉MCU的电源,MCU仍然运行的问题
CubeMX lwip支持的phy芯片型号只支持一个吗?
stm32 usb hid设备能发数据给PC,但不能接收PC的数据!!!
STM32WL55如何进行ota?
STM32CubeMX对STM32H723VET6芯片生成USB Audio Class接口时,只能生成扬声器模式,不能生成麦克风模式?如果要修改为麦克风设备改怎么修改?
STM32H723FDCANT通信
STM32N647配置LTDC时遇到问题
CubeMX加载X-CUBE-AI库以后 再新建工程进不去mcu选择界面
微信公众号
手机版
程度以及什么类型的外设库密不可分。移植过程中出现些问题也属正常,做些适配、调整动作在所难免。
这里简单聊几点供参考:
首先主要硬件上的差异,外设的多寡、管脚安排差异。
软件代码方面,不建议在老工程上缝缝补补,建议直接创建新工程,把必要的应用代码再次添加进来,
配置好合适工程包含路径。重建工程可以最大程度消除时钟系统、中断配置、DMA安排方面导致的问题。
代码方面,优先处理因外设有无差异而导致的代码问题;
重点处理因系统时钟差异需要调整外设运行快慢有关的配置,这点如果使用cubeMx进行配置基本可以图形化完成;
再就是内存布局方面的问题,比方调整链接脚本,调整指定地址;
还有就是一些宏开关定义,可能是来着库,也可能是自己定义的,因一时忘了相关宏定义导致运行不正常;
因主频快慢差异导致中断、DMA,尤其多中断、多DMA应用时可能因时序方面问题导致些莫名其妙
的问题,这类问题比较隐蔽而颇具细节,可能需要我们反复测试、细心比较琢磨做适当调整后加以解决。
比方位宽问题、对齐问题、标志判断问题、资源竞争。。。。这个时候,我们听得最多的一句就是,同样代码A芯
片好好的,换到B芯片就不行,潜台词往往是想说B芯片是不是有问题?