RAM7中断重映射
来源:互联网 发布:外贸电商cms 编辑:程序博客网 时间:2024/05/30 02:24
地址重映射及中断向量表的转移
ARM7处理器在复位后从地址0读取第一条指令并执行,因此系统上电后地址0必须是非易失的 ROM/FLASH,这样才能保证处理器有正确可用的指令。为了加快对中断的处理以及实现在不同操作系统模式下对中断的处理,这就需要重新映射中断向量表、Bootblock和SRAM空间的一小部分。ARM具有非常灵活的存储器地址分配特性。ARM处理器的地址重映射机制有两种情况:
①由专门的寄存器完成重映射(Remap),只需对相应的Remap寄存器相应位设置即可。
以LPC2368为例:
MEMMAP EQU 0xE01FC040 ; Memory Mapping Control
IF :DEF:REMAP
LDR R0, =MEMMAP
IF :DEF:RAM_MODE
MOV R1, #2 ;映射到RAM
ELSE
MOV R1, #0 ;映射到Boot ROM
ENDIF
STR R1, [R0]
ENDIF
②没有专门的Remap控制寄存器需要重新改写用于控制存储器起始地址的块(Bank)寄存器来实现Remap。实现REMAP操作的程序实现如下:
MOV R0, #0x40000000 ;RAM区首地址
LDR R1, =Vectors ;向量表首地址#下面一段程序是把从0x00000000开始的64个字节(FLASH中的中断向量表和
;地址表)搬移到以#0x40000000为首地址的RAM区中
LDMIA R1!, {R2-R9} ;把以[R1]为首地址的32个字节数据装载到R2-R9中
STMIA R0!, {R2-R9} ;把R2-R9中的数据存入以[R0]为首地址的单元中
LDMIA R1!, {R2-R9} ;把以[R1]为首地址的32个字节数据装载到R2-R9中
STMIA R0!, {R2-R9}
- RAM7中断重映射
- ARM 中断向量重映射问题
- ARM7中断向量重映射的问题
- 为什么中断向量表重映射到高地址
- 重映射
- 重映射
- 移植uCOS到RAM7
- 关于STM32的中断向量表的重映射的问题
- keil环境下stm32f030R8 APP程序中断向量的重映射
- STM32外部中断映射
- arm 中断重入
- 中断重入
- 中断向量重定位
- 重映射自定义键盘
- ARM地址重映射
- 存储器的重映射
- 重映射步骤
- VirtualBox 端口重映射
- SPFA 算法
- #define的用法
- asp.net 性能
- 深度剖析:具名常量
- VMWARE 7 CN LITE 安装ArchLinux 配置网络
- RAM7中断重映射
- asp.net跨页投递
- ASP.Net生成静态HTML页
- asp.net性能
- html中省略部分代码
- 什么叫SDK
- QCC
- VC6.0 编译 XVid
- Web Application工具