- 博客(16)
- 收藏
- 关注
转载 Linux内存管理之mmap详解
一. mmap系统调用1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.
2014-05-24 10:33:21 547
转载 Linux系统对IO端口和IO内存的管理
Linux系统对IO端口和IO内存的管理 一、I/O端口 端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。二、IO内存
2014-05-23 10:52:44 503
转载 DDR2初始化源码分析_2
14-25步的SDRAM有些就让人摸不着头脑了,因为说得不详细(因为详细了可就有的说了涉及的知识非常多,不过做的不好的就是没有提示在哪里可以得到相关资料),而且寄存器的配置说明讲额也不是很清楚这些步骤主要是对寄存器DirectCmd的操作,贴上这个的寄存器的操作:cmd_type和cmd_chip 按照相关的命令设置就可以了,而后面的 cmd_bank cmd_ad
2014-05-02 15:16:10 2426
转载 DDR2初始化源码分析
1.u-boot关于DDR的源码分析在mem_setup.S中,一点一点来,先看第一段[plain] view plaincopy/* DMC0 Drive Strength (Setting 2X) */ ldr r0, =ELFIN_GPIO_BASE ldr r1, =0x0000AAAA str
2014-05-02 15:14:51 1845
转载 DDR2初始化顺序
1.查看芯片手册DDR2的初始化顺序Initialization sequence for DDR2 memory type1. To provide stable power for controller and memory device, the controller must assert and hold CKE to a logic low level. Then a
2014-05-02 15:13:27 2574
转载 ddr2 工作时序与原理
1.4-bit Prefetch 直接上一个表,看看DDR2的三个频率的关系,下图是内部时钟均为133MHz的DDR2/DDR/SDRAM的比较,由图可以看到,相比于DDR,DDR2由于是4-bit Prefetch,外部时钟是内部总线时钟的2倍,而DDR和SDRAM中,这两个时钟频率相等上一个对比图,看的会更清楚一点儿: 在 SDRAM 与 DDR 时代,这两个时钟频率是
2014-05-02 15:12:08 7737
转载 DDR工作时序与原理
DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM的基础上改进而来。下图是DDR和SDRAM的数据传输对比图图上可以清楚的看到,DDR SDRAM可在一个时钟周期内传送两次数据,上升沿传一次,下降沿传一次。1.DDR的基本原理先来看一张DDR读操作时序图
2014-05-02 15:09:56 23810 2
转载 SDRAM工作时序与原理
DDR出身自SDRAM,严格的说应该叫DDR SDRAM,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,所以,有很大一部分,两者是一样的,理解SDRAM,然后再来理解DDR在SDRAM上的改进,效果应该更好一些,这里要感谢Chinaunix.net的大神--Tekkaman Ninja,我的内存的学习资料都是Tekkaman N
2014-05-02 15:07:37 7490
原创 异常中断_1
1.产生异常时,处理器采取如下动作。步骤1:将要处理的当前程序状态寄存器(CPSR)复制到程序状态备份寄存器(SPSR),以保存当前模式、中断屏蔽和条件标志等。这个SPSR使指即将进入的状态的SPSR。步骤2:转至ARM状态(仅限于能处理Thumb代码的处理器)。步骤3:改变相应的CPRS模式位以便:改变相应的模式及该模式下相应编组寄存器中的映射。禁用中断。发生中断时,禁用IR
2014-04-22 09:46:04 737
转载 GNU ARM命令行工具
1、用arm-linux-gcc编译一个程序,一般它是要经过如下步骤的: 1.1、预处理阶段 编译器把上述代码中stdio.h编译进来,使用GCC的选项-E可以使GCC在预处理结束后停止编译过程,而不继续其他动作了。 1.2、编译阶段 首先检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,arm-linux-g
2014-04-16 20:21:26 756
转载 GNU ARM汇编伪操作
1、.section 1.1、语法格式 .section section_name[,"flags"[,%type[,flag_specific_arguments]]] 1.2、作用 定义一个段,每一个段以段名为开始,以下一个段名或者文件结尾为结束。 ELF格式允许的段标志: a:可分配
2014-04-16 20:17:52 535
转载 arm伪指令
(一)GNU汇编书写格式注释符:@和#语句分离符: ;立即数前缀: #或$段内标号的地址值在汇编时确定段外标号的地址值在连接时确定局部标号:主要在局部范围内使用而且局部标号可以重复出现。它由两部分组成,开头是一个直接的数字局部标号,如99,后面加 ‘ : ’,如 66:在跳转时,根据所加后缀不一样,跳转方向不一样。1. f代码地
2014-04-16 19:46:00 679
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人