junzheng 发表于 2022-8-2 15:26

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

在进行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……

littlelida 发表于 2022-8-14 14:24

那就是写错地址了?

duo点 发表于 2022-8-18 11:20

数据类型不匹配吗

junzheng 发表于 2022-8-19 18:12

谢谢大家!问题解决了,是对齐问题。
页: [1]
查看完整版本: word读取Flash特定地址,发生hardfault_handle