嵌入式系统
嵌入式系统
在到处之间找我
这个作者很懒,什么都没留下…
展开
-
ARM 体系结构之 MMU 中的地址转换过程
由于定题是MMU的地址变换过程,这里就不再叙述MMU的基本概念、内存访问顺序和使能和禁止MMU(Enabling and disabling the MMU)等内容。本文主要参考 ARM Architecture Reference Manual的Chapter B3 以及校内课件。前言The process of doing a full translation table lookup...原创 2019-01-03 00:43:32 · 2793 阅读 · 0 评论 -
嵌入式 ARM 汇编编程例题
编写一段 ARM 汇编程序:循环累加队列 rjarray 中的所有元素,直到碰上零值元素,结果放在 r4 中 AREA total,CODE,READONLY ENTRYStart MOV r4,#0 ADR r0,rjarray Loop LDR r1,[r0],#4 ADD r4,r4,r1 CMP r1,#0 BNE loopstop B stoprj...原创 2019-01-06 23:25:19 · 35842 阅读 · 7 评论 -
ARM 9 指令系统指令英文全拼
ARM处理器的寻址方式寄存器移位寻址http://infocenter.arm.com/help/topic/com.arm.doc.dui0552a/BABJCCDH.html指令名英文全拼中文含义LSLLogical Shift Left逻辑左移ASLArithmetic Shift Left算术左移LSRLogical Shift Right...原创 2019-01-17 13:02:04 · 835 阅读 · 0 评论 -
ARM 处理器系列命名规则以及 ARM 体系结构命名规则
ARM 处理器系列命名规则命名格式:ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {-S} 12 个字段x:处理器系列,是共享相同硬件特性的一组处理器的具体实现,例如 ARM7TDMI、ARM740T 和 ARM720T 都属于 ARM7 系列。y:存储管理 / 保护单元。2:Cache+MMU3:改良型 MMU4:Cache+MP...原创 2019-01-05 23:12:25 · 4991 阅读 · 2 评论 -
ARM 程序计数器 R15(PC)
寄存器 R15 为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。ARM9 正常操作时,从 R15 读取的值是处理器正在取指的地址,即:R15(PC)= 当前正在执行指令的地址 + 8注:8 是指 8 个字节,是两条 ARM 指令的长度。ARM 是 3 级流水线:取指,译码,执行。由于 ARM7 指令总是以字...原创 2019-01-05 23:00:57 · 6041 阅读 · 0 评论 -
ARM 编程 LDM 批量数据加载指令——寄存器列表与书写顺序无关
格式:LDM{<cond>}{<type>} <Rn> {!}, <regs> {^}功能:连续存储单元的字数据→寄存器(多个)数据单位:字。用途:一般用于数据块读出、数据出栈。格式说明:type 字段种类:8 种。Rn:基址寄存器,其值是内存单元的起始地址。一般不使用为 R15。Regs:寄存器列表,从最低序号寄存器开始处理,与...原创 2019-01-03 22:21:02 · 1239 阅读 · 0 评论 -
DBE Warning 00041: An unspecified Debug Toolbox call failed
上个礼拜使用 CodeWarrior for ARM Developer Suite 调用 AXD Debugger 的时候出现了这个错误。问了老师才知道怎么解决,特此记录:文章目录原因一第一步第二步补充原因二补充原因一你的 AXD 的调试参数没有配置好。配置方法第一步先点击 configure,然后在这里面根据你的实验要求选择一个 Target,然后点 确定第二步然后点击...原创 2018-12-03 12:03:31 · 331 阅读 · 0 评论 -
ARM 立即寻址之立即数的形成 —— 如何判断有效立即数
依据指令中给出的操作数的不同格式,ARM 指令系统具有 8 种常见的寻址方式。我们这次就来讨论一下立即寻址。在立即寻址,操作数本身直接在指令中给出,取出指令也就获得了操作数,这个操作数也称为立即数。例子如下:ADD R0, R1, #5 ;R0=R1+5MOV R0, #0x55 ;R0=0x55 在这两个例子中,操作数 5 和 0x55 就是立即数。注意:立即...原创 2018-10-16 21:02:05 · 13825 阅读 · 17 评论 -
ARM 程序状态寄存器深入分析
程序状态寄存器共分为两种,它们的位数都是 32 位:1 个 CPSR:当前程序状态寄存器(current program status register),可以在任何工作模式下被访问。5 个 SPSR:保持程序状态寄存器(saved program status register),只有在异常模式下,才能被访问;各异常模式拥有自己的 SPSR。发生异常时,SPSR 保存 CPSR 的值,格式...原创 2018-10-15 22:23:36 · 5338 阅读 · 1 评论 -
低电平有效的三种表示方法
三种方法分别如下:RESET‾\overline{RESET}RESET/RESETnRESET这三种表示方法均表示 RESET 信号低电平有效。但是由于输入的时候后两种比较方便,所以见到后两种不要感到陌生。...原创 2018-10-15 20:32:34 · 18429 阅读 · 0 评论 -
嵌入式汇编—— LDR 指令和 LDR 伪指令的区别
LDR 加载指令是 CPU 指令,完成实质性的数据传送。用于从内存中加载数据到寄存器中。LDR 指令是字加载指令,用于从存储器中将一个 32 位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取 32 位的字数据到通用寄存器,然后对数据进行处理。当程序计数器 PC 作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。LDR{条件} 目的寄存器,&amp;lt;...原创 2019-01-03 00:02:30 · 9405 阅读 · 5 评论