[技术问答]

word读取Flash特定地址,发生hardfault_handle

[复制链接]
245|3
手机看帖
扫描二维码
随时随地手机跟帖
junzheng|  楼主 | 2022-8-2 15:26 | 显示全部楼层 |阅读模式
AN, ar
在进行Flash读操作时,有个特定地址0x3f022,0x3f023,

uint8_t a1 = *((unsigned char *)0x3f022);
uint8_t a2 = *((unsigned char *)0x3f023);
uint16_t a3 = *((unsigned short int *)0x3f022);
uint32_t a4 = *((unsigned int *)0x3f022);      //前三句都正常,这句话引发 hardfault_handle,但别的地址读取都没问题啊。


使用特权

评论回复
wubangmi| | 2022-8-2 16:41 | 显示全部楼层
正常情况下,unsigned int类型不是应该是4的倍数的地址吗?你怎么从中间地址读?

使用特权

评论回复
chenjun89| | 2022-8-3 21:25 | 显示全部楼层
数据类型不匹配

使用特权

评论回复
martinhu| | 2022-8-4 10:25 | 显示全部楼层
uint32_t a4 = *((unsigned int *)0x3f022);   读word的话,需要地址word对齐,地址结尾肯定是0、4、8、C……不然就是hard fault……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则