韦东山Linux嵌入式课程社区
直播中

李娜

7年用户 171经验值
私信 关注

norflash地址为什么要右移一位?

注意:如果点击空白处无法输入,则点击字会有输入提示符 | 则可以使用键
    盘进行输入!

此板块为  [ARM裸机加强版]
  • 问题所在章节:
  • 发生问题的运行环境:
  • 问题发生描述:


  • 在norflash实验中 由于norflash和2440的地址线相互错开的原因,发送地址的需要把地址左移一位。
  • 在擦除扇区时,发送扇区地址时为什么又要把地址往右移一位?
  • 同样是往某个地址写指令,前面的发送解锁命令时,地址都没有右移,在发送扇区地址时就要右移一位

  • 输出的错误信息:

回帖(6)

张琴

2019-3-22 15:32:31
好的 谢谢您的解答
举报

李研

2019-3-22 15:39:36
李老师,您好,我对这个问题也有所困惑,并且看了链接文章也没弄懂在擦除扇区的时候为什么地址就要右移一位。
addr右移一位再左移一位等于没变,相当于CPU地址线上(LADDR0-LADDR20)发出的就是addr,那站在Nor的角度来看,它收到的不是addr啊。还是说扇区地址和addr有什么换算关系
举报

张帆

2019-3-22 15:45:13
那站在Nor的角度来看,它收到的不是addr啊
物理接线已经错位了,它收到的是addr
举报

王幼萍

2019-3-22 16:01:00
李老师,您好!
我目前对这个问题也是无法理解。
1. 从cpu角度看,nor的addr要<<1;从nor看,cpu的addr要>>1,这我可以理解。

2. 但是,比如说,我向扇区首地址为0x10000写data,这个0x10000是我输入的nor的offset是吧,那既然nor_cmd是从nor角度的,那么这个0x10000应该就不用 >>1 了。

3. 打印的扇区首地址,就是那一大块,是cpu角度的???不应该啊???
举报

更多回帖

发帖
×
20
完善资料,
赚取积分