随笔分类 - ARM
摘要:S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。 核心板的尺寸仅相当于名片的2/3大小,尺寸如此小巧的嵌入式核心板是国内首...
阅读全文
摘要:ARM9主要包括ARM9TDMI和ARM9E-S等系列。 新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 (一) 时钟频率的提高: ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。 (二) 指令周期的改进: 指令周期的改进对于处理...
阅读全文
摘要:FlashROM,快速擦写只读编程器。也就是我们常说的“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品。它的最大特点是必须按块(Block)擦除(每个区块的大小不定,不同厂家的产品有不同的规格), 而EEPROM则可以一次只擦除一个字节(Byte)。目前“闪存”被广泛用在PC机的主板上,用来保存BIOS程序,便于进行程序的升级。其另外一大应用领域是用来作为硬盘的替代品,具有抗震、速度快、无噪声、耗电低的优点,但是将其用来取代RAM就显得不合适,因为RAM需要能够按字节改写,而Flash ROM不需要。SDRAM:同步动态随机存储器,同步是指 Memory工作需要..
阅读全文
摘要:一 Nor的特点是芯片内执行,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵,Nor的代码效率很高,在1-4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 Nand结构能够提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用Nand的困难在于falsh的管理和需要特殊的系统接口。优点:大存储容量,而且便宜。缺点:就是无法寻址直接运行程序,只能存储数据。另外NAND Flash非常容易出现坏区,所以需要有校验的算法。 任何flash器件的写入操作只...
阅读全文
摘要:; 数据块拷贝; AREA cpData, DATA, READWRITE align 4 ;四字节对齐buf1 space 12345 align 4 ;四字节对齐buf2 space 12345 AREA cpCode, CODE, READONLY ENTRYstart ;初始化测试数据 ldr r0, =12345-1 ldr r1, =buf1initloop strb r0, [r1, r0] subs r0, r0, #1 bne initloop ;数据拷贝 ldr r0, =12345 ;计数器 ldr r1, =buf1 ;源缓冲区 ldr r2, =buf2 ;目的缓冲区
阅读全文
摘要:这种指令用于把单一的数 传入或者传出一个寄存器。支持的数据类型有字(32 位 ) 、半字(16 位) 和字节。常用的单寄存器加载与存储指令包括: LDR/STR 字数据加载/ 存储指令 LDRB/STRB 字节数据加载/ 存储指令 LDRH/STRH 半字数据加载/ 存储指令 LDRSB/LDRSH 有符号数字节/ 半字加载指令 ( 注意:没有strsb/strsh 指令) 1. 汇编格式 : LDR{<cond>}{T} Rd ,addr 功能: LDR 指令用于从存储器中将一个 32 位的字数据加载到目的寄存器 Rd 中。该指令通常用于从存储器中读取32 位的字数据到通用寄存器
阅读全文
摘要:01; 02; 1-2+3-4+5...+99-100 03; 0405AREA sum2Code, CODE, READONLY 06ENTRY 07start 0809mov r0, #0 ;保存结果 10mov r1, #1 ;循环计数器 11sum2loop ;特点奇数加偶数减 12tst r1, #1 ;测试奇偶性 13addne r0, r0, r1 ;加奇数 14subeq r0, r0, r1 ;减偶数 15add r1, r1, #1 16cmp r1, #101 17bmi sum2loop 181920stop 21mov r0, #0x18 22ldr r1, =0..
阅读全文
摘要:ARM 处理器是加载/ 存储体系结构的处理器,对存储器的访问只能通过加载和存储指令实现。 1. 数据加载与存储的方向问题 数据加载与存储( Load-store )指令用于在存储器和处理器的寄存器之间传送数据。 数据加载与存储指令共有三种类型:单寄存器加载与存储指令、多寄存器加载与存储指令和交换指令。 2. 数据加载与存储指令的寻址 数据加载与存储类指令的基本格式为 opcode{<cond>} Rd ,addr 。格式中opcode 为指令代码,如 LDR 表示将存储器中的数据加载到寄存器中。addr 为存储器的地址表达式,也称为第2操作数,可表示为 [Rn,offset...
阅读全文
摘要:01; 02; 代码演示 03; 04;定义数据段 05AREA p1Data, DATA, READWRITE 06buf1 dcd 1,2,3,4,5,6 ;定义字 07buf2 dcw 1,2,3,4,5,6 ;定义半字 08buf3 dcb 1,2,3,4,5,6 ;定义字节 09str dcb "123456", 0 ;定义字符串 10align 4 11buf4 space 256 ;分配256字节空间 12131415AREA p1Code, CODE, READONLY 1617ENTRY 18start 19;buf1 copy to buf4 20ldr
阅读全文
摘要:; 02; 求 19! 03; 0405AREA jcCode, CODE, READONLY 06ENTRY 07start 0809mov r0, #1 ;结果低32位 10mov r1, #0 ;结果高32 11mov r2, #19 ;循环计数器 1213jcloop 14umull r0, r3, r2, r0; [r3 r0] <- r0 * r2 15mla r1, r2, r1, r3; r1 <- r1 * r2 + r3 16subs r2, r2, #1 17bne jcloop 181920stop 21mov r0, #0x18 22ldr r1, =0x
阅读全文
摘要:带状态切换的跳转指令:BX 汇编格式: BX{<cond>} Rm 功 能: BX 指令跳转到指令中所指定的目标地址,并实现状态的切换。Rm 是一个表达目标地址的寄存器。当Rm 中的最低位Rm[0] 为 1 时,强制程序从ARM 指令状态跳到Thumb 指令状态;当 Rm 中的最低位Rm[0]为0 时,强制程序从Thumb 指令状态跳到ARM 指令状态。 BX 指令示例 CODE32 ;ARM 程序段,32 位编码 arm1 ADR R0,thumb1+1 ;伪指令,把语句标号thumb1 所在地址 ;赋给R0 ,末位R0[0] 置1 ,要跳转THUMB 指令集;THUMB 指令集
阅读全文
摘要:在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。”首先从ARM指令系统的语法格式说起。一条ARM指令语法格式分为如下几个部分:<opcode>{<cond>}{S} <Rd>,<Rn>{,<shifter_operand>}其中,<>内的项是必须的,{}内的项是可选的,如<opcode>是指令助记符,是必须的,而{<cond>}为指令执行条件,是可选的,如果不
阅读全文
摘要:CPSR有4个8位区域:标志域(F)、状态域(S)、扩展域(X)、控制域(C)C 控制域屏蔽字节(psr[7:0])X 扩展域屏蔽字节(psr[15:8])S 状态域屏蔽字节(psr[23:16])F 标志域屏蔽字节(psr[31:24])常用于MRS或MSR指令,用于psr中的值转移到寄存器或把寄存器的内容加载到psr中.如: MSR CPSR_c,#0xd3
阅读全文
摘要:同学们在学习ARM指令时,多数都会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在程序中想加载某个函数或者某个在联接时候指定的地址时请使用adr,例如在lds中需要重新定位的地址。当加载32为的立即数或外部地址时请用ldr。我给大家先举个例子:AREA test,CODE,READONLY ENTRYldr r0,_start ad
阅读全文
浙公网安备 33010602011771号