电工之家_电工基础知识学习网站
当前位置:电工之家 > 电工知识 > 单片机 > 正文

嵌入式Flash读写操作该如何进行设计

时间:2019-12-02 10:15 来源:电工之家

Flash存储芯片的通讯方式以SPI居多,在实现flash读写时就是要实现SPI的通讯协议,与EEPROM不同的是,SPI在操作时是按照PAGE页进行整页擦除写入的,这一点需要注意。Flash分为NorFlash和NandFlash,这里主要介绍NorFlash,下面从硬件设计和编程的角度介绍一下。

1 Flash存储芯片的硬件设计
Flash存储芯片多数都是SO-8的封装,具有八个引脚,存储容量较大,比如1M,2M,64M,128M等。通讯方式以SPI居多,所包含的引脚有数据输出DO、数据输入DI、时序SCLK、片选CS以及写保护WP等。

需要用到四个GPIO,片选CS低电平有效,保持和写保护为可选功能。

2 Flash存储芯片的编程事项
Flash是用来存储数据的,在消费类电子上应用比较多,如智能手环、体重秤以及作为WIFI、蓝牙模组的固件存储等。对Flash芯片的操作主要包括擦除和写入。Flash厂家、型号虽然不同,但是同为SPI通讯方式时,基本操作大同小异,都是通过整个PAGE来擦除和写入的,需要注意容量、可操作扇区的不同。在编程时需要注意如下几个问题:

首先,在拿到Flash时需要首先查看Flash的扇区划分

其次,需要根据手册的SPI时序实现程序代码的编写,这一部分一定要遵循手册的时序。

再次,需要设置正确的波特率并选择选择CPOL和CPHA。编程部分,代码的编写比较灵活每个人的实现方式不同、编程思想不同,无法展示代码。也可以选择官方的驱动代码,在此基础上进行修改。

EEPROM一般为IIC通讯,是按照字节读写的,而SIP的Flash是按照PAGE页进行擦除和读写的,这一点需要注意。

看过《嵌入式Flash读写操作该如何进行设计》的人还看了以下文章
什么是嵌入式?嵌入式系统要学习哪些知识 什么是嵌入式?嵌入式系统要学习哪些知识
嵌入式分为嵌入式硬件和嵌入式软件。所谓嵌入式,就是指软件在特定的嵌入式硬件开发完成后,最后被固化在此硬件平台中,当硬件启动后,自动执行软件,完成特定的功能。 嵌入式系统启动后,一般是没有人机交互界面的,但会留有调试接口,如RS232串口、网口,...
嵌入式系统电路板供电系统应该如何设计 嵌入式系统电路板供电系统应该如何设计
对于电系统而言,供电系统是必须的,对嵌入式也一样,嵌入式系统所要求的的电源比较低,一般为5V,3.3V,2.2V甚至1.8V。下面分情况介绍一下。 5V的嵌入式系统 对于51内核的单片机而言,其供电是5V的,需要将输入电源转换为5V。常用的降压芯片比较多,如常用...
初学者嵌入式学习该做哪些准备 初学者嵌入式学习该做哪些准备
初学者嵌入式学习该做哪些准备 做嵌入式开发,企业更看重的是个人的能力,项目经验。因此,题主想转行做嵌入式,最好得有嵌入式项目经验,让公司看到你的个人能力。那么对于初学者来说该做哪些准备呢? 掌握专业基础知识 做嵌入式,必须具备的专业基础知识有...
嵌入式C语言常用算法举例 嵌入式C语言常用算法举例
嵌入式C语言常用算法举例 算法就是为解决某一特定问题而采取的具体有限的操作。具有有穷性、确定性、可执行性、领个或多个输入以及一个或多个输出。 1、冒泡排序算法 将一串数据使用冒泡法进行排序。 将排序后的数据按照从大到小或者从小到大的顺序在LCD液晶...
嵌入式系统是什么?嵌入式系统基础知识 嵌入式系统是什么?嵌入式系统基础知识
嵌入式系统是什么?嵌入式系统基础知识 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操...