相对于硬件工程师和嵌入式软件工程师一般在完成设计之后常常需要验证FLASH是否在工作。在应用当中,也有很多时候需要对FLASH进行写操作。今天Ameya360电子元器件采购网给大家简单介绍了基于ARM芯片的NOR FLASH烧写,并提供了2个具体的实例和源代码,希望对有需要的朋友有点帮助。在开始之前,先声明一下,这篇文章只是介绍了如何写 NOR FLASH 的烧写驱动,和H-JTAG/H-FLASHER没有直接的联系。
在后面的介绍里,如无特别说明,处理器指的是 ARM 处理器,FLASH 指的都是 NOR FLASH。另外,BYTE 指的是8-BIT的数据单元,HALF-WORD代表的是16-BIT的数据单元,而WORD 则代表了32-BIT的数据单元。
1. NOR FLASH 的简单介绍
NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失。NOR FLASH支持Execute ON Chip,即程序可以直接在FLASH片内执行。这点和NAND FLASH不一样。因此,在嵌入是系统中,NOR FLASH很适合作为启动程序的存储介质。
NOR FLASH的读取和RAM很类似,但不可以直接进行写操作。对NOR FLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。从支持的最小访问单元来看,NOR FLASH一般分为 8 位的和16位的(当然,也有很多NOR FLASH芯片同时支持8位模式和是16 位模式,具体的工作模式通过特定的管脚进行选择) 。
对8位的 NOR FLASH芯片,或是工作在8-BIT模式的芯片来说,一个地址对应一个BYTE(8-BIT)的数据。例如一块8-BIT的NOR FLASH,假设容量为4个 BYTE。那芯片应该有8个数据信号D7-D0 和2个地址信号,A1-A0。地址0x0对应第0个 BYTE,地址0x1对应于第1BYTE,地址0x2对应于第2个 BYTE,而地址0x3则对应于第3 个BYTE对16位的 NOR FLASH芯片,或是工作在16-BIT模式的芯片来说,一个地址对应于一个HALF-WORD(16-BIT)的数据。
例如,一块16-BIT的 NOR FLASH,假设其容量为4个BYTE。那芯片应该有16 个数据信号线D15-D0 和1个地址信号A0。地址 0x0对应于芯片内部的第0个 HALF-WORD,地址0x1对应于芯片内部的第1个 HALF-WORD。 FLASH一般都分为很多个SECTOR,每个SECTOR包括一定数量的存储单元。对有些大容量的FLASH,还分为不同的BANK,每个BANK包括一定数目的SECTOR。FLASH的擦除操作一般都是以SECTOR,BANK或是整片FLASH为单位的。
在对FLASH进行写操作的时候,每个BIT可以通过编程由1变为0,但不可以有0修改为1。为了保证写操作的正确性,在执行写操作前,都要执行擦除操作。擦除操作会把FLASH的一个SECTOR,一个BANK或是整片FLASH 的值全修改为0xFF。这样,写操作就可以正确完成了。
2. ARM 处理器的寻址
ARM 可以说是目前最流行的32位嵌入式处理器。在这里只提一下 ARM 处理器的寻址,为后面做个铺垫。从处理器的角度来看,系统中每个地址对应的是一个BYTE的数据单元。这和很多别的处理器都是一样的。
3. 处理器和 NOR FLASH 的硬件连接
从前面的介绍,我们知道从处理器的角度来看,每个地址对应的是一个 BYTE 的数据单元。而,NOR FLASH 的每个地址有可能对应的是一个BYTE的数据单元,也有可能对应的是一个HALF-WORD的数据单元。所以在硬件设计中,连接ARM处理器和 NOR FLASH时,必须根据实际情况对地址信号做特别的处理。
如果ARM处理器外部扩展的是8-BIT的NOR FLASH, 数据线和地址线的连接应该如图1所示。 从图中我们可以看到,处理器的数据信号D0-D7和 FLASH的数据信号D0-D7是一一对应连接的,处理器的地址信号A0-An和NOR FLASH的地址信号A0-An 也是一一对应连接的。
上一篇:什么是光纤连接器 它有哪些种类
在线留言询价
型号 | 品牌 | 询价 |
---|---|---|
RB751G-40T2R | ROHM Semiconductor | |
BD71847AMWV-E2 | ROHM Semiconductor | |
CDZVT2R20B | ROHM Semiconductor | |
MC33074DR2G | onsemi | |
TL431ACLPR | Texas Instruments |
型号 | 品牌 | 抢购 |
---|---|---|
BP3621 | ROHM Semiconductor | |
TPS63050YFFR | Texas Instruments | |
ESR03EZPJ151 | ROHM Semiconductor | |
BU33JA2MNVX-CTL | ROHM Semiconductor | |
STM32F429IGT6 | STMicroelectronics | |
IPZ40N04S5L4R8ATMA1 | Infineon Technologies |
AMEYA360公众号二维码
识别二维码,即可关注