- 博客(6)
- 收藏
- 关注
原创 #define A (* (volatile unsigned *) 0x48000000 )
#define A (* (volatile unsigned *) 0x48000000 )对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念。如果是内存映射,那就方便的多了。举个例子,比如向寄存器A(地址假定为0x48000
2010-02-01 11:49:00
1140
2
原创 ROM、RAM、DRAM、SRAM、FLASH的区别?
ROM、RAM、DRAM、SRAM、FLASH的区别? ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类:一种称为静态RAM(Static RAM/SRA
2010-01-29 11:04:00
339
转载 ARM汇编伪指令
在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 在ARM 的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏
2010-01-28 16:32:00
454
转载 嵌入式Linux系统漫谈
嵌入式Linux系统漫谈 事物总有个核心,复杂的事物总可以模块化、层次化,嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即比较复杂,所以学习嵌入式Linux的就需要找到核心,需要模块化,需要进行层次划分。 嵌入式Linux系统做模块化处理可划分为Bootloader(引导程序),Kernel(内核),fs
2010-01-27 11:38:00
440
转载 Volatile关键字定义变量的作用
Volatile 关键字定义变量的作用 2010-01-27 11:01:38 volatile的本意是“易变的”,由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。比如:static int i=0;int main(void){ ... while (1) { if (i) dosomething();
2010-01-27 10:54:00
676
转载 ATPCS规则概述
ATPCS 规则为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和THUMB程序中子程序调用的基本规则。 一. ATPCS概述ATPCS规定了一些子程序之间调用的基本规则。这些基本规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则以及参数的传递规则。为适应一些特定的需要,对这些基本的
2010-01-26 11:31:00
1355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人