S3C2440
Lq_automatic
本人从事硬件设计,软件反面也有一定的功底,主要研究嵌入式方面
展开
-
ARM体系之MMU
1 什么是MMU,MMU的作用MMU是MemoryManagementUnit的缩写. 针对各种CPU, MMU是个可选的配件. MMU负责的是虚拟地址与物理地址的转换. 提供硬件机制的内存访问授权.现代的多用户多进程操作系统, 需要MMU, 才能达到每个用户进程都拥有自己的独立的地址空间的目标. 使用MMU, OS划分出一段地址区域,在这块地址区域中, 每个进程看到的内容都不一定一样.原创 2011-11-16 11:34:56 · 14398 阅读 · 0 评论 -
S3C2440 SDRAM驱动配置编程
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装转载 2011-11-12 14:07:59 · 3225 阅读 · 5 评论 -
AXD 使用点滴
载入 axf 后, axd 弹出 “arm7tdmi_s_0 cause: the processor was reset" 对话框 网上的介绍 说添加 启动配置 文件,我没有这么做。只是在 "options/Configure Processor.." 中将 R 勾去。 也可以在命令行界面 (ALT+L)中,执行 spp vector_catch 0x00,就可以把所有的中断转载 2011-12-01 21:22:46 · 1191 阅读 · 0 评论 -
ARM ADS中RO,RW和ZI的变量以及启动代码
文章是转载别人的但是加入了我自己的分析,觉得很好,对RW,RO,ZI的理解:一般而言,一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。对于嵌入式系统而言,程序映象都是存储在Flash存储器等一原创 2011-11-08 21:11:19 · 2097 阅读 · 0 评论 -
AXD 调试经验,使用及问题
AXD 使用经验1、使用AXD进行调试: AXD不会自动去帮你配置SDRAM,配置SDRAM是用户的事情。AXD只不过提供了命令行,让用户可以配置CPU内部的管理单元。AXD下载的时候,假设用户已经配置好了SDRAM,所以在下载的时候,是用户的责任去确保下载的区域是可写的。所以在AXD中应在运行程序之前让AXD运行一段自动配置SDRAM的指令。 AXD中的VECTOR原创 2011-11-28 12:46:39 · 9721 阅读 · 0 评论 -
Micro2440 Nand Flash存储操作之读
mini2440 nand flash (1)2011-05-10 01:01一、NandFlash基础知识: nandflash在对大容量的数据存储中发挥着重要的作用。相对于norflash,它具有一些优势,但它的一个劣势是很容易产生坏块,因此在使用nandflash时,往往要利用校验算法发现坏块并标注出来,以便以后不再使用该坏块。nandflash没有原创 2011-11-20 17:38:13 · 2000 阅读 · 1 评论 -
Micro2440 Nand Flash存储操作之写
页写操作的大致流程为:在两个写命令周期之间分别写入页地址和数据,当然如果为了保证下次读取该数据时的正确性,还需要把main区的ECC值和spare区的ECC值写入到该页的spare区内。然后我们还需要读取状态寄存器,以判断这次写操作是否正确。下面就给出一段具体的页写操作程序,其中输入参数也是要写入数据到第几页:U8 rNF_WritePage(U32 page_number){U3转载 2011-11-20 17:40:16 · 987 阅读 · 0 评论 -
ARM MMU工作原理剖析
一、MMU的产生 任何时候,计算机上都存在一个程序能够产生的地址集合,我们称之为地址范围。这个范围的大小由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF (4G)而对于一个64位的CPU,它的地址范围为0~0xFFFFFFFFFFFFFFFF (64T),这个范围就是我们的程序能够产生的地址范围,我们把这个地址范围称为虚拟地址空间,该转载 2011-11-16 12:09:51 · 1626 阅读 · 0 评论 -
ARM指令条件码
N 运算结果的b31位值。对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;Z 指令结果为0时Z=1,否则Z=0;C 使用加法运算(包括CMN指令),b31位产生进位时C=1,否则C=0。使用减法运算(包括CMP),b31位产生借位时C=0,否则C=1。对于结合移位操作的非加法/减法指令,C为b31位最后的移出值,其它指令C通常不变;V转载 2011-11-03 09:51:02 · 1060 阅读 · 0 评论 -
Jlink 在S3C2440上的使用
1)JLINK在AXD中调试的配置使用ADS1.2的时候进入AXD调试环境回出现“ the session file could not be loaded”解决方案:1:将工程文件放在不包含中文路径的目录下。 2:设置AXD->confing Interface 中general中的save and load default session前面的选项去掉。一:在原创 2011-11-14 12:17:25 · 2749 阅读 · 0 评论