|
ST的固件库还是挺丰富的,有时候我们直接移植工程还是挺方便的,不过总是会有各种各样的报错存在,在移植的时候有哪些需要注意的吗?或者一些常见的报错如何解决? |
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
ST的MCU开发
ST的MCU开发
STM32H725VGT3内存不足问题
关于STM32Cubemx 6.15版本生成工程的文件编码的问题
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
STM32H7 USB3300底层寄存器问题
STM32H725S没有硬件双缓冲吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
MC Workbench无法生成ioc文件,报错无法比较两个不同的数据类型
微信公众号
手机版
程度以及什么类型的外设库密不可分。移植过程中出现些问题也属正常,做些适配、调整动作在所难免。
这里简单聊几点供参考:
首先主要硬件上的差异,外设的多寡、管脚安排差异。
软件代码方面,不建议在老工程上缝缝补补,建议直接创建新工程,把必要的应用代码再次添加进来,
配置好合适工程包含路径。重建工程可以最大程度消除时钟系统、中断配置、DMA安排方面导致的问题。
代码方面,优先处理因外设有无差异而导致的代码问题;
重点处理因系统时钟差异需要调整外设运行快慢有关的配置,这点如果使用cubeMx进行配置基本可以图形化完成;
再就是内存布局方面的问题,比方调整链接脚本,调整指定地址;
还有就是一些宏开关定义,可能是来着库,也可能是自己定义的,因一时忘了相关宏定义导致运行不正常;
因主频快慢差异导致中断、DMA,尤其多中断、多DMA应用时可能因时序方面问题导致些莫名其妙
的问题,这类问题比较隐蔽而颇具细节,可能需要我们反复测试、细心比较琢磨做适当调整后加以解决。
比方位宽问题、对齐问题、标志判断问题、资源竞争。。。。这个时候,我们听得最多的一句就是,同样代码A芯
片好好的,换到B芯片就不行,潜台词往往是想说B芯片是不是有问题?