S3C2440 NOR FLASH 地址对齐
来源:互联网 发布:淘宝怎么增加买家信用 编辑:程序博客网 时间:2024/06/10 14:53
A
《嵌入式Linux应用开发完全手册》第79页关于地址不对齐的时候,使用异常处理函数,使用0x0,0x2读操作的时候,是CPU地址为0x0,0x2还是Nor Flash地址为0x0,0x2呢?
Answer
CPU使用的地址是32位的,
但是NOR使用的地址线要根据它的容量来定。
修改CPU发出的地址是0xABCDEFGH,则NOR只会看到低几位的地址,比如0xEFGH。
对于小数值0x0、0x2,CPU发出的地址和NOR接收到的地址信号,是一样的
A
书中CPU的ADDR1-ADDR20与NOR Flash的A0-A19相连,也就是地址2对齐的。而CPU的DATA0-DATA15与NOR Flash的D0-D15相连,就是以16位单位读写。
如果CPU使用地址0x6读数据(即0110B),那NOR Flash得到的地址是0011B,这时会将0011B,0100B的数据给CPU。
如果CPU使用地址0x8读数据(即1000B),那NOR Flash得到的地址是0100B,这时会将0100B,0101B的数据给CPU。
那这两个数据中的0100B不是重复了吗?
A
还有书中说如果CUP送出地址0x1来读,则应该用异常处理函数,使用0x0,0x2发起两次读操作,然后组合起来。
但是0x0读到的两个字节为D0=0000B,D1=0001B,
0x2读到的两个字节为D2=0001B,D3=0010B,
然后D1,D2组合成一个16位的数得到输出,但D2不是等于D3吗??
Answer
1. NOR是16位的,那么它就是一个地址对应两字节的数据:
如果CPU使用地址0x6读数据(即0110B),那NOR Flash得到的地址是0011B,这时会将0011B对应的两字节数据给CPU。
如果CPU使用地址0x8读数据(即1000B),那NOR Flash得到的地址是0100B,这时会将0100B对应的两字节数据给CPU。
这样理解:CPU的ADDR1接NOR的ADDR0时,CPU“看到的”,还是一个地址对应一个字节;但是NOR“看到的”,是一个地址对应两字节。
CPU以16位进行操作时,它期望以只发出一个地址信号,而获得两字节的数据:发出A地址,想得到A、A+1对应的两字节数据;
NOR是16位的,它根据自身的ADDR0、ADDR1、...决定:取“第几个”的数据给CPU,“每个”是两字节。
CPU与NOR相连时,CPU的ADDR0不连,ADDR1与NOR的ADDR0相连,仔细想想,会想通的
2.
但是0x0读到的两个字节为D0=00B,D1=01B,
0x2读到的两个字节为D2=10B,D3=11B,没有重复
CPU的BANK0设置位宽为16,那么它发出对BANK0的读写操作时,都是以16位进行的。
这意味着,它发出一个地址时,将会读或写两个字节的数据。
你外接的NOR是怎么回事,CPU不理会:CPU只认一点,我发出一个地址,对应两字节的数据。
好吧,到NOR了,NOR只能满足CPU的命令:看到一个地址,发回两字节的数据。
NOR是以16位进行组织的,“每个是16位”。
CPU发来地址0,NOR的地址线为0x00,对应NOR的第1个16位数据
CPU发来地址0x2,NOR的地址线为0x01,对应NOR的第2个16位数据
CPU发来地址0x4,NOR的地址线为0x2,对应NOR的第3个16位数据
CPU想发来地址0x1?不好意思,CPU不会这么做,直接发生异常!
http://blog.sina.com.cn/s/blog_6859cadf0101in3f.html
- S3C2440 NOR FLASH 地址对齐
- S3C2440中SDRAM \NOR FLASH\ NAND FLASH地址分配问题
- S3C2440开发板中SDRAM /NOR FLASH/ NAND FLASH地址分配
- 【转】S3C2440开发板中SDRAM /NOR FLASH/ NAND FLASH地址分配
- 总结:S3C2440开发板中SDRAM NOR FLASH NAND FLASH地址分配
- 总结:S3C2440开发板中SDRAM \NOR FLASH\ NAND FLASH地址分配
- S3C2440 与 NOR FLASH(AM29LV160DB)的接线分析
- S3C2440与NOR FLASH(AM29LV160DB)的接线分析
- keil底下S3C2440的nor flash启动代码
- S3C2440 VxWorks移植随笔--NOR FLASH之DQ6
- LPC3250的nor flash地址线接法
- U-boot移植 (v2012.04.1 S3C2440平台) (三) Nor flash Nand flash 驱动支持
- Nand Flash与Nor Flash启动的区别——s3c2440
- s3c2440上的nor flash启动与nand flash启动的区别
- S3C2440 flash 分区 nor nand FLASH区别(开发板启动时) 及 结构
- S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下
- NOR Flash
- nor flash
- 目录树
- iOS 不同需求下的定位
- recyclerView 让其跟随软键盘
- Fast R-CNN论文详解
- C语言编程小感想
- S3C2440 NOR FLASH 地址对齐
- 网页输入框测试
- WCF基本概念
- 今天,开通CSDN微博,希望大家一起交流学习,共享知识
- zookeeper+solr搭建集群服务
- Swift 3.0 入门
- Material 的 Tiling 和 Offset
- 数据结构 图 Graph
- 验证码识别