
ARM学习笔记
文章平均质量分 77
lemon_fantasy
这个作者很懒,什么都没留下…
展开
-
Locating code and data in memory (Scatterloading)
In most embedded systems, the code and data for an application will be permamently stored in non-volatile memory (e.g. ROM or Flash) so that it is available for execution at the moment of power-up. No转载 2008-07-06 11:45:00 · 736 阅读 · 0 评论 -
ATPCS概述
ATPCS概述 为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则.ATPCS就是ARM程序和THUMB程序中子程序调用的基本规则...一.ATPCS概述... ATPCS规定了一些子程序之间调用的基本规则.这些基本规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则.为适应一些特定的需要,对这些转载 2008-07-04 21:04:00 · 1604 阅读 · 1 评论 -
ARM的存储器映射与存储器重映射
ARM的存储器映射与存储器重映射 存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOTBLOCK等进行统一编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。 ARM7TDMI的存储器映射可以有0X00000000~0XFFFFFFFF的空间,即4G的映射空间,但所有器件加起来肯定转载 2008-08-22 11:48:00 · 2729 阅读 · 0 评论 -
EasyARM2200开发板学习笔记:启动代码分析
;定义堆栈的大小FIQ_STACK_LEGTH EQU 0IRQ_STACK_LEGTH EQU 9*8 ;每层嵌套需要9个字堆栈,允许8层嵌套ABT_STACK_LEGTH EQU 0UND_STACK_LEGTH EQU 0 ;处理器模式常量定义NoInt EQU 0x8转载 2008-08-22 14:26:00 · 915 阅读 · 0 评论 -
ARM7——LPC2xxx小总结
1. 7种工作模式:fiq/irq/abt/und/sys/usr/svc。通过"MSR cpsr_c,#0xdx"切换。上电时进入svc模式。svc和usr的区别是:svc可以通过"MSR cpsr_c,#0xdx"自由切换到其它任何模式,但是usr不可以。各模式下有自己的堆栈。要在程序启动后依次进入各个模式分别设置自己的堆栈,最后进入usr模式。2. Prefetc转载 2008-08-22 14:12:00 · 1279 阅读 · 0 评论 -
ARM amba总线介绍
ARM amba总线介绍什么是AMBA片上总线? 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成转载 2008-08-22 12:19:00 · 4985 阅读 · 0 评论 -
关于分散加载文件
分散加载(Scatlerloading),即工程里的.scf文件。在scatterfile中可以为每一个代码或数据区在装载和执行时指定不同的存储区域地址,Scatlertoading的存储区块可以分成二种类型: 装载区:当系统启动或加载时应用程序的存放区。 执行区:系统启动后,应用程序进行执行和数据访问的存储器区域,系统在实时运行时可以有一个或多个执行块。转载 2008-07-13 09:54:00 · 2155 阅读 · 0 评论 -
伪指令LTORG
LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。语法 LTORG使用说明:当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。为防止越界发生,可使用LTONG伪操作定义数据缓冲池。通常大的代码段可以使用多个数据缓冲池。ARM汇编编译器一般把数据缓冲池放原创 2008-07-04 21:19:00 · 8090 阅读 · 0 评论 -
ADS下的分散加载文件应用实例
ADS下的分散加载文件应用实例load_region_name start_address | "+"offset [attributes] [max_size]{ execution_region_name start_address | "+"offset [attributes][max_size] { module_select_patt转载 2008-07-06 12:20:00 · 926 阅读 · 0 评论 -
LDR ADR
请教: LDR R1,= 0x12345678 ;加载 32 位立即数 和 LDR R1,0x12345678 有什么不相同啊? 一般在什么情况下用 LDR R1,= 0x12345678 ? 在什么情况下用 LDR R1,0x12345678 ? LDR R0,=LED_TAB ;加载标号地址 和 LDR R0,LED_TAB 有什么不相同啊? 一般在什么情况下用 LDR R0,=LED_TAB转载 2009-01-09 14:01:00 · 1896 阅读 · 0 评论