ARM7——LPC2xxx小总结
来源:互联网 发布:网络执法官破解版win7 编辑:程序博客网 时间:2024/06/08 08:55
1. 7种工作模式:
fiq/irq/abt/und/sys/usr/svc。通过"MSR cpsr_c,#0xdx"切换。上电时进入svc模式。svc和usr的区别是:svc可以通过"MSR cpsr_c,#0xdx"自由切换到其它任何模式,但是usr不可以。各模式下有自己的堆栈。要在程序启动后依次进入各个模式分别设置自己的堆栈,最后进入usr模式。
2. Prefetch Abort和Data Abort模式:
Prefetch Abort通常会发生在自修改指令之后。而Data Abort发生于向无效内存中取操作数时,通常是数据指针越过边界了。如果在scatter文件中不指定边界,若编译时内存分配超过了实际物理内存,一定会有Data Abort或Prefetch Abort发生。 Data Abort这个异常会经常出现,要注意。
3. 存储器映射:
0
1
2
虽然ARM7的寻址空间为
4. Boot Block
LPC2114/2214的BootBlock被固化在最高的Flash块中,运行时被映射到0x7FFF,E000 - 0x7FFFF,FFFF的区域。而LPC2210没有片内Flash,但它有8K片内ROM存储了BootBlock,也被映射到0x7FFF,E000处。BootBlock是上电以后芯片最早自动运行的程序,被固化在LPC22XX中,相当于LPC22xx自身的bootloader。
5. 分散加载描述文件.scf的设置
Metrowerks Code Warrior V1.2的"Edit->Debug In ExRAM Settings",然后在"Linker->ARM Linker"的Output页中,选中Scatter选项。在Scatter的编辑框中选择写好的.scf文件。(Scatter-Loading description file).
简单应用时可以不写.scf文件。而在"Output"页中选择"Simple".然后填写"RO Base"和"RW Base"的起始地址。在"Lay Out"页中,填写Object/Symble: Startup.o, Section: Start.编写启动文件:Startup.s.在"Option"页里的"Image Entry Point"填入起始地址。
在Scatter文件中最好每一个Region都加一个Maximum参数,这样当编译时如果实际使用的空间大于Maximum Size,会有Error:16220E: Excution region xxx size (xxx bytes) exceeds limit (xx bytes)。如果地址有重复,会有Error: 16221E: Excution region xxx overlaps with excution region xxx。前一个Region的首地址 + Maximum > 后一个Region的首地址时不一定有Error。只有当一分配的内存出现覆盖时才会有Error。
mem_c.scf,是使程序在FLASH运行
mem_a.scf,使程序在FLASH运行,并且加密。
mem_b.scf,使程序在RAM中运行
6. LPC2106/2105/2104 将ARM7TDMI-S 配置为小端(little-endian)字节顺序。
7. LPC2131基于ARM7TDMI-S核,采用冯.诺依曼结构,数据和指令混合编址,只有加载,存储和交换指令可以访问存储器中的数据。
- ARM7——LPC2xxx小总结
- ARM7(LPC2xxx)芯片的小总结
- LPC2xxx ARM7 串口 FIFO中断方式 的源代码
- ARM7中断总结
- 我自己在学arm7——ourdev
- ARM7学习笔记——GPIO
- arm7
- ARM7学习笔记——LPC2000系列ARM硬件结构
- ARM7学习笔记——中断向量控制器VIC
- UML—小总结
- ARM7 LPC2103芯片相关寄存器设置总结
- LPC2xxx启动代码分析
- ARM核流水线——ARM7,ARM9E,ARM11,Cortex-A系列处理器
- 黑马学习日志——小总结
- 2017年蓝桥杯——小题总结
- HTML——小技巧总结
- iOS 动画—主题库小总结
- ARM7异常
- XMLHttpRequest对象
- 基于对话框的程序关闭不了解答
- 合理并灵活使用---宏定义
- Zigbee无线传感器网络平台的设计与实现
- Setprecision
- ARM7——LPC2xxx小总结
- (转帖)小菜编程成长记(十 会修电脑不会修收音机?——聊设计模式原则)
- 为对话框中的控件增加提示的简单方法
- maven入门--概念与实例
- MFC学习(读MFC深入浅出)
- (转帖)小菜编程成长记(十一 三层架构,分层开发)
- 基于ZigBee的无线串口集线器的研究与设计
- VSS+Vs2003使用手册
- (转帖)小菜编程成长记(十二 无熟人难办事?——聊设计模式迪米特法则)