[STM32H7] STM32H7系列】+硬件调试的小经验

[复制链接]
1399|7
 楼主| 飞扬自我 发表于 2019-11-5 01:28 | 显示全部楼层 |阅读模式
移植一些算法到STM32上,算法在PC上能够运行,而移植到STM32的时候就会出现问题,
总结来说主要是因为编译器的版本不同,MDK5的编译器是很古老的编译器,有些C语**有问题。
06991e126603e621ad261f24ac83b8aa.jpg
常见的问题就是:
结构体赋值的时候,在32里面的代码,结构体赋值必须要一个变量一个变量的赋值,不能够直接赋值。
或者定义变量的时候不能用的时候才定义变量,需要将变量放在这个模块的前面
    将算法移植到STM32的时候,首先要考虑的就是STM32的内存大小是否足够大,如果不够大,一般就是报有.ANY的一些错误。(所以建议一开始移植算法的时候使用比较好的硬件条件来移植,不然后面出了问题可能都不知道到底在哪里出错了)
如果定义的数组太大,超出了STM32堆栈的大小,那么STM32就会进入Hardfault。(因为进入Hardfault会有延时一行代码,所以建议查看Hardfault的时候建议使用上一盘中JTAG调试窗口中查看中断的窗口,能够更明白的清除Hardfault在哪里产生的)

066aaa0f2d0fedd346de3ad30f74ede2.jpg

mmuuss586 发表于 2019-11-8 10:08 | 显示全部楼层
heimaojingzhang 发表于 2019-12-4 13:27 | 显示全部楼层
非常感谢楼主分享
keaibukelian 发表于 2019-12-4 13:30 | 显示全部楼层
非常好的资料
labasi 发表于 2019-12-4 13:35 | 显示全部楼层
非常好的资料
paotangsan 发表于 2019-12-4 13:39 | 显示全部楼层
非常好的资料
renzheshengui 发表于 2019-12-4 13:45 | 显示全部楼层
非常好的资料
wakayi 发表于 2019-12-4 13:49 | 显示全部楼层
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

494

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部