S3C2440内存控制器详解
S3C2440A Memory Map after Reset
S3C2440的内存空间划分为不同的块,当CPU向内存控制器发出地址,内存控制器根据地址范围,发出对应片选信号到片选引脚,实现对不同设备的控制。

BANK0 BUS WIDTH
The data bus of BANK0 (nGCS0) should be configured with a width as one of 16-bit and 32-bit ones. Because the BANK0 works as the booting ROM bank (map to 0x0000_0000), the bus width of BANK0 should be determined before the first ROM access, which will depend on the logic level of OM[1:0] at Reset.

MEMORY (SROM/SDRAM) ADDRESS PIN CONNECTIONS

Memory Interface with 8-bit ROM

Memory Interface with 8-bit ROM x 2

Memory Interface with 8-bit ROM x 4

Memory Interface with 16-bit ROM

Memory Interface with 16-bit SRAM x 2

分析:
以《Memory Interface with 16-bit ROM》为例:
CPU是按字节寻址的;位宽为16的ROM是按半字寻址的(半字等于两个字节);
A0连接CPU的哪根地址线,是由存储芯片的数据位宽决定的。由于这个ROM是按半字寻址的,所以CPU访问这个ROM时应该进行地址转换。


S3C2440内存控制器详解的更多相关文章
- s3c2440存储控制器详解
从上图可知,外部内存类的设备与存储管理器相连,那么CPU是怎样访问到内存的呢?通过存储管理器.CPU比较单纯,只会按照指令执行,CPU只负责发出地址,怎样找到内存类设备呢?这些都交给存储管理器来管理. ...
- C语言内存对齐详解(2)
接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...
- C语言内存对齐详解(3)
接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ...
- Tomcat内存设置详解
Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...
- Tomcat内存溢出详解【转载】
本文转载自 http://elf8848.iteye.com/blog/378805 Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryEr ...
- Linux 内存机制详解宝典
Linux 内存机制详解宝典 在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于 ...
- (转)Tomcat内存设置详解
Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启 ...
- SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解
SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC 6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...
- Java学习之二维数组定义与内存分配详解
二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的元素有多少个. 注意: ...
随机推荐
- linux 环境下安装 MySQL
参考: Linux安装MySQL5.7 注意: 安装后 出现 navicat MySQL连接Linux下MySQL的及2003错误 需要看下 虚拟机的防火墙是否关闭!!!
- 【网寻】IE F12 后报错,无法查看 DOM 等信息
错误图片: 解决办法 : 安装Windows7补丁:KB3008923: 补丁下载地址: http://www.microsoft.com/en-us/download/details.aspx?id ...
- 使用YII缓存注意事项
在使用YII自身缓存时,在main.php文件配置中一定要配置keyPrefix,如下图: 'cache' => array( 'class' => 'CFileCache', 'keyP ...
- 关于定时执行任务:Crontab的20个例子
关于定时执行任务:Crontab的20个例子 LeeLom 关注 2016.09.28 19:53* 字数 713 阅读 9186评论 6喜欢 15 简介 Linux crontab和Windows ...
- swiper选项卡还可以左右滑动,最后一个直接跳转链接
整理分享: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf ...
- 1 Struts2基本概述及其入门
什么是Struts2? webwork+Struts1 一个基于MVC设计模式的web层框架,本质上相当于一个Servlet.. 在MVC设计模式中,Struts2作为控制器Controller来建立 ...
- navicat连接数据库报错:未发现数据源名称并且未指定默认驱动程序
解决方法:安装navicat自带sqlncli_x64.msi,在navicat安装目录下
- Python函数-1 range()函数
range()函数 在其他语言中,如果想要循环一个变量从1到100,要怎么写呢? for(i = 1,i<=100,i++){} python怎么实现这个功能呢?python设计了range() ...
- tcp连接建立和断开
TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议. 1.TCP报文段 虽然TCP面试字节流,但TCP传输的数据单元却是报文段.TCP报文段分为TCP首 ...
- 阿里分布式开放消息服务(ONS)原理与实践——笔记整理
1.MQ场景 1)订单异步解耦 2)解决分布式事务问题 3)应用于聊天平台 4)大规模机器的Cache同步 5)MySQL BinLog订阅数据分发2.ONS应用场景 ...