记录一个Cortex-M23的一个重要问题

先看下面一段代码:

int *pp=(int *)0x20000002;
int a=*pp;
printf("a=%x\n",a);

请问这段代码运行是否有问题?

答案:这段代码运行是否会有问题得看是哪个运行平台,目前发现如果是Cortex-M23的话就必然会进入Hard_fault,Cortex-M4则不会,其它平台还没试过。

        对于Cortex-M23,它要求按照字访问的内存,其访问地址必须是字(4字节)对齐的,否则就进入Hard_fault。

你可能感兴趣的:(C/C++,嵌入式系统,c语言,单片机)