码迷,mamicode.com
首页 > 其他好文 > 详细

SPI_FLASH 操作

时间:2014-06-22 18:22:39      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:spi_flash   sector_erase   write_protect   

  前段时间需要另外规划Mboot的一些配置和功能,折腾了好一会Spi Flash 记录一下。


一.概念:


SPI:serial peripheral interface

串行接口设备,spi flash 就是通过串行的接口进行操作的flash存储设备

flash按照内部存储结构不同,分为两种:nor flash和nand flash。这里spi flash 属于 nor flash!

spi flash 读写较慢,次数有限制,一般用于不经常更改的存储。



二.操作:


我这边用于存储Mboot的spi flash 只有2M大小,十六进制表示大小为:0x200000

操作之前需要进行spi flash的初始化,这个一般在Mboot 起来的时候初始化设备的时候执行。

会将flash 分为多少block,每个block的size设置,以及起始的地址。

我这边是把2M分为了32块,每块64K,起始地址为0x00

spi flash 的读操作一般没有什么问题。主要是写操作。在对flash写之前必须要进行擦除,因为spi flash 是 nor flash ,所以写操作只能把bit  1 变成 0 .

所以需要往哪个位置写入数据的时候,就要保证目标位置的byte为0xFF 。

一般的spi flash 都是支持扇区擦除的,意思就是一次只擦除一个扇区,全部置为0xFF,nor flash的页编程大小为256bytes, 16个page 为一个扇区 也就是4K的大小!

需要注意的是,flash 还会有protect status,想写入就得关掉保护。


SPI_FLASH 操作,布布扣,bubuko.com

SPI_FLASH 操作

标签:spi_flash   sector_erase   write_protect   

原文地址:http://blog.csdn.net/jscese/article/details/32135477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!