ARM
文章平均质量分 60
MostHandsomeWang
姓王的那么多,HandsomeWang只有一个。。。。
展开
-
关于ARM启动流程的分析(NandFlash Or NorFlash)
学习了S3C2440的启动流程,如何让bootLoader成功加载。并且找到了一篇讲的非常好的博客,试着结合着自己的理解总结一下,以备以后的复习。 第一部分关于内部的SRAM: 部分ARM9的CPU内部都集成有一个SRAM,SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。这样他不需要初始化就能够直接使用。这与我们原创 2015-09-28 21:53:42 · 3802 阅读 · 0 评论 -
ARM设置模式为管理模式
mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 move pc lr 上述代码为设置管理模式的代码 第一行:使用mrs指令,将状态寄存器传送至通用寄存器 第二行:使用bic指令。BIC(位清除)指令对 Rn 中的值 和 Operand2 值的反码按位进行逻辑“与”运算。 这样就可以将r0的后5位清零原创 2015-10-03 14:12:20 · 741 阅读 · 0 评论 -
tiny4412看门狗的禁用
看门狗所在地址为0x10060000 看门狗寄存器的最后一位是禁止位,当最后一位为0的时候将禁用看门狗 在ARM架构下, 数据从内存到CPU之间的移动只能通过LDR/STR指令来完成. 而MOV只能在寄存器之间移动数据,或者把立即数移动到寄存器中,并且数据的长度不能超过8位 #define pWTCON 0x10060000 disable_watchdog原创 2015-10-03 14:47:44 · 522 阅读 · 0 评论 -
[转载学习]
前天去面试,问到了这个问题,在回答这个问题的时候,面试官说我理解的有此问题,其实还问到了对于中断和异常的理解,现在整理一点资料出来,全当是复习吧。 1.什么是异常,什么是中断? 说法一: 中断的描述主体是外设,而异常的描述主体是CPU。 中断是一个过程,是CPU在执行当前的程序的过程中因硬件或软件的原因插入了另一段程序运行的过程。 异常主要是从CPU角度,接受信号的。 中断主要是从外设转载 2015-10-03 15:11:05 · 342 阅读 · 0 评论 -
关于LDR链接器脚本所产生的2B错误
切记今天所遇的到的错误,一定要严格的加空格。。。。。。没有空格会报错原创 2015-10-02 22:40:44 · 377 阅读 · 0 评论 -
ARM异常向量表的学习
什么叫异常 Exceptions are generated by internal and external sources to cause the processor to handle an event, 意思就是因为一些内部的或者外部的原因,导致处理器去处理这个原因所触发的事件 什么叫异常向量 The ARM architecture supports seven types o原创 2015-10-02 13:46:45 · 1184 阅读 · 2 评论 -
Linux下ARM汇编语法(转载学习)
第一部分 Linux下ARM汇编语法 尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。 一. Linux汇编行结构 任何汇编行都是如下结构: [:] [转载 2015-09-30 11:59:37 · 506 阅读 · 0 评论 -
uboot移植 --添加目标板(转载学习使用)
U-Boot本身支持很多开发板,在其源代码中,每个板子都对应一个board/目录下的文件夹(笔者注:这并不确切,因为有的文件夹是供应商名称,下面可以有多个目标板目录,这里只考虑最简单的情况),以及include/configs/目录下的目标板配置头文件。因此,要添加U-Boot对我们的目标板的支持,首先就是要建立目标板文件夹和配置头文件,并修改相关的Makefile。 下面以实例说明为U-B转载 2015-09-30 10:39:19 · 467 阅读 · 0 评论 -
LDR指令学习(指令与伪指令)
LDR作为ARM的指令时,作用: 将存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。 LDR作为ARM的伪指令,作用:另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如: ldr r0, =0x12345678原创 2015-09-30 11:56:58 · 557 阅读 · 0 评论 -
三星S5PV210启动相关的BLO/BL1/BL2之间的关系【转载学习】
(1)BL0:是指S5PV210的iROM中固化的启动代码 作用:初始化系统时钟,设置看门狗,初始化堆和栈,加载BL1 (2)BL1:是批在iRAM自动从外扩存储器(nand/sd/usb)中拷贝的uboot.bin二进制文件的头最大16K代码 作用:初始化RAM,关闭Cache,设置栈,加载BL2 (3)BL2:是指在代码重定向后在内存中执转载 2015-10-03 18:39:28 · 1140 阅读 · 0 评论