STM32
直播中

大红枣

12年用户 630经验值
私信 关注
[问答]

如何解决STM32串口+DMA发送数据程序卡死问题?

如何解决STM32串口+DMA发送数据程序卡死问题?

回帖(1)

孙喆

2021-12-13 15:08:15
硬件平台:STM32F411RET6
软件环境:IAR IDE for arm 8.30.1
问题现象:在使用串口+DMA发送数据时,调用发数函数之后,程序卡死,程序跑飞到0x8004e30。
问题解决:
1、定位到只要启动DMA程序就出现异常
2、因为icf文件设置的程序起始flash地址为0x8008000,但跑飞地址为0x8004e30
3、正常情况跑飞地址范围也是从0x8008000开始,查看map文件发现.s向量表地址是从0x8008000开始
4、其实正真的向量表是由软件配置寄存器SCB->VTOR配置的
5、查看该寄存器值还是默认值0x8000000
6、将该值改成0x8008000后,软件运行正常
举报

更多回帖

发帖
×
20
完善资料,
赚取积分