社区
Linux_Kernel
帖子详情
SPI不能擦除
txtone
2016-12-04 10:52:31
最近在做spi芯片的烧录工作,这个S25FL256S芯片有谁用过吗?我自己写了个操作代码,可以读和写,但是擦除却失败,一般来说芯片的写保护,对于program和erase是一样的,没理由可以写,却不能擦除啊,我写的又不是OTP寄存器。用逻分仪抓过波形,输出的SI是正确的,对sector的擦除也不可能是地址问题,因为用的就0x0000 0000,毫无疑问的首地址.也看过status 寄存器,显示擦除完成了,所以也不是时间问题,有大神给点启发?
...全文
495
回复
打赏
收藏
SPI不能擦除
最近在做spi芯片的烧录工作,这个S25FL256S芯片有谁用过吗?我自己写了个操作代码,可以读和写,但是擦除却失败,一般来说芯片的写保护,对于program和erase是一样的,没理由可以写,却不能擦除啊,我写的又不是OTP寄存器。用逻分仪抓过波形,输出的SI是正确的,对sector的擦除也不可能是地址问题,因为用的就0x0000 0000,毫无疑问的首地址.也看过status 寄存器,显示擦除完成了,所以也不是时间问题,有大神给点启发?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SFUD万能
SPI
flash驱动工具,只需要把底层读写
擦除
配置好就行
1. 文件包含了STM3210x内置FLASH的读写测试代码 1. 文件包含了STM3210x外置置FLASH W25Q64的读写测试代码
w25x16
SPI
FLASH读写 串口监测输出STC8A8K单片机KEIL工程文件源码.zip
w25x16
SPI
FLASH读写 串口监测输出STC8A8K单片机KEIL工程文件源码 FLASH w25x16 2M外部flash测试 W25X16芯片,就是16Mbit 一byte等于8bit 也就是2M字节的存储空间。 256bytes为一页 4Kbytes为一个Sector (扇区) 16个扇区为1个Block (块) W25X16 容量为2M字节,共有32个Block,512个Sector 而且W25X16最小
擦除
量是一个扇区 即4k字节空间 W25X16擦写周期多达 10W次,具有 20年的数据保存期限, 支持电压为 2.7~3.6V ,最大
SPI
时钟可以到80Mhz。 程序上是将一个字符串存到了flash地址100开始的位置,然后去读取存入的数据到数组中,在将读到的 数组数据其显示出来 整个过程由串口检测 主频为11.0592MHz 串口波特率为9600 */ #include "stc8.h" //STC15头文件 #include "def.h" //宏定义 常用函数 #include "delay.h" //延时函数 #include "
spi
.h" #include "flash.h" #include "uart.h" u8 scan[]={"STC8 FLASH test"}; //测试字符串 u8 buffer[19]; //接收数组 void main() { SP=0X80; //调整堆栈指向 手册286页 详解 Init_
SPI
(); //
SPI
初始化 UartInit(); //串口初始化 if(
SPI
_Flash_ReadID()==0xef14) UartSendStr("外部FLASH初始化成功!\r\n"); else { UartSendStr("外部FLASH初始化失败!\r\n"); while(1); }
SPI
_Flash_Erase_Sector(0); //
擦除
地址为0扇区 4k字节
SPI
_Flash_Write_NoCheck(scan,100,15); //在地址100位置写入字符串
SPI
_Flash_Read(buffer,100,16); //在地址100位置处读取字符串并存入buffer数组中 UartSendStr("地址100数据:\r\n"); UartSend(buffer,15); while(1); }
SPI
_FLASH读写程序
基于VHDL的
SPI
_Flash读写程序
FPGA 读写
SPI
FLASH的Verilog逻辑源码Quartus工程文件+文档说明.zip
FPGA 读写
SPI
FLASH的Verilog逻辑源码Quartus工程文件+文档说明,由于 FPGA 是基于 SRAM 结构的,程序掉电后会丢失,所以需要一个外置 Flash 保存程序, FPGA 每次上电后去读取 Flash 中的配置程序,在 ALINX 开发板中,很多使用的是
SPI
接口的 nor flash,这种 flash 只需要 4 根 IO。FPGA 的配置 flash 是特殊的 IO,上电时工作,FPGA 要使用这些 IO 来读取 Flash,读取完成后释放这些 IO 交给用户使用。 本实验做一个
SPI
主设备控制器,然后按照
spi
Flash 数据手册的命令要求发出
擦除
、编程、 读取等指令,每次上电后将 flash 中第一个字节读取并显示出来,按键按下时,数字加 1 再写回 flash。
spi
nand flash.zip
spi
接口的nand flash。程序是基于GD5F1GQ4xExIG的协议编写的,完成了读寄存器,写寄存器,
擦除
,读PAGE,写PAGE,读cache,写cahche等接口。不包括坏块管理和空间管理。
Linux_Kernel
4,441
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章