- 博客(7)
- 收藏
- 关注
原创 ARM处理器(四)—— 程序设计基础
ARM编译器一般都支持汇编语言的程序设计和C/C++语言的程序设计,以及两者的混合编程。ARM汇编器所支持的伪指令在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在...
2018-05-30 14:57:40 800
原创 ARM处理器(三)—— 指令系统
ARM微处理器的指令的分类与格式ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类,具体的指令及功能如表3-1所示(表中指令为基本ARM指令,不包括派生...
2018-05-30 14:26:01 2764
原创 ARM处理器(二)—— 编程模型
在开始之前,首先对字(Word)、半字(Half-Word)、字节(Byte)的概念作一个说明:字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8...
2018-05-30 13:36:30 1543
原创 存储器电路
1片上存储器如果微处理器要达到最佳性能,那么采用片上存储器是必需的。通常ARM处理器的主频为几十MHz到200MHz。而一般的主存储器采用动态存储器(ROM),其存储周期仅为100ns~200ns。这样指令和数据都存放在主存储器中,主存储器的速度将会严重制约整个系统的性能。在当前的时钟速度下,只有片上存储器能支持零等待状态访问速度。同时,与片外存储器相比,片上存储器有较好的功耗效率,并减少了电磁干...
2018-05-24 16:51:25 5771
原创 c语言中的虚拟地址
在C语言中,指针变量的值就是一个内存地址,&运算符的作用也是取变量的内存地址,请看下面的代码:#include <stdio.h>#include <stdlib.h>int a = 1, b = 255;int main(){int *pa = &a;printf("pa = %#X, &b = %#X\n", pa, &b);...
2018-05-07 13:05:56 2089
转载 C语言中内存管理
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。内存管理基本概念1、C程序内存分配1.C程序结构下面列出C语言可执行程序的基本情况(Linux 2.6环境/GCC4.0):[root@localhost Ctest]# ls test -l //test为一个可执行...
2018-05-07 12:17:30 249
原创 c语言编译过程详解
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下从上图可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。编...
2018-05-07 11:01:02 230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人