完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的各位,
我使用S25FL512S连接到我的MSP430F54 38微控制器。 SPI运行在1MHz。 我正在从Flash中正确地读取设备ID和制造商ID。我正在从Flash中正确地读取设备ID和制造商ID。 由于页面编程缓冲区是512字节,所以我尝试从512位开始写0xCC,从位置(24位地址)开始。 在写了一个地址之后,我正在检查忙寄存器的状态寄存器,当它变成0时,我就从同一个位置读取。它正在读取0x88。(我在写文章后马上回读。) 读0x88(512字节)进行大量的地址,直到我开始正确读取0xCC(512字节)。当我开始读0xCC而不是0x88时,没有模式(因为没有特定的固定地址,它开始正确读取)。 由于我能够正确地读取制造商和设备ID,因此我觉得读取命令没有问题。 另外,由于我在等待状态寄存器忙位变成0,因此我觉得没有页面编程错误。 可能的问题是什么? 谢谢和问候,Ankit 以上来自于百度翻译 以下为原文 Dear All, I am using S25FL512S interfaced to my MSP430F5438A microcontroller. SPI is running at 1MHz. I am reading the device ID and Manufacturer ID correctly from the flash. I am reading the device ID and Manufacturer ID correctly from the flash. Since the page programming buffer is 512 bytes, I am trying to write 0xCC in 512 bytes starting from location (24 bit address) 0x000000000000 onwards. After writing one address, I am checking the status register for the busy bit and when it becomes 0 then I am reading from the same location. And it is reading back 0x88. (I am reading back the page immediately after writing.) Reading 0x88 (512 bytes) goes on for a lot of addresses until I start reading 0xCC (512 bytes) properly. There is no pattern when I start reading 0xCC instead of 0x88 (as in there is no specific fixed address where it starts reading properly). Since I am able to read manufacturer and device id properly, hence I feel there is no problem with read command. Also since I am waiting for status register busy bit to become 0, hence I feel that there is no page programming error. What can be the possible problem? Thanks and Regards, Ankit |
|
相关推荐
8个回答
|
|
你好,Ankit,
你确定第一个扇区没有被保护吗? 你试过写作其他行业吗?如果是的话,你也面临同样的问题吗?如果没有,请你检查一下你是否面临同样的问题。 也擦除第一扇区,并尝试读出编程任何数据,让我们知道什么是你正在观察的数据。 谢谢, Krishna。 以上来自于百度翻译 以下为原文 Hello Ankit, Are you sure that the first sector is not protected ? Did you try writing to other sectors ? If yes, are you facing the same issue ? If no can you please try and check if you are facing the same issue. Also erase the first sector and try to read with out programming any data and let us know what is the data you are observing. Thanks, Krishna. |
|
|
|
60user47 发表于 2019-1-2 15:20 嗨,Krishna, 我执行了你要求我做的事情。 1。我试着在扇区2(一页一页,马上阅读),同样的行为,阅读失败。 2。我试着在扇区3(一页一页,马上阅读),同样的行为,阅读失败。 三。我尝试删除扇区1并阅读它,我也很惊讶读失败(第一页读0x77(512字节)和随后的页面读取0xBB(512字节))。 我有EXCEL/CSV格式的数据和结果,我不能在这里附加。 谢谢和问候, 安吉特 以上来自于百度翻译 以下为原文 Hi Krishna, I executed the things that you asked me to do. 1. I tried writing in sector 2 (one page at a time and reading right away), same behavior, reading fails. 2. I tried writing in sector 3 (one page at a time and reading right away), same behavior, reading fails. 3. I tried erasing sector 1 and reading it, I am quite surprised that reading fails as well (first page reads 0x77 (512 bytes) and subsequent pages read 0xBB (512 bytes). I have the data and results in excel/csv format which i am not able to attach here. Thanks and Regards, Ankit |
|
|
|
以上来自于百度翻译 以下为原文 |
|
|
|
|
|
|
|
|
|
|
|
1。扇区1擦除图像 2。扇区2写入图像 三。扇区3写入图像 以上来自于百度翻译 以下为原文 1. sector1 erase image 2. sector2 write image 3. sector3 write image |
|
|
|
你好,Ankit, 感谢提供图片。 在第一个图像中,您擦除扇区0(D8 00 00×00),但读取扇区2(03 08 00 00)。FL512S具有256kb(=0x4000)扇区。 下面是扇区地址序列的样子; 部门0:地址:0x00 扇区1:地址0x04000 扇区2:地址0x08000等。 你能提供你的FL512S的原理图和完整的零件号吗? 我们建议你做下面的实验并更新我们: 擦除扇区并验证读数据是否为0xFF程序,如1, 2, 3字节或4字节的字节数和读取的反向程序增量数据模式0x00、0x01、0x02……如果需要满足AC规格示波器,则读取回读数据读取信号完整性的任何趋势。请发送示波器图像。 谢谢, Krishna。 以上来自于百度翻译 以下为原文 Hello Ankit, Thanks for providing the images. In the first image, you erased sector 0 (D8 00 00 00), but you read sector 2 (03 08 00 00). The FL512S has 256kB (=0x40000) sectors. Below is the sequence of sector address looks like ; Sector 0: address 0x000000 Sector 1: address 0x040000 Sector 2: address 0x080000 and so on. Can you please provide Your schematic and full part number of FL512S for review Mean while we suggest you do the below experiments and update us :
Thanks, Krishna. |
|
|
|
60user47 发表于 2019-1-2 16:53 嗨,Krishna, 读完数据表后,我意识到了一些事情。 一旦我在一个扇区中编程一个页面,那么我就不能再次编程它,除非我擦除那个特定页面驻留的整个扇区。 这是一个问题,每次我试图用新的数据在同一个页面上写,它就被破坏了。比特可以从1变为0,但是比特不能从0变为1。 我治疗闪光就像我治疗EEPROM一样。 谢谢你的指导和帮助,最终引导我找到解决办法。 谢谢和问候, 安吉特 以上来自于百度翻译 以下为原文 Hi Krishna, I realized something after reading the datasheet properly. Once I program a page in a sector then I cannot program it again unless I erase the whole sector in which that particular page resides. That was the problem that every time I try to write on the same page with new data, it was getting corrupted. Bits can be changed from 1 to 0, but bits can't be changed from 0 to 1. I was treating the flash like I treated EEPROM. Thanks for your guidance and help, eventually it lead me to find the solution. Thanks and Regards, Ankit |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1826 浏览 1 评论
3634 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1510 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:25 , Processed in 1.119325 second(s), Total 62, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号