请问stm32m0单片机按地址写长整数,地址必须是4的整数倍吗?

2019-07-14 15:56发布

一段以前用的很多的程序,以前在别的工程用过很多了(STM32 M3系列, 51单片机)
今天拿到m0单片机的工程里一运行就hard fault
找来找去似乎是这么个问题: 用指针往一个地址里写长整数数据, 这个地址必须是4的整数倍?
类似这样:
        {
                int* a;
                int* b;
                a = (int*)(0x20000410);
                *a = 0;                        //okay
                b = (int*)(0x20000421);
                *b = 0;                        //hard fault
        }
我用的是mdk5, 感觉应该是cpu什么模式没设置对吧? 应该怎么解决这个问题?
thx
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。