HC32L136获取唯一身份标识跳转HardFault_Handler

[复制链接]
1493|3
 楼主| qgy1007 发表于 2024-1-3 16:53 | 显示全部楼层 |阅读模式

int32_t main(void){
UniqueID[0]  = *((volatile unsigned int*)0x00100E74);//这个可以读取的到
  UniqueID[1]  = *((volatile unsigned int*)0x00100E75);//下面的读取则直接跳转到HardFault_Handler
  UniqueID[2]  = *((volatile unsigned int*)0x00100E76);
  UniqueID[3]  = *((volatile unsigned int*)0x00100E77);
  UniqueID[4]  = *((volatile unsigned int*)0x00100E78);
  UniqueID[5]  = *((volatile unsigned int*)0x00100E79);
  UniqueID[6]  = *((volatile unsigned int*)0x00100E7a);
  UniqueID[7]  = *((volatile unsigned int*)0x00100E7b);
  UniqueID[8]  = *((volatile unsigned int*)0x00100E7c);
  UniqueID[9]  = *((volatile unsigned int*)0x00100E7d);
  while(1);
}
 楼主| qgy1007 发表于 2024-1-3 16:54 | 显示全部楼层

HC32L136获取唯一身份标识跳转HardFault_Handler

发生这错误,是什么原因?

ccSmartmeter 发表于 2024-1-4 08:31 | 显示全部楼层
你int应该4字节对齐,你那个用int,你一个字节一个字节加是什么意思
delin17 发表于 2024-1-4 09:06 | 显示全部楼层
地址和类型不对,int地址应该是4字节对齐。你按字节读,要用unsigend char
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部