博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
S3C6410 存储器映射
阅读量:2391 次
发布时间:2019-05-10

本文共 1610 字,大约阅读时间需要 5 分钟。

1 存储系统块图

       我们以行为单位来看,在每一行中,最前面的两列表示的是地址范围,后面的几列则是不同的存储控制器。在每一行中用粗边框标示出来的部分表示最前面两列的地址范围映射到这个区域当中。例如:最后两行的地址范围:0x50000000~0x5FFFFFFF和0x60000000~0x6FFFFFFFF分别映射到了DRAM控制器。用6410芯片的人应该对0x50000000这个内存地址比较熟悉。当然,我们注意到了,出现了单个地址映射到了多个存储控制器,例如:0x28000000~0x2FFFFFFF这个地址范围映射到了SROM控制器和One NAND控制器上。这是为什么呢?看下面的注解就知道了。
注解)6410X PoP A类型的不支持NAND Flash。所以此时我们可以忽略掉NAND Flash控制器这一列。6410X PoP D类型的不支持OneNANF Flash控制器,此时可以忽略OneNAND Flash控制器这一列,这样就不会冲突了。
表格中还有上脚标为1和2的符号,他们的含义分为别:
上脚标1代表在这个地方的内容在存储子系统这一节中有详细说明。

上脚标2代表这个地址可以同时被映射到SROM控制器和OneNAND控制器。详细的信息也在存储子系统这一节中介绍。

   S3C6410X支持32位的物理地址,这些地址域可以被分为两个部分,一个部分用于存储,另外一个用于外设。
   我们可以通过SPINE总线来访问主要存储区域,它的地址范围是0x0000_0000~0x6FFF_FFFF.这个主要的存储区域被分为四个区域:引导镜像区、内部存储区/静态存储区和动态存储区。
   引导镜像区的地址范围是0x0000_0000~0x7FFF_FFFF,但是这里没有实际映射的存储。引导镜像区在内部存储区或者是内部镜像区中有一个镜像区域。引导镜像的地址固定为0x0000_0000.
   内部存储区用来访问内部ROM和用于boot loader的内部SRAM这两个区域的。其中,用于boot loader的内部SRAM区域也被称作Steppingstone。每一个内部存储区的起始地址都是固定的。内部ROM的地址范围是0x0800_0000~0x0BFF_FFFF,但是实际的存储大小只有32KB。这个区域是只读的,并且当选择内部ROM启动方式时,这个区域可以被映射到引导镜像区。内部SRAM的地址范围是0x0C00_0000~0x0FFF_FFFF,但是实际的存储大小只有4KB。
   静态存储区的地址范围是0x1000_0000~0x3FFF_FFFF.我们可以通过这个地址访问到:SROM、SRAM、NOR Flash、异步NOR接口的设备、OneNAND Flash和Steppingstone。每一个区域都代表一个芯片被选择,例如:地址0x1000_0000~0x17FF_FFFF代表Xm0CSN[0].每一个被选择的芯片的起始地址都是固定的。我们不能通过静态存储区来访问NAND Flash和 CF/ATA,因此,如果任何的Xm0CSn[5:2]被映射到了NFCON或者CFCON,相关的地址区域是不能被访问到的。但是有一个例外,那就是当Xm0CSn[2]用于NAND Flash时,Steppingstone就镜像到了区域0x2000_0000~0x27FF_FFFF.
   动态存储区域的范围是0x4000_0000~0x6FFF_FFFF.DMC1有权利使用0x5000_0000~0x6FFF_FFFF这个地址范围。每一个被选择的芯片的起始地址都是可以配置的。

   我们可以通过PERI这个总线来访问外设,它的地址范围是0x7000_0000~0x7FFF_FFFF.所有的SFRs都可以通过这个地址范围访问到。当然,如果我们需要从NFCON或者是CFCON来传输数据,那么这些数据也必须通过PERI总线来传输。

转载地址:http://avqab.baihongyu.com/

你可能感兴趣的文章
SqlServer获取当前日期
查看>>
【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长
查看>>
【12c】12c RMAN新特性之UNTIL AVAILABLE REDO--自动恢复到REDO终点的步骤简化
查看>>
【转载】 MySQL数据库“十宗罪”(十大经典错误案例)
查看>>
Oracle 11g RAC安装--基于openfiler存储+多路径+udev方式
查看>>
【12c】oracle12c 的SYSBACKUP、SYSDG、SYSKM系统用户
查看>>
数据泵导出导入物化视图(ORA-39083)
查看>>
myisampack工具(MyISAM表压缩工具)
查看>>
Oracle的NLS_DATE_FORMAT设置(日期格式设置)
查看>>
如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)
查看>>
如何查看端口被哪个进程占用?
查看>>
Oracle表空间的管理方式(LMT、DMT)--本地和字典管理
查看>>
SQL Server常见数据类型介绍
查看>>
Oracle 18c bug 执行 DBMS_PDB.CHECK_PLUG_COMPATIBILITY报错
查看>>
可刷新的PDB(PDB Refresh)
查看>>
oracle 19c使用dgmgrl来执行switchover和failover切换
查看>>
Oracle RAC重新运行root.sh脚本
查看>>
Linux系统ACL权限设置之setfacl和getfacl
查看>>
Oracle 19c rac的搭建
查看>>
【DG】在Linux平台上搭建单实例的dataguard--duplicate
查看>>