ARM_MEM
文章平均质量分 88
你来吻
能够使用VC和CBC VS2005编辑软件,能够使用CCS开发DSP。能够使用PB编写wince 驱动,能够使用ADS。
有一个漂亮的媳妇和一个可爱的女儿。
就这么简单。
每天要看一篇旧的日志,每天睡前要想想今天做了什么。明天的简单计划是什么?
展开
-
内存管理单元mmu
一、内存管理单元MMU介绍内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏。重点就在于地址映射:页表的结构与建立、映射的过程。1、S3C2440 MMU地址变换过程 1)地址的分类一个程序在运行之前,没有必要全部装入内存,仅需要将那些要运行的部分先装入内存,其余部分在用到时从磁盘载入,当内存不足时,再将暂时不用的部分调出到磁盘。这使得大程序可以在较小的内存空间原创 2010-10-26 19:48:00 · 880 阅读 · 0 评论 -
关于VirtualAlloc和VirtualCopy
<br />弄清楚这个问题首先要了解VirtualCopy和VirtualAlloc这2个函数的实现和目的,以及wince下动态虚拟内存映射和静态虚拟内存映射。 <br />先说VirtualAlloc 和VirtualCopy<br />VirtualAlloc 首先会从我们的虚拟地址空间中申请(或者说预留)一块虚拟空间,准备接下来要用它。注意此时,可用的物理内存并没有减少,只是虚拟地址少了一块可用的区域。 <br />真正把这块之前reserved的虚拟空间映射到物理的内存区域就是由VirtualCop转载 2010-10-29 13:47:00 · 800 阅读 · 0 评论 -
VirtualCopy in WinCE6.0
<br />在CE4.2/5.0里面滚打多年的兄弟应该经常用这个函数吧。这个函数方便驱动和应用程序范围任何的物理地址,包括物理内存啊,设备控制器的寄存器啊,甚至GPIO也可以在AP里面随便拉上拉下。<br />这个函数虽然方便,但是并不安全,你想你好不容易把一个功能完善的image给build出来了,结果碰到了一个写AP的“高手”,把你的寄存器和共享内存中的数据修改得一塌糊涂,最后报出bug来说你驱动的你会不会晕倒!<br />还好从CE6.0开始我们可以安枕无忧了,因为AP再也不能调用VirtualCop转载 2010-10-29 13:48:00 · 568 阅读 · 0 评论 -
WINCE ARM Datatype misalignment 问题
<br />在arm处理器上,运行程序会遇到Datatype misalignment问题而crash,而同一代码在x86 win32环境上编译后运行良好;<br />其实不管是x86还是arm都会遇到Datatype misalignment问题,比如d3dx用到sse指令优化的D3DXMATRIX时,需要这个变量16字节对齐,否则可能会crash。<br />同一问题在arm上会更明显,因为arm的硬件处理可能没有pc机cpu这么强悍,针对arm的编译器可能也没这么强悍,这就需要我们写代码时候更健壮,考转载 2011-03-28 12:42:00 · 1073 阅读 · 0 评论 -
2440原理图地址线分析
<br />(1) 地址线为什么从A2开始?<br /> 因为2440数据宽度为32位,按4字节对齐,即地址只会是0x...0,0x...4,0x..C,0x...E,每次地址增加都是四个字节,所以A0和A1没什么用。<br />(2) SDRM BANK 选择输入BA0/BA1为什么连接的是A24,A25<br /> 因为系统内存容量为64M,32bit,由两片64M 16bit的SDRM组成。表示64M的空间需要26根线,所以地址最高两位为A25和A24。<br />(3) 64M需要转载 2011-06-02 15:56:00 · 916 阅读 · 0 评论 -
SDRAM的寻址知识及重要的参数
<br />在嵌入式行业中,经常会碰到有人问如果将开发板上32M的SDRAM换成64M的SDRAM硬件需不需要改动。答案是:不需什么改动。由于当时刚进入这个行业,对这个答案一直很迷惑,<br />板上用的是现代的sdram芯片4M×16b×4Bank,即32MB,按理说应该有25根地址线,但芯片上只提供了13根地址线,2根bank选择线(BA0,BA1),两个片选信号,这怎么寻址啊? <br />今天碰巧又碰到这个问题,俗话说事不过三,心一横,今天非把这个问题搞明白不可。功夫不负有心人,终于参考网上的一些S转载 2011-06-02 16:56:00 · 1164 阅读 · 0 评论 -
SDRAM
SDRAM内存模组的物理Bank与芯片位宽 我们平时看到的SDRAM都是以模组形式出现,为什么要做成这种形式呢?这首先要接触到两个概念:物理Bank与芯片位宽。 1、物理Bank 传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽转载 2011-06-03 10:07:00 · 4779 阅读 · 2 评论