现象
GD32下电后重新上电,bootloader跳转到APP但不能正常运行,连心跳灯都没有亮。
使用IAR软件debug调试,bootloader程序运行正常,也执行到了跳转APP函数这一步。
IAR软件直接跳转地址运行APP程序,APP能正常运行,心跳灯闪烁,LCD屏幕正常显示。
原因
(中间的分析过程省略几百字)
原因就是bootloader跳转到APP前关了总中断!!!跳转到APP中I2C以中断方式读EEORPM卡住,该外设无法正常工作,程序也无法继续运行,任务没创建,心跳灯没初始化。
解决
APP设置中断向量表地址后开启总中断