![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
arm学习
fuyoufang_dev
身处在 iOS、.Net、Web 的知识海洋中,广阔天空,任我遨游。
展开
-
ARM指令集详解(超详细!带实例!)
ADC : 带进位的加法(Addition with Carry)ADC{条件}{S} , , dest = op_1 + op_2 + carryADC将把两个操作数加起来,并把结果放置到目的寄存器中。它使用一个进位标志位,这样就可以做比 32 位大的加法。下列例子将加两个 128位的数。128 位结果: 寄存器 0、1、2、和 3第一个 12原创 2014-05-06 17:31:44 · 1333 阅读 · 0 评论 -
ARM汇编中ldr与adr的区别(转)
ldr与adr的区别转自:http://coon.blogbus.com/logs/2738861.html ldr r0, _start adr r0, _start ldr r0, =_start nop mov pc, lr_start: nop编译的时候原创 2014-05-06 17:32:56 · 532 阅读 · 0 评论 -
S3C2440之UART操作(FIFO中断模式)
关于串口的知识 3个独立的串口,每一个都可以利用DMA和中断方式操作。每个包含2个64字节FIFO,一个接,一个发。 非FIFO模式相当于FIFO模式的一个寄存器缓冲模式。 每一个UART有7种状态,overrun错误,校验错误,帧错误,断点,接收缓冲区准备好,发送缓冲区为空,发送移位寄存器为空。 当接收移位寄存器中的数据传给FIFO的时候,且接收的数据触发了原创 2014-05-06 17:33:11 · 677 阅读 · 0 评论 -
ARM汇编伪指令 宏的用法详解(MACR…
转载地址: http://yxmyifeng.blog.163.com/blog/static/1297897822010099444933/ 宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏。当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令。MACRO、MEND 语法格式: MACRO [$原创 2014-05-06 17:32:48 · 1167 阅读 · 0 评论 -
ARM MMU工作原理剖析(转)
转载地址:http://blog.chinaunix.net/uid-25445243-id-212860.html一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随原创 2014-05-06 17:33:01 · 375 阅读 · 0 评论 -
ASSERT :DEF:ENDIAN_CHANGE
ASSERT :DEF:ENDIAN_CHANGE [ ENDIAN_CHANGE ASSERT :DEF:ENTRY_BUS_WIDTH [ENTRY_BUS_WIDTH=32 b ChangeBigEndian ;DCD0xea000007 ] [ENTRY_BUS_WIDTH=16 andeq r14,r7,r0,lsl #20 ;DCD0x0007ea00 ]原创 2014-05-06 17:32:50 · 418 阅读 · 0 评论 -
笔记
u-boot————————————————————————————————1。解压缩2.打补丁 patch -p(n) 3.配置 make 100ask14x0_config4.编译 make编译之后用oflash 烧写u-boot 的功能1. 硬件相关的初始化关看门狗初始化时钟初始化sdram烧写flash网卡usb串口从flash中读出内核启动内核原创 2014-05-06 17:33:20 · 338 阅读 · 0 评论 -
ARM处理器CPSR标志位和条件符之间…
转载地址http://www.embedu.org/Column/Column182.htmARM处理器CPSR标志位和条件符之间的关系 作者:刘洪涛,华清远见嵌入式学院讲师。本文目的是要理清ARM处理器的CPSR状态标志和ARM指令的条件符之间的关系。一、CPSR寄存器ARM V4的CPSR寄存器(和保存它的SPSR寄存器)中的位分配如下图1所示。图1 程序原创 2014-05-06 17:32:22 · 746 阅读 · 0 评论 -
arm中CPSR,SPSR功能与访问
CPSR:程序状态寄存器(current program status register),cpsr在用户级编程时用于存储条件码。CPSR包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。 SPSR:程序状态保存寄存器。SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位原创 2014-05-06 17:32:24 · 2239 阅读 · 0 评论 -
多寄存器加载/存储指令的8种模式
多寄存器加载/存储指令的8种模式如下表所示,右边四种为堆栈操作、左边四种为数据传送操作。 模式 说明 模式 说明IA 每次传送后地址加4 FD 满递减堆栈IB 每次传送前地址加4 ED 空递减堆栈DA 每次传送后地址减4 FA 满递增堆栈DB 每次传送前地址减4 EA 空递增堆栈数据块传送操作 堆栈操作进行原创 2014-05-06 17:32:37 · 1731 阅读 · 0 评论 -
ARM启动文件2440init.s分析
;=========================================; NAME: 2440INIT.S; DESC: C start up codes; Configure memory, ISR ,stacks;Initialize C-variables;========================================= ;注意:a原创 2014-05-06 17:32:52 · 666 阅读 · 0 评论 -
ARM汇编中lr(r14)寄存器的作用
lr(r14)的作用问题,这个lr一般来说有两个作用: 1.当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结尾恢复。 2.异常中断发生时,这个异常模式特定的物理R14被设置成该异常模式将要返回的地址。 另外注意pc,在调试的时候显示的是当前指令地址,而用movlr,pc的时候lr保存的是此指令向后数两条指令的地址,大家可以试一下用movpc,pc,原创 2014-05-06 17:32:26 · 1626 阅读 · 0 评论 -
Kobject的作用
Sysfs文件系统 Sysfs is a ram-based filesystem initially based on ramfs.Itprovides a means to export kernel data structures,theirattributes,and the linkages between them to userspace.Linux2.6内核引原创 2014-05-06 17:31:46 · 803 阅读 · 0 评论 -
make: *** [depend] 错误 2
在编译u-boot-1.1.6时出现下面的错误,是移植到samsung的s3c2440上去!弄了好几天,一直不知道怎么解决,突然在网上看到,先用make distclean命令清理下,终于编译好了。[root@dglwx u-boot-1.1.6]# makefor dir in tools examples post post/cpu ; do make -C $dir _depend原创 2014-05-06 17:33:26 · 870 阅读 · 0 评论 -
DRAM, SRAM, SDRAM的关系与区别
SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。 而且是行列地址复用的,许多都有页模式。SDRAM,即SynchronousDRAM(同步动态随机存储器),曾经是PC电脑上最为广泛应用的一种内存类型,即便在今天SDRAM仍旧还在市场占有一席之地。既然是“同步动态随机存储器”,那原创 2014-05-06 17:32:41 · 470 阅读 · 0 评论 -
ARM汇编器所支持的伪指令
ARM汇编器所支持的伪指令 在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 在ARM的汇编程序中,有如下几种伪指令:符号定义伪指令、原创 2014-05-06 17:32:43 · 427 阅读 · 0 评论 -
ARM的汇编控制伪操作
; Ifassembled with TASM the variable {CONFIG} will be set to16; If assembled with ARMASM the variable{CONFIG} will be set to 32; Set the variable THUMB to TRUE or falsedepending on whether the原创 2014-05-06 17:32:46 · 517 阅读 · 0 评论 -
对UART的FIFO的理解(转)
转载地址:http://blog.csdn.net/ce123/article/details/6926020对UART的FIFO的理解 FIFO的必要性。在进行UART通信时,中断方式比轮询方式要简便且效率高。但是,如果没有收发FIFO,则每传输一个数据(5~8位)都要中断处理一次,效率仍然不高。如果有了收发FIFO,则可以在连续收发若干个数据(可多至14个)后才产生一次中断,然后一原创 2014-05-06 17:33:07 · 1746 阅读 · 0 评论 -
ARM指令中STM和LDM的理解误…
这个讲的挺详细的原文地址:ARM指令中STM和LDM的理解误区作者:hopeangel STM和LDM的主要用途是现场保护、数据复制、参数传递等,其模式有8种,如下:注:前面4种用于数据块的传输,后面4种用于堆栈操作(1)IA 每次传送后地址加4(2)IB 每次传送前地址加4(3)DA 每次传送后地址减4(4)DB 每次传送前地址减4(5)FD 满递减堆栈(6)FA转载 2014-05-06 17:32:39 · 682 阅读 · 0 评论 -
高效FIFO串口双机通信在ARM7上的实…
文章转自:http://www.chinaaet.com/article/index.aspx?id=18422摘 要: 详细介绍了高效FIFO串口通信的基本原理和实现方法,并在两台基于ARM7TDMI微处理器的目标机上,用FIFO串口通信模式实现了两机之间的高效通信。整个工程分寄存器配置模块、串口接收模块、串口发送模块和容错模块。关键词: 嵌入式系统;串口通信;FIFO;ARM;模原创 2014-05-06 17:33:05 · 785 阅读 · 0 评论 -
对S3C2440读取NAND Flash的总结
在网上找了一些资料,又结合自己的经历谈一下我对NAND Flash 的了解。S3C2440 板的Nand Flash支持由两部分组成:Nand Flash 控制器(集成在S3C2440 CPU)和Nand Flash存储芯片(K9F1208U0B)两大部分组成。当要访问Nand Flash中的数据时,必须通过NandFlash控制器发送命令才能完成。所以, NandFlash相当于S3C原创 2014-05-06 17:33:18 · 609 阅读 · 0 评论 -
伪指令LTORG
LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。语法LTORG使用说明:当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。为防止越界发生,可使用LTONG伪操作定义数据缓冲池。通常大的代码段可以使用多个数据缓冲池。ARM汇编编译器一般把数据缓冲池放在代码原创 2014-05-06 17:32:54 · 1050 阅读 · 0 评论