摘要:1.inn/in inn命令仅复位CPU,通常建立连接后如果出现error的话,OCD Command Shell进入“ERR>”提示符状态;可以将CPU复位一下; in复位cpu,并执行仿真器中的寄存器脚本文件初始化外设寄存器; 2.ha 让CPU停止运行;OCD Command Shell进入“
阅读全文
摘要:Arithmetic Instructions abs des, src1 # des gets the absolute value of src1. add(u) des, src1, src2 # des gets src1 + src2. addi $t2,$t3,5 # $t2 = $t3
阅读全文
摘要:我们的芯片5,6,7改成5,4,7 cpu内部挡cache访问的窗口,只挡cache读,不影响其他操作,因此汪文祥建议用一个窗口将寄存器空间全盖住,代码如下:下面代码是将0x10000000-0x1fffffff禁止取指代码。
阅读全文
摘要:对于在一个CPU上进行开发,掌握其工作的CPU的寄存器约定是非常重要的。MIPS体系结构提供了32个GPR(GENERAL PURPOSE REGISTER)。这32个寄存器的用法大致如下:REGISTER NAME USAGE $0 $zero 常量0(constant value 0) $2-$
阅读全文
摘要:Because resources controlled via Coprocessor 0 affect the operation of various pipeline stages of a MIPS32 processor,manipulation of these resources m
阅读全文
摘要:1.通过ejtag抓到死机时的ra,假设为0x2b29640c 2.重启进程,ctrl+z 挂住,top命令查看进程号 3.cat /proc/进程号/map 查看进程的地址映射,假设找到0x2b211000-0x2b305000 ...lib_DRV.so,说明程序是在lib_DRV.so这个库里
阅读全文
摘要:写的挺不错的,但是还是有点困惑,就是关于分支预测技术和延迟槽的关系,等弄清楚后再写个总结吧。 分支延迟槽 (Branch delay slot),简单地说就是位于分支指令后面的一条指令,不管分支发生与否其总是被执行,而且位于分支延迟槽中的指令先于分支指令提交 (commit)。 801ea9d4:
阅读全文
摘要:LEON是一个32位的基于SPARC-V8RISC体系结构和指令集的CPU微处理器内核。最初是由欧洲空间局(ESA)的欧洲空间研究和技术中心(ESTEC)设计的,之后由Gaisler 研究所设计。LEON是合成化的VHDL描述的。LEON具有双重许可模型:可以无许可证费用使用的LGPL/GPL FL
阅读全文
摘要:Introduction The LEON3 is a synthesisable VHDL model of a 32-bit processor compliant with the SPARC V8 architecture. The model is highly configurable,
阅读全文
摘要:(一)地址的概念 1) 物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上 (如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。 物理地址空间,一
阅读全文
摘要:Q1: 一些专门用途REG A: MIPS的通用寄存器中,按照编译器的规约,某些寄存器是做专门用途的,比如SP就是堆栈指针,ra是函数调用的返回地址,v0-v1通常用来保存函数调用非浮点数的返回值,a0-a3用来保存被调用函数的前四个参数等等。当然你也可以不按照这些规约编程,例如用$2存放堆栈指针,
阅读全文
摘要:摘要: 在介绍基于 ARM 体系的嵌入式系统启动流程的基础上,结合编程实例,详细、系统地叙述了 BSP (板级支持包)程序的各个组成部分及其具体设计方案,并就实际程序设计中的几个难点问题做了说明。 关键词: ARM BSP 嵌入式系统 微处理器 ARM公司32 位RISC 的CPU 开发领域不断取得
阅读全文
摘要:嵌入式处理器种类繁多,从8位、16位、32位到64位都有。本章介绍的嵌入式应用处理器主要有ARM、MIPS、PowerPC、X86、68K/Cold fire等,下面对这些处理器进行一些简单介绍。 MIPS是Microprocessor without Inter-locked Pipeline S
阅读全文
摘要:notdir,wildcard和patsubst是makefile中几个有用的函数,以前没留意过makefile中函数的用法,今天稍微看看~ 1、makefile里的函数makefile里的函数使用,和取变量的值类似,是以一个‘$’开始,然后是一个括号里面是函数名和需要的参数列表,多个变量用逗号隔开
阅读全文
摘要:以前在学ld的script时两个比较重要的概念,即指定一个输出section的lma和 vma(分别是load memory address和virtual memory address),vma的作用是很明显地,就是决定run time address嘛,但lma有什么用呢?恩,对运行在linux
阅读全文
摘要:在shell中,可以使用export修改当前进程的环境变量。例如, export PATH=.:$PATH就可以将当前路径加入可执行文件查找路径中,这样你就不要敲“./excutable” 来执行当前路径中的excutable。而只需要键入 “excutable” 就行了。 make可以执行shel
阅读全文
摘要:VMA与LMA [zz]2011-10-16 10:07两个地址都是虚拟地址。lma: 加载地址,如加载到RAM中等,在嵌入式中,有可能是在ROM中(这时LMA!=VMA)vma: 虚拟地址,就是程序运行时的地址,一般就是内存地址,如要把ROM中的数据加载到RAM中运行。 关于LMA 和 VMA:
阅读全文