w25q128有多少页,GM25Q128A是多大容量
来源:整理 编辑:亚灵电子网 2023-05-23 04:56:04
1,GM25Q128A是多大容量
W25Q128的容量是128Mb,也就是16M字节。64K字节为1个块(Block),所以W25Q128总共有16M/64K=256个块(Block);

2,W25Q128FV 闪存 写一页0x0010页尾字节第256字节这页 和 下页都没
部分页(Partial Page)写入机制 未正确理解。部分页写入 可写 但既非 循环写这一页 也非 继续写下一页,而是 写到这页尾 为止,此后传输的字节都将 忽略。正确使用 部分页写入 即可。

3,TM4C系列操作w25q128flash
1.W25Q64 是华邦公司推出的大容量SPIFLASH 产品,W25Q64 的容量为 64Mb,W25Q128的容量为128Mb。W25Q64 的擦写周期多达 10W 次,具有 20 年的数据保存期限,支持电压为 2.7~3.6V。 2.操作时序。 根据手册说明,发送指令需要将CS拉低。指令发送完毕在将CS拉高。指令有可能是单字节有可能是多字节。 下图为写指令时序示意图。 1.SPI每发送一个数据的同时会接收到一个字节的数据 2.SPI有4条线,MISO,MOSI,SCLK三条数据线,还有片选线CS,片选线对于SPI接口的从设备是低电平有效,主机输出一个低电平从机就被选中。这样就方便一个主机可以连接多个从设备,只需要使用不同的片选线。 1.配置为普通SPI。初始化时将FSS配置为普通IO口。根据需求拉高或者拉低。 2.官方的高级SPI模式, 源码:SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI2);//使能SPI2时钟 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);//使能GPIOD时钟 GPIOPinConfigure(GPIO_PD0_SSI2XDAT1);//SPI2 IO 口定义 GPIOPinConfigure(GPIO_PD1_SSI2XDAT0); GPIOPinConfigure(GPIO_PD2_SSI2FSS); GPIOPinConfigure(GPIO_PD3_SSI2CLK); GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1 |GPIO_PIN_2| GPIO_PIN_3); #if defined(TARGET_IS_TM4C129_RA0) || \ defined(TARGET_IS_TM4C129_RA1) || \ defined(TARGET_IS_TM4C129_RA2) SSIConfigSetExpClk(SSI2_BASE, ui32SysClock, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8); //设置SSI 时钟 模式 SSIAdvModeSet(SSI2_BASE,SSI_ADV_MODE_READ_WRITE); #else SSIConfigSetExpClk(SSI2_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8); #endif SSIAdvFrameHoldEnable(SSI2_BASE); SSIEnable(SSI2_BASE);//使能SPI2在往某个地址写之前必须确保这个地址上的值是0xFF,否则说明这个地址以前被写过数据,还没有被擦除。W25Q64擦除的最小单位是Sector也就是4k个字节,也就是说如果要想往某个地址写一个值,如果这个地址上的值不是0xFF,那么就要把整个扇区都擦除,然后在写。 给W25Q64开辟一个4k的缓存,比如定义一个4k的数组,然后在写数据之前先判断如果这个地址上的数据不是0xFF,就先把这个地址所在的Sector里的数据全部保存在4k缓存中,再擦除这个扇区,再把缓存中对应的地址上的数据更新,再把这个4k缓存区的所有数据一次性的写入到这个Sector中。相关源码

文章TAG:
w25q128有多少页多少 多大 大容量