s3c6410存储器映射
2.内部存储区
(1) 内部ROM 0x0800_0000~0x0BFF_FFFF
(2) 内部SRAM 0x0C00_0000~0x0FFF_FFFF
3.静态存储区 0x1000_0000~0x3FFF_FFFF
4.动态存储区 0x4000_0000~0x6FFF_FFFF
S3C6410的物理内存分成Memory和Pheriperal两部分,地址范围分别为0x0~0x6fffffff和0x7fffffff。系统通过SPINE总线访问Memory空间,通过PERI总线访问Pheriperal空间。而为了适应不同外设的访问速度,又分别通过AHB总线访问LCD、Camera、Accelerator等高速外设,通过APB总线访问iic、watchdog等低速外设。
3.2内存
Memory,又叫主内存,分为4大区域,分别是启动镜像区、内部内存区、静态内存区、动态内存区。
启动镜像区物理地址为0x00000000~0x07ffffff,共128MB。这个区域的作用正如它的名字所述,是用来启动系统的。但是这个范围内并没有实际的存储介质与之对应,只能在通过OM[4:0]选择具体的启动介质后再把相应介质的物理地址映射到这个启动区,比如说选择了IROM启动方式后,就把IROM所占的地址空间映射为0x00000000开始的空间。
内部内存区物理地址为0x08000000~0x0fffffff,共128MB。这个区域对应着内部的内存地址,内部的ROM和SRAM都是分布在这个
区间。其中,0x08000000~0x0bffffff对应着内部ROM,当然实际上内部的ROM也并没有64MB这么多,只有32KB是有实际存储介
质的,这32KB是一个只读区,放的是IROM方式下的启动代码,选择IROM启动的时候首先运行的
代码就是这一部分,称为BL0,这部分代码由厂家固化。0x0c000000~0x0fffffff对应内部SRAM,实际可用的SRAM按照三星的手册
是4KB,其实这就是用于nand
flash启动的Steppingstone(但是这个Steppingstone是8KB,这2者似乎有矛盾,不知道是不是我的理解不对)。
静态内存区物理地址为0x10000000~0x3fffffff,共6*128MB。这个区域用于访问挂在外部总线上的设备,比如说SRAM、NOR
flash、oneNand等。这个区域被分割为6个bank,每个bank为128MB,数据宽度最大支持16bit,每个bank通过Xm0CS[5:0]来划定。和S3C2410不
一样的是,bank2~bank5能映射到nand
flash、CF等非线性存储器,这并不是说可以通过bank2~bank5的地址段就能直接访问nand
flash、CF内部的地址,相反,当映射到这些器件的时候这些bank的地址也不能再使用了,访问这些非线性存储器还是得通过Pheriperal空间
的AHB总线进行,和S3C2410中的访问方式是一样的。不过有一个特例是,当Xm0CS2被映射到nand
flash的时候,Steppingstone的4KB(or 8K?)SRAM被映射到bank2开始的4KB,而在以nand
flash方式启动的时候bank2被映射到0x00000000开始的地方,实际上就是把Steppingstone映射到0x0000000了,这和S3C2410的情况还是相似的。
动态内存区物理地址为0x40000000~0x6fffffff,共3*256MB。其中第一个256MB为保留区,实际使用的动态内存区为0x50000000~0x6fffffff,又分为2个区间,分别占256MB,可以通过DMC的Xm1CS[1:0]来进行着2个区间的选择。这个内
存区主要是扩展DRAM,最大可以扩展512MB的DRAM。
s3c6410存储器映射的更多相关文章
- ARM的存储器映射与存储器重映射
转:http://www.360doc.com/content/12/1006/00/1299815_239693009.shtml arm 处理器本身所产生的地址为虚拟地址,每一个arm芯片内都有存 ...
- S3C2440的存储器映射(27根地址线如何寻找1G的地址)
转:http://blog.csdn.net/ce123_zhouwei/article/details/6882091 查S3C2440的数据手册可知S3C2440可寻址1G的地址范围,但是S3C2 ...
- OpenCL使用CL_MEM_USE_HOST_PTR存储器对象属性与存储器映射
随着OpenCL的普及,现在有越来越多的移动设备以及平板.超级本等都支持OpenCL异构计算.而这些设备与桌面计算机.服务器相比而言性能不是占主要因素的,反而能耗更受人关注.因此,这些移动设备上的GP ...
- STM32存储器映射和寄存器映射
存储器映射 对于Cortex-M3来讲,有一块4G大小的存储器空间.存储器映射指的是芯片厂商为这个空间分配地址的操作.这4G空间被均匀地划分为8个大小为512MB的存储块(block),并且每个块都各 ...
- S3C6410启动过程分析
S3C6410支持多种存储设备,包括片上的Internal ROM.Internal SRAM和片外的Flash/ROM.DRAM.多种启动设备形成多种启动模式,分析如下. 本文为作者原创,转载请注明 ...
- TMS320C54x系列DSP的CPU与外设——第3章 存储器
第3章 存储器 本章介绍了TMS320C54x DSP存储器的构成和操作.一般来说,C54x器件共有192K 16位字的存储窨,这个空间分成3个专用的部分:64K字程序.64K字数据和64K字I/O ...
- I/O空间映射
转自:http://www.cnblogs.com/hydah/archive/2012/04/10/2232117.html 注:部分资料和图片来源于网络,本文在学习过程中对网络资源进行再整理. I ...
- python标准库基础之mmap:内存映射文件
#作用:建立内存映射文件而不是直接读取内容文本信息内容:如下(名称是text.txt) Lorem ipsum dolor sit amet, consectetuer adipiscing elit ...
- 通过linux核映射驱动访问GPIO
1. HPS GPIO原理 1.功能方块图 linux内核是通过Linux内核memory-mapped device驱动访问GPIO控制器的寄存器而控制HPS端用户的LED和KEY的.memory- ...
随机推荐
- Apk大瘦身
Android的apk文件越来越大了这已经是一个不争的事实.在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB ...
- SWF文件加密、混淆
简单说下SWF文件的混淆原理,(已经明白的请跳过本段):我们的AS源代码被编译完成后,SWF内部会形成一个字符串映射表,包含源码里出现的所有字符串(类名,包名,成员变量名,常量等).一个数字(相当于地 ...
- windows 改路径有小差异
https://jingyan.baidu.com/article/5552ef473e2df6518ffbc916.html cmd是windows下一个非常常用的工具,但是它默认的地址却是不变的. ...
- linux使用virtualenv构建虚拟环境,requirement.txt记录包版本
virtualenv介绍: virtualenv把是一个把python应用隔离在一个虚拟环境中的工具.网上的例子较多,这里重点讲述怎么使用virtualenv来激活一个虚拟环境,并且记录虚拟环境中所依 ...
- AndroidManifest.xml activity属性设置大全
1.android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务,比如从短信息任务切换到浏 ...
- Git常用命令以及用法
一 如何让单个文件回退到指定的版本 1. 进入到文件所在文件目录,或者能找到文件的路径 查看整个目录的修改记录 git log . 2. 回退到指定的版本 git reset f7a22076 ...
- 无法打开包括文件:“iostream.h”
把#include<iostream.h>改为:#include<iostream>using namespace std; #include<iostream.h> ...
- 旧书重温:0day2【7】堆溢出实验
相关文章我拍成了照片,放在了我的QQ空间不是做广告(一张一张的传太麻烦了)http://user.qzone.qq.com/252738331/photo/V10U5YUk2v0ol6/ 密码9 ...
- volatile与const综合分析
在C/C++ 编程中,volatile与const关键字一向容易让人困惑,当然,新手可能从来不用,但是 在高质量和稳健的程序中,这两个关键字 是相当重要的. 相比const,volatile关键字的发 ...
- Python打包上传
你可以用pip导出你的dependency: $ pip freeze > requirements.txt 然后在通过以下命令安装dependency: pip install -r requ ...