这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM 一段很简单的ARM程序,请指教

共2条 1/1 1 跳转至

ARM 一段很简单的ARM程序,请指教

院士
2006-09-17 18:14:16     打赏
ARM 一段很简单的ARM程序,请指教



关键词: 一段     简单     程序     指教    

院士
2006-12-22 22:43:00     打赏
2楼
问 LEN    EQU 64
    AREA vectors,CODE,READONLY
    ENTRY
    CODE32

START
    MRS R0,CPSR
    BIC R0,R0,#0x80
    MSR CPSR_cxsf,R0
    
    MSR CPSR_c,#0xdf ; sys
    MRS R0,CPSR
    
    LDR SP,MyStack
    
    MSR CPSR_c,#0xd0 ; user
    MRS R0,CPSR
    
    MRS R0,CPSR
    BIC R0,R0,#0x80
    MSR CPSR_cxsf,R0
    
    MOV R0,#12
    SWI 0
    
    MSR CPSR_c,#0xdf ; sys
    MRS R0,CPSR
    
    MRS R0,CPSR
    BIC R0,R0,#0x80
    MSR CPSR_cxsf,R0
    
MyStack DCD Stack+(LEN-1)*4
    
    
    AREA MyStacks,DATA,NOINIT,ALIGN=4
Stack SPACE LEN*4
    END


刚刚才开始学 用的ADS1.2 其实就是想从User模式换到SYS模式
但是SWI处理应该在0x00000008吧 软件模拟的时候那里没有指令
但用在实际硬件上的时候,RAM或者FLASH是不是会自己MAP到0x0的位置?
如果是的话,软件里面该怎么做?

谢谢了先 1: re.在实际使用时,会有一段称为“异常向量表”的程序,它负责各个异常事件的调整工作,其中包括管理模式(通过SWI进入)。这段程序可以在内部或外部存储器中,可以通过设置MEMMAP寄存器来实现不同的映射。具体请参看书本相应章节,配合课件可以更好理解些。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]