野火STM32H743XIH6开发板移植rt_thread后出现,定位后发现问题出现在rt_components_board_init初始化时初始化了cmd.c中的函数,
initialize rti_board_start:0 done
initialize mpu_init:0 done
initialize rti_end:0 done
initialize hello(hello为cmd.c中的)
psr: 0x60000000
r00: 0x08108b9a
r01: 0x40011000
r02: 0x08107a31
r03: 0x00000000
r04: 0x08009120
r05: 0x00000000
r06: 0x00000000
r07: 0x00000000
r08: 0x00000000
r09: 0x00000000
r10: 0x080092e4
r11: 0x00000000
r12: 0x080073cd
lr: 0x08105813
pc: 0x08108b9a
hard fault on handler
FPU active!
usage fault:
SCB_CFSR_UFSR:0x02 INVSTATE
就是cmd.c的第一个函数
所以我想问下为啥会初始化到cmd.c文件里面去
先注释掉,让系统跑起来?是用了自动初始化,而不是msh 到处命令?
还是不行哇,系统起不来,还是挂在初始化那里
参照 rt-thread 源码 BSP里的例程移植下吧,自己移植,跑步起来,很正常。原因也很多。
时钟配置、串口配置。
可以参考:
谢谢大佬,我找到原因了,链接库的问题,没有连接到link.sct,导致主函数没有找到起始地址最终越界
可以继续下一步了。遇到问题,尽量软件调试下,断点断下来,看看什么情况。