- 博客(6)
- 资源 (5)
- 收藏
- 关注
转载 自定义宏DEFINE(s, m)解析
在arch/xxx/kernel下有一个奇怪的文件:asm-offset.c。这个文件里面有一个main函数,而且里面的正文全是DEFINE(xxx, xxxx)的格式。这让阅读源码的人会感到困惑,这个文件的作用是什么呢?不卖关子:这个文件的目的是生成include/generated/asm-offsets.h。include/generated/asm-offsets.h这个文件,里面定义了一些结构体内变量的相对偏移。通过这个宏,就可以在汇编代码中访问到结构体内的某一个成员的地址。拿asm-offs
2020-08-03 15:03:22
531
原创 ARM汇编指令_u-boot
LDR/STRARM是RISC结构,数据从内存(存储)到CPU(寄存器)之间的移动只能通过ldr/str指令来完成,注:X86中没有该条指令,用MOV就可以;LDR r0, label 和 LDR r0, =label的区别:LDR r0, =label 会把label表示的值加载到r0中,相当于直接赋值;LDR r0, label 会把label当做地址,把label指向的地址中的值加载到r0中,相当于指针操作;MOV只能在寄存器之间移动数据,或者把立即数移动到寄存器中,注:X86中可实现
2020-08-01 16:22:03
1634
转载 B与LDR指令区别
转载:https://www.cnblogs.com/jack739x/archive/2011/06/20/2085596.htmlB跳转指令是代码位置无关的,经过汇编后会替换为当前PC值加(减)一个修正值,不管这条指令是在哪一个地址执行,都能跳转到指定的位置。B只能在当前PC的32M范围内跳转,LDR只能在当前PC的4KB(0xfff范围)跳转。LDR PC,=xxx指令将向PC直接装载一个标号xxx的值,但标号经过编译后将被替换为一个与RO相对应的值,这样无论指令在何处执行都能跳转到一个指
2020-07-25 15:06:12
493
转载 ARM寄存器简介
ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内,以及6个32位状态寄存器。ARM处理器共有7种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。任意的处理器模式下,都可见的寄存器包括15个通用寄存器(R0~R14)、一个或两个状态寄存器及程序计数器(PC)。在所有的寄存器中,有些是各模式共用的同一个物理寄存器;有一些寄存器是各模式自己拥有的独立的物理寄存器。...
2020-07-25 14:52:45
1896
转载 RO、RW和ZI的区别
转载:https://blog.youkuaiyun.com/flydream0/article/details/8031919ARM程序是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。一个ARM程序包含3部分:RO,RW和ZIRO是程序中的指令和常量 只读RW是程序中的已初始化变量 读写ZI是程序中的未初始化的变量...
2020-07-25 14:10:05
2623
转载 out、bin 与elf 文件区别
转载 bin 与elf 文件区别https://blog.youkuaiyun.com/sunny04/article/details/27548919Gcc 编译出来的是ELF文件。通常gcc –o test test.c,生成的test文件就是ELF格式的,在linuxshell下输入./test就可以执行。Bin 文件是经过压缩的可执行文件,去掉ELF格式的东西。是直接的内存映像的表示。在系统没有加载操作系统的时候可以执行。elf(executable and link format)文件
2020-07-22 15:54:44
4110
VxWork6.8虚拟机制作教程+DOS镜像
2020-12-15
RTPS规范V2.2版本
2020-12-15
vxWorks5.5虚拟机
2020-12-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人