GD32F303固件库开发(16)----移植兆易创新SPI Nor Flash之GD25Q64Flash

如题所述

SPI是串行外设接口,适用于高速全双工同步通信,节省硬件资源。在电子设备中,SPI被广泛应用于多种外设,如EEPROM、Flash、实时时钟和AD转换器等。W25Q64是一款由兆易创新制造的SPI接口Flash芯片,具备64Mbit的存储容量,相当于8M字节。

在本次实验中,我们配置了SPI接口与W25Q64Flash进行通信。SPI通信模式包括CPOL=0/CPHA=0(模式0)和CPOL=1/CPHA=1(模式3)。SPI通信的原理基于主从模式,需要4根线:MISO(主输入从输出)、MOSI(主输出从输入)、SCLK(时钟)和CS(片选)。数据传输通过时钟信号SCLK进行,SDI和SDO线基于此脉冲完成数据传输。数据在时钟上升沿或下降沿改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输需要8次时钟信号的改变,以实现8位数据的传输。时钟信号线只能由主设备控制,且传输过程中可以暂停,允许不等宽的时钟周期。

NOR Flash技术由Intel在1988年发明,是存储技术的一种。以GD25Q64为例,其容量为64M-bit,即8192K-Byte。W25Q64将8M的容量划分为127个块,每个块大小为64K字节,每个块再分为16个扇区,每个扇区为4K字节。最小擦除单位为扇区,每次擦除需要4K字节。

复位初始化通常需要发送特定指令,如0x66和0x99。兆易创新W25Q64的ID查询有多种方式,其中一种是通过发送90H指令来判断是否为W25Q64设备。

数据读取使用0x03指令配合地址信息。W25Q64的最小擦除单位是扇区,擦除指令为0x20和3字节地址。写数据到Flash中使用0x02指令,还需指定24位地址。写入指令示例如向0x1000地址写数据。

在配置方面,使用microlib以减小代码体积,但牺牲了一些ISO C特性。需注意开启printf()功能。SPI接口挂载在APB2线上,配置分频以调整传输速率,例如分频256倍,得到约468.75KHz的速率。串口中断设置用于优化数据处理。

案例中展示了向指定扇区写入数据的过程,包括读取ID、数据读取和擦除。主程序中处理了读取ID和数据、执行擦除等操作。数据处理演示部分说明了如何读取和处理从Flash中获取的数据。通过输入特定指令,可以实现对扇区进行数据的读取、写入和擦除。
温馨提示:内容为网友见解,仅供参考
无其他回答

...固件库开发(16)---移植兆易创新SPI Nor Flash之GD25Q64Flash...
NOR Flash技术由Intel在1988年发明,是存储技术的一种。以GD25Q64为例,其容量为64M-bit,即8192K-Byte。W25Q64将8M的容量划分为127个块,每个块大小为64K字节,每个块再分为16个扇区,每个扇区为4K字节。最小擦除单位为扇区,每次擦除需要4K字节。复位初始化通常需要发送特定指令,如0x66和0x99。...

...16)---移植兆易创新SPI Nor Flash之GD25Q64Flash
STM32CUBEMX开发GD32F303中,SPI(Serial Peripheral Interface)是一种全双工、同步的通信方式,仅需四根线,如W25Q64 Flash,支持SPI模式0和模式3。GD25Q64是一款64Mbit的SPI闪存,适合多种嵌入式应用。课程资源包括视频教程和详细的CSDN教程,通过实际开发板验证。移植过程包括配置64M时钟,PA9和PA10...

STM32CUBEMX开发GD32F303(1)---前期准备与烧录
概述:在进行STM32CUBEMX配置STM32F103并移植至兆易创新GD32F303的前期准备与烧录过程中,需遵循以下步骤。获取样片请加入Q群:615061293。芯片申请:芯片与开发板均免费申请,仅限公司名义,申请链接在此:wjx.top\/vm\/wFGhGPF.aspx。视频教学:若无声,请点击跳转观看教学视频:bilibili.com\/video\/BV1g....

GD兆易创新32位MCU GD32F303CBT6、GD32F303RCT6、GD32F303VCT6
兆易创新GD32F303CBT6, GD32F303RCT6, GD32F303VCT6是采用Cortex-M4内核的强大32位MCU,它们均以出色的性能脱颖而出。GD303CBT6的主频高达120MHz,内置3072KB超大容量Flash和96KB SRAM,能提供高速无等待的内核访问。该系列MCU配备了一系列丰富外设,包括10个16位通用定时器、2个基本定时器和2个DM...

相似回答
大家正在搜