企业门户网站的主要技术指标外包服务商
企业门户网站的主要技术指标,外包服务商,网页查询快捷键,建立一个简单的企业官网问题引入#xff1a;不知道你会不会有这样的疑问#xff1a;为什么在发送解锁命令时#xff0c;我们不用右移一位#xff0c;而发送扇区地址时却要右移一位#xff08;nor_cmd函数内部已经左移一位#xff09;#xff0c;这里先补充说明一下说明是cpu角度和nor角度…问题引入不知道你会不会有这样的疑问为什么在发送解锁命令时我们不用右移一位而发送扇区地址时却要右移一位nor_cmd函数内部已经左移一位这里先补充说明一下说明是cpu角度和nor角度
cpu角度: CPU访问的最小单元是byte 在它眼里我们的NOR FLASH是2M * 8bit nor角度: 我们的NOR FLASH是16位宽的最小单元是2byte所以它认为它自己是1M * 16bit的 我们通过NOR FLASH的芯片手册得知要实现解锁功能要往地址0X555写入0XAA等等几个操作因为我们是通过NOR的手册查看到的那么这里肯定是从NOR角度看到的地址也就是说我们要往第0X555个16位的地址里写入0XAA因为地址线是错开的缘故我们CPU必须把地址左移一位后再发生给NOR这样才能真正地把0XAA写到NOR的第0X555地址里去。 而发送扇区地址的时候因为我们人操纵的是CPU所以我们的角度和CPU是一样的我们也认为NOR是2M * 8bit而不是1M * 16bit比如我们要清除地址为0X001F0000时0X001F0000代表的是第0X001F0000个8bit的地址因为地址线是错开的原因我们直接发送CPU角度的地址出去就好但又因为nor_cmd函数里已经左移一位了所以我们要提前右移一位以抵消左移的操作。为什么把NOR看成是2M * 8bit的时候就直接把地址发送出去而不用左移一位呢请看下面的“参考” 参考
ARM与16位宽的NOR FLASH的连接 NOR FLASH地址线 (A0-A19)处理器的地址线要(A1-A20)即错开一位。 当软件要读取地址3上的8位数据时硬件是这样进行的 ① quot;Memory Controllerquot;发出0b0011的地址信号NOR FLASH的A0-A19线上的信号是0b001 ② NOR FLASH在数据总线D0D15上提供一个16位的数据这是NOR FLASH中的第2个quot;最小数据单元quot; ③ quot;Memory Controllerquot;读入这个16位数据 ④ quot;Memory Controllerquot;把这个16位数据的高8位返回给CPU这就是一个8位数据。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89092.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!