神农鼎
发表于 2024-10-14 22:19:48
晓飛飛 发表于 2024-10-14 22:16
QSPI
现在只有 Ai8051U有QSPI,
32G12K128系列/8H8K64U系列只有SPI
电子电工单片机
发表于 2024-10-14 22:25:55
晓飛飛 发表于 2024-10-11 11:59
强烈建议把AI8051U开发板的Flash芯片升级为活动座,
,
选配也行啊,烧Flash就不用再拆焊了
单独做了个模块
电子电工单片机
发表于 2024-10-14 22:27:17
遇到的问题,反馈与建议
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11220
神农鼎
发表于 2024-11-3 16:49:49
AI8051U做的FLASH烧写器 - 作品展示 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
神农鼎
发表于 2024-11-3 16:52:28
Ai8H系列,SPI接口编程 Flash-W25Q16,使用 ISP 开发工具包:工具菜单中的 | 串行Flas - QSPI/3组SPI/I2S/I2C,一线制温湿度传感器 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
神农鼎
发表于 2024-11-3 16:54:34
正玄数据表生成器
真 Ai 了 ? AIapp-ISP-V6.94Z 这开发工具包逆天了 ?
===何时自己自动多了个功能软件
点击: 工具菜单 | 正玄数据表生成器
health
发表于 2024-11-3 17:47:20
程序中有对Flash器件ID的判断,只适用winbond某些型号。
删除那行判断,就可以用于其它厂商的多种flash型号了。
void W25Q_Enable_QE()
{
// if ((W25Q_ReadJEDECID_9F() & 0xffff00) == 0xef4000)
// {
if ((W25Q_ReadSR2_35() & 0x02) == 0)
{
W25Q_WriteEnableVSR_50();
if ((W25Q_ReadJEDECID_9F() & 0xffff) == 0x4014)
{
W25Q_WriteSR12_01(0x0002);
}
else
{
W25Q_WriteSR2_31(0x02);
}
}
// }
}
zhp
发表于 2024-11-4 09:28:52
health 发表于 2024-11-3 17:47
程序中有对Flash器件ID的判断,只适用winbond某些型号。
删除那行判断,就可以用于其它厂商的多种flash型号 ...
没用研究过其他厂商的命令
WINBOND自己的W25Q80和自己其他容量的FLASH的控制方式都不一样
其他厂商的FLASH使能QE模式应该和WINBOND不一样
health
发表于 2024-11-4 16:45:02
zhp 发表于 2024-11-4 09:28
没用研究过其他厂商的命令
WINBOND自己的W25Q80和自己其他容量的FLASH的控制方式都不一样
其他厂商的FLAS ...
大部分厂家的命令都一样,也有个别不一样的。
就拿winbond来说,其实不是w25q80和其它容量不一样,主要是看后缀。
早期出的型号,写状态寄存器用01命令写16位数据,后面新出的型号就改为两个命令,01写低8位数据,31写高8位数据。
查看W25Q80数据手册可知,W25Q80D是旧命令格式,W25Q80E之后是新命令格式。
有些小容量型号,可能没有生产新版本。现在买到的大容量的非拆机一般都是新命令格式。
查了一下兆易和普冉,也是这样,旧版是01写16位,新版是01写低8位,31写高8位。
另外,winbond新版01命令兼容旧版,01命令写低8位数据也可以写16位数据。
health
发表于 2024-11-4 16:47:57
我用的普冉的PY25Q32SH,直接删了程序中设备ID的判断,可以正常操作。
使用其它型号,请查阅对应手册,看是否符合要求。不符合的需要简单改一下程序。