
ST的固件库还是挺丰富的,有时候我们直接移植工程还是挺方便的,不过总是会有各种各样的报错存在,在移植的时候有哪些需要注意的吗?或者一些常见的报错如何解决? |
关于使用cubemx配置stm32g473re的opamp工作模式:Programmable gain amplifier mode with external filtering
STM32会存在单个IO口坏掉的情况吗?
STM32IDE如何设定代码到ITCM中运行。
STM32H7R7 CubeMX无配置问题
如何解决用CubeMX生成代码时会将main.c文件中的汉字变成乱码的问题?
用NanoEdge Ai训练多分类后输出概率一直为一样的值,传不同数据永远都是一样的概率
STM32F723ZET6使用ADC捕获标准正弦波并通过USB主动上报,正弦波重新拟合后存在凹陷峰?
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
STM32N6 cubeAI部署时用的内存是在内部还是外部?
STM32N657X0Q无法通过SPI驱动st7796板子
程度以及什么类型的外设库密不可分。移植过程中出现些问题也属正常,做些适配、调整动作在所难免。
这里简单聊几点供参考:
首先主要硬件上的差异,外设的多寡、管脚安排差异。
软件代码方面,不建议在老工程上缝缝补补,建议直接创建新工程,把必要的应用代码再次添加进来,
配置好合适工程包含路径。重建工程可以最大程度消除时钟系统、中断配置、DMA安排方面导致的问题。
代码方面,优先处理因外设有无差异而导致的代码问题;
重点处理因系统时钟差异需要调整外设运行快慢有关的配置,这点如果使用cubeMx进行配置基本可以图形化完成;
再就是内存布局方面的问题,比方调整链接脚本,调整指定地址;
还有就是一些宏开关定义,可能是来着库,也可能是自己定义的,因一时忘了相关宏定义导致运行不正常;
因主频快慢差异导致中断、DMA,尤其多中断、多DMA应用时可能因时序方面问题导致些莫名其妙
的问题,这类问题比较隐蔽而颇具细节,可能需要我们反复测试、细心比较琢磨做适当调整后加以解决。
比方位宽问题、对齐问题、标志判断问题、资源竞争。。。。这个时候,我们听得最多的一句就是,同样代码A芯
片好好的,换到B芯片就不行,潜台词往往是想说B芯片是不是有问题?