cortex二种模式的堆栈.

[复制链接]
3400|6
 楼主| Swd21ic 发表于 2008-10-21 21:32 | 显示全部楼层 |阅读模式
..上电后默认的是sp_main吧.
看IAR启动时,通过__vetco_table安装到了"CSTACK"顶端..

为什么没有在xcl文件中定义sp_process的堆空间?

cortex中断也没有汇编处理,没看到设置sp的地方哦,不是中断后就使用sp_process么???~

.
andrew.xu 发表于 2008-10-22 17:08 | 显示全部楼层

sp_process不一定要用的,可以只用MSP

 楼主| Swd21ic 发表于 2008-10-22 20:56 | 显示全部楼层

re

不是所有异常处理时自动切换到sp_process么
usecoolful 发表于 2008-10-24 16:29 | 显示全部楼层

STM32只有一种

STM32只使用MSP,因为没有MPU,所以没有特权级,代码总是以特权模式运行的。
 楼主| Swd21ic 发表于 2008-10-24 23:38 | 显示全部楼层

re

楼上的话没懂???
可我看例程里确实可以切换到用户级哦..也可以用psp.
有没有哪个寄存器可以显示当前的模式(线程、Hander)
usecoolful 发表于 2008-11-1 22:34 | 显示全部楼层

cortext-m3

Cortext-M3的MPU是可以选择的。
所以呢,如果不使用MPU,如STM32的,那么就没有特权级不同的情况了,芯片会一直以特权级运行的,而没有非特权级了:就是说,所有的代码都是以特权级运行。好像是CONTROL寄存器控制这些,最好的是看看cortext-m3体系参考手册。
 楼主| Swd21ic 发表于 2008-11-1 23:18 | 显示全部楼层

re

不光是MPU访问.在用户态下不能使用MSR操作很多东西的..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

780

帖子

1

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