1.引导镜像区 0x0000_0000~0x07FF_FFFF

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存储器映射的更多相关文章

  1. ARM的存储器映射与存储器重映射

    转:http://www.360doc.com/content/12/1006/00/1299815_239693009.shtml arm 处理器本身所产生的地址为虚拟地址,每一个arm芯片内都有存 ...

  2. S3C2440的存储器映射(27根地址线如何寻找1G的地址)

    转:http://blog.csdn.net/ce123_zhouwei/article/details/6882091 查S3C2440的数据手册可知S3C2440可寻址1G的地址范围,但是S3C2 ...

  3. OpenCL使用CL_MEM_USE_HOST_PTR存储器对象属性与存储器映射

    随着OpenCL的普及,现在有越来越多的移动设备以及平板.超级本等都支持OpenCL异构计算.而这些设备与桌面计算机.服务器相比而言性能不是占主要因素的,反而能耗更受人关注.因此,这些移动设备上的GP ...

  4. STM32存储器映射和寄存器映射

    存储器映射 对于Cortex-M3来讲,有一块4G大小的存储器空间.存储器映射指的是芯片厂商为这个空间分配地址的操作.这4G空间被均匀地划分为8个大小为512MB的存储块(block),并且每个块都各 ...

  5. S3C6410启动过程分析

    S3C6410支持多种存储设备,包括片上的Internal ROM.Internal SRAM和片外的Flash/ROM.DRAM.多种启动设备形成多种启动模式,分析如下. 本文为作者原创,转载请注明 ...

  6. TMS320C54x系列DSP的CPU与外设——第3章 存储器

    第3章  存储器 本章介绍了TMS320C54x DSP存储器的构成和操作.一般来说,C54x器件共有192K 16位字的存储窨,这个空间分成3个专用的部分:64K字程序.64K字数据和64K字I/O ...

  7. I/O空间映射

    转自:http://www.cnblogs.com/hydah/archive/2012/04/10/2232117.html 注:部分资料和图片来源于网络,本文在学习过程中对网络资源进行再整理. I ...

  8. python标准库基础之mmap:内存映射文件

    #作用:建立内存映射文件而不是直接读取内容文本信息内容:如下(名称是text.txt) Lorem ipsum dolor sit amet, consectetuer adipiscing elit ...

  9. 通过linux核映射驱动访问GPIO

    1. HPS GPIO原理 1.功能方块图 linux内核是通过Linux内核memory-mapped device驱动访问GPIO控制器的寄存器而控制HPS端用户的LED和KEY的.memory- ...

随机推荐

  1. vue仿京东画线验证码,前端手指位置数据获取

    需求是这样的,京东H5移动端登录,有个安照箭头方向,画线登录的验证,看看是怎么实现的: 直接上代码了: <template> <div v-if="visible" ...

  2. Qt之图形(QPainterPath)

    简述 QPainterPath 类(绘图路径)提供了一个容器,用于绘图操作,可以创建和重用图形形状. 绘图路径是由许多图形化的构建块组成的对象,例如:矩形.椭圆.直线和曲线.构建块可以加入在封闭的子路 ...

  3. git pull VS git fetch&merge

    使用git fetch和git pull都可以更新远程仓库的代码到本地,但是它们之间还是有区别. git fetch  git fetch origin master git log -p maste ...

  4. boost库做什么用呢?

    1.C++标准库不是已经很全面了吗?Boost又不是界面库,它主要解决些什么问题呢?哪类问题?2.Boost的开发人员都是C++标准委员会的吧,为什么没把它列做标准库,有什么不完善的问题吗? 3.Bo ...

  5. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space(Java堆空间内存溢出)解决方法

    http://hi.baidu.com/619195553dream/blog/item/be9f12adc1b5a3e71f17a2e9.html问题描述Exception in thread &q ...

  6. OpenCV中阈值(threshold)函数: threshold 。

    OpenCV中提供了阈值(threshold)函数: threshold . 这个函数有5种阈值化类型,在接下来的章节中将会具体介绍. 为了解释阈值分割的过程,我们来看一个简单有关像素灰度的图片,该图 ...

  7. HDU - 6395:Sequence (分块+矩阵)

    题面太丑了,就不复制了. 题意:F1=A: F2=B: Fn=D*Fn-1+C*Fn-2+P/i:求Fn. 思路:根据P/i的值划分区间,每个区间矩阵求. 带常数的矩阵: #include<bi ...

  8. 快速沃尔什变换FWT

    快速沃尔什变换\(FWT\) 是一种可以快速完成集合卷积的算法. 什么是集合卷积啊? 集合卷积就是在集合运算下的卷积.比如一般而言我们算的卷积都是\(C_i=\sum_{j+k=i}A_j*B_k\) ...

  9. LeetCode Split Array into Consecutive Subsequences

    原题链接在这里:https://leetcode.com/problems/split-array-into-consecutive-subsequences/description/ 题目: You ...

  10. webpack新版本4.12应用九(配置文件之多种配置类型)

    除了导出单个配置对象,还有一些方式满足其他需求. 导出为一个函数 最终,你会发现需要在开发和生产构建之间,消除 webpack.config.js 的差异.(至少)有两种选项: 作为导出一个配置对象的 ...