对S29GL032N的16位操作方式驱动调试总结

    公司原本使用的norflash是使用8位模式的。后来公司新的项目中使用了16位模式。原来的驱动需要移植到新的模式下。折腾了一下,终于搞定。发现8位的写命令操作到了16位时,需要将操作的地址左移1位。总结如下:

    在8位模式下,地址可以分为奇地址和偶地址。如0x00,0x01,0x02,我们可以看到地址A0是0、1交替出现。

在16位模式下,由于每一次访问都是16位数据,相当于只有偶数地址出现,如0x00,0x02,0x04,0x08,我们可以看到A0位一直为低。
  
    在16位模式时,我们发现A0一直为低,是多余的。在硬件设计中,可以直接把这个地址线接地,从而节省了一个引脚。这时cpu的A0脚接flash的A1脚。

 

    这里看来是要右移一位才对的啊?为什么这里还要左移呢?

 

    原来在硬件上会直接对访问flash的地址进行右移来简化上述接线方式的地址访问。但是公司的机器是把flash和cpu的所有地址线一一对应的,a0-a0,a1-a1...。所有软件需要左移一位来抵消硬件的右移操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章