
ST的固件库还是挺丰富的,有时候我们直接移植工程还是挺方便的,不过总是会有各种各样的报错存在,在移植的时候有哪些需要注意的吗?或者一些常见的报错如何解决? |
STM32H7使用HAL库如何控制外置USB HS PHY进入低功耗
《年中视频学习心得》+我在年中学习STM32心得
touchgfx handletickevent 执行的频率 是由什么决定的
touchgfx4.25 颜色错误?
ubuntu 编译stm32cubmax 生成的cmake工程,在最后链接阶段报错,can don't find-lc_none
STM32CubeMX居然卡死了
STM32G474VET6如何配置HRTIM的中心对齐模式
用STM32的時候是直接用MDK方便還是在vscode用keil插件方便一些
用cubemx配置好串口后,再配置一个adc输入就会卡在HardFault_Handler里不动了。
关于STMCubeIDE创建工程BUG解决办法!!!
程度以及什么类型的外设库密不可分。移植过程中出现些问题也属正常,做些适配、调整动作在所难免。
这里简单聊几点供参考:
首先主要硬件上的差异,外设的多寡、管脚安排差异。
软件代码方面,不建议在老工程上缝缝补补,建议直接创建新工程,把必要的应用代码再次添加进来,
配置好合适工程包含路径。重建工程可以最大程度消除时钟系统、中断配置、DMA安排方面导致的问题。
代码方面,优先处理因外设有无差异而导致的代码问题;
重点处理因系统时钟差异需要调整外设运行快慢有关的配置,这点如果使用cubeMx进行配置基本可以图形化完成;
再就是内存布局方面的问题,比方调整链接脚本,调整指定地址;
还有就是一些宏开关定义,可能是来着库,也可能是自己定义的,因一时忘了相关宏定义导致运行不正常;
因主频快慢差异导致中断、DMA,尤其多中断、多DMA应用时可能因时序方面问题导致些莫名其妙
的问题,这类问题比较隐蔽而颇具细节,可能需要我们反复测试、细心比较琢磨做适当调整后加以解决。
比方位宽问题、对齐问题、标志判断问题、资源竞争。。。。这个时候,我们听得最多的一句就是,同样代码A芯
片好好的,换到B芯片就不行,潜台词往往是想说B芯片是不是有问题?