ARM芯片的启动程序的分析和总结
来源:互联网 发布:淘宝手机注册账号申请 编辑:程序博客网 时间:2024/05/17 23:44
1、综述:
1.1向量表定义
ARM要求中断向量表必须防放置在从0x00000000地址开始的连续32字节的空间内。ARM9定义的中断向量在向量表中的地址如下面所示:
当中断发生后,ARM处理器会强制把PC指针指向中断向量表中对应的终端类型的地址处。
1.2 地址重映射及中断向量表的转移
①由专门的寄存器完成重映射(Remap),只需对相应的Remap寄存器相应位设置即可。
②没有专门的Remap控制寄存器需要重新改写用于控制存储器起始地址的块(Bank)寄存器来实现Remap。在LPC2119上的重映射,可以通过存储器映射控制器来实现。实现REMAP操作的程序实现如下:
MOV R8,#0x40000000;
LDR R9,=Interrupt_Vector_Table;
LDMIA R9!,(R0-R7);
STMIA R8!,(R0-R7)
LDMIA R9!,(R0-R7)
STMIA R8!,(R0-R7)
LDR R8,=MEMMAP ;
MOV R9,#0x02
STR R9, [R8]
1.3 堆栈初始化
MSR CPSR_c, #0xD3 ;
LDR SP, Stack_Svc
MSR CPSR_c, #0xD2 ;
LDR SP, Stack_Irq
…
1.4 系统部分时钟初始化
1.5 中断初始化
1.6 进入C应用程序
IMPORT main
LDR R0,=main
BX R0
2、总结
①要尽量给堆栈分配快速和高带宽的存储器。
②尽量避免过早将处理器切换到用户模式,一般在系统初始化的最后阶段才切换到用户模式(用户模式没有权限通过修改CPSR来进行模式切换)。
- ARM芯片的启动程序的分析和总结(csdn)
- ARM芯片的启动程序的分析和总结
- ARM芯片的启动程序的分析
- ARM的启动分析
- ARM的启动分析
- arm架构和芯片厂商生产的芯片的区别
- 对于ARM的启动,系统升级,烧写过程和文件系统等方面的总结分析
- ARM芯片的应用和选型
- ARM芯片的选型和应用
- arm芯片的焊接
- ARM启动代码的分析
- ARM+Linux 的启动分析
- ARM学习笔记012之mini2440上电的启动和初始化程序分析(即Bootloader分析)
- 借由ARM CORTEX-M芯片分析C程序加载和存储模型
- 借由ARM CORTEX-M芯片分析C程序加载和存储模型
- ARM 芯片的应用和选型的绝技
- ARM芯片的引导过程
- 基于Arm 的linux 的启动分析
- android 判断view 是否被遮挡
- Struts2获取request三种方法
- 电信增值短信平台模块清单
- 马云重构阿里:或分拆成30家公司 整合3家上市
- 关于图片存储格式的整理(BMP)
- ARM芯片的启动程序的分析和总结
- C#高低文菜单(右键菜单)ContextMenuStrip用法总结
- Android getevent/senevent
- 《火星人敏捷开发手册2012-12-25》版发布:松结对编程
- TD
- AS3的垃圾回收
- nmon 性能:分析 AIX 和 Linux 性能的免费工具
- android Animation 动画效果
- 错误:hdfs.DFSClient: Exception in createBlockOutputStream java.io.IOException: