- Forums
- Resources
- About
- Groups
Close
对于Cortex M系列内核而言, Stack的以word(32bit)为单位.
即使push一个byte,或者一个half word, stack也会占用一个word. 只是多用一些空间.
但是如果发生异常, 硬件会自动入栈一个frame.
Cortex M内核的手册也表示在入栈时stack要以8byte, 也就是2 word对齐.
对于Cortex M0, STKALIGN不可写. 那么如果在发生异常时,stack并非8byte对齐, 而是4Byte对齐, 处理器会怎么应对. 本贴做了个小实验来看看.
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。