
ST的固件库还是挺丰富的,有时候我们直接移植工程还是挺方便的,不过总是会有各种各样的报错存在,在移植的时候有哪些需要注意的吗?或者一些常见的报错如何解决? |
《年中视频学习心得》+我在年中学习STM32心得
电磁炉
boost电路程序控制
stm32cubemx在联网时无法启动,断网时可正常启动。
STM32U575VGT6在cubeMX中没有FATFS中间件,是不支持?还是待开发?现在这块板子使用FATFS只能自己手动移植吗?
金币用来兑换 积分是干啥的
关于STM32Cubemx 6.15版本生成工程的文件编码的问题
STM32G474 BOOST电路双环PID的用法
STM32G474RET6移相问题
如何解决用CubeMX生成代码时会将main.c文件中的汉字变成乱码的问题?
程度以及什么类型的外设库密不可分。移植过程中出现些问题也属正常,做些适配、调整动作在所难免。
这里简单聊几点供参考:
首先主要硬件上的差异,外设的多寡、管脚安排差异。
软件代码方面,不建议在老工程上缝缝补补,建议直接创建新工程,把必要的应用代码再次添加进来,
配置好合适工程包含路径。重建工程可以最大程度消除时钟系统、中断配置、DMA安排方面导致的问题。
代码方面,优先处理因外设有无差异而导致的代码问题;
重点处理因系统时钟差异需要调整外设运行快慢有关的配置,这点如果使用cubeMx进行配置基本可以图形化完成;
再就是内存布局方面的问题,比方调整链接脚本,调整指定地址;
还有就是一些宏开关定义,可能是来着库,也可能是自己定义的,因一时忘了相关宏定义导致运行不正常;
因主频快慢差异导致中断、DMA,尤其多中断、多DMA应用时可能因时序方面问题导致些莫名其妙
的问题,这类问题比较隐蔽而颇具细节,可能需要我们反复测试、细心比较琢磨做适当调整后加以解决。
比方位宽问题、对齐问题、标志判断问题、资源竞争。。。。这个时候,我们听得最多的一句就是,同样代码A芯
片好好的,换到B芯片就不行,潜台词往往是想说B芯片是不是有问题?