完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,我尝试运行S70FL01GS闪存在四SPI模式。基于数据表,该存储器是两个S25FL512S芯片的双芯片堆栈。我尝试改变配置寄存器(CR1)中的四位,但没有成功。我用自己的HAL函数使用低级驱动程序,WITCH在读取ID或读/写/擦除闪存中的一些数据时工作。我将非常感谢你的帮助。
以上来自于百度翻译 以下为原文 Hi, I tried to run S70FL01GS flash in quad spi mode. Based on datasheet this memory is a dual die stack of two S25FL512S die. I tryied to change QUAD bit in Configuration Register (CR1), but without success. I used Low Level Driver with my own hal functions, whitch works when I read ID or read/write/erease some data in flash memory. I will be really grateful for your help |
|
相关推荐
7个回答
|
|
|
你好,
我假设你使用的是SLLDV3.2.1,如果不是,请让我知道你的SLLD版本。 你能分享一个代码片段,展示你如何使用SLLD函数(SLDLDWRROP还是SLDLDWRRCMD)? 最好的问候, 尊礼 以上来自于百度翻译 以下为原文 Hi, I assume you are using SLLD v13.2.1, if not, please let me know your SLLD version. Could you share a code snippet that shows how you use SLLD functions (slld_WRROp or slld_WRRCmd)? Best Regards, Takahiro |
|
|
|
|
60user65 发表于 2018-10-29 14:03 我使用的是SLLDV16.2.1(至少是SLDLDV版本常量的值) 代码: UIT88T输出〔1〕; DeVistor状态=DeVixNoTyLoad; SLDLSTATE RESIVAL = SLLDOK OK; UIT88T STATUESRG〔2〕={0x00,0x01};//SR1,CR SR2; SPILIN(); NFRY-DelayyMS(300); ReTyVAL=SLDLDWRROP(0,and;StutsReg(0),and;StutsReg(1),NULL,ANP;状态); nFrLogLogiFipe(“SLDLDWRROP %D”,RITYVAL); ReTyVAL=SLDLD-RDIDCMD(0,输出,1); nrfLogLogiFIN(“ID 0x%2x,%2D”,输出〔0〕,RITYVAL); ReTyVAL=SLDLD-RCRCMD(0,输出);/ /配置寄存器1(CR1) nFrLogLogiFipe(“CR1 0x%2x,%2D”,输出[0 ],RITYVAL); ReTyVAL=SLDLD-RDSRCMD(0,输出); nfrLogLogiFipe(“SR1 0x%2x,%2D”,输出[0 ],RITYVAL); ReTyVAL=SLDLD-RDSR2CMD(0,输出); nfrLogLogiFipe(“SR2 0x%2x,%2D”,输出[0 ],RITYVAL); SPIL UNIN(); 以上来自于百度翻译 以下为原文 I'm using SLLD v16.2.1 (at least that is value of SLLD_VERSION constant) Code: uint8_t output[1]; |
|
|
|
|
|
谢谢分享这些代码。 在您的代码中,您将0x01写入CR.,因为在CR位1中分配了四位,需要写0x02。 最好的问候, 尊礼 以上来自于百度翻译 以下为原文 Thanks for sharing the code. In your code, you write 0x01 to CR. Since the QUAD bit is assigned in bit 1 of CR, you need to write 0x02. Best Regards, Takahiro |
|
|
|
|
|
是的,我知道 问题是:SLDLDWRROP或SLDLDRCRCMD功能似乎不能正常工作(如果我发送0x01、0x02或其他东西,则不计费),读取状态或配置寄存器的输出结果总是为0。这就是为什么在四路SPI模式上不可能闪烁的原因。 我不认为在我的SLDLDHAL FLASH写,FLASHYRADE函数实现中是错误的,因为SLDLRead和SLDLRead EOP工作正常。 对不起,如果问题描述在第一个问题上不完美 以上来自于百度翻译 以下为原文 Yes, I know that The problem is: slld_WRROp or slld_RCRCmd function seems not working correctly (doesn't meter if i send 0x01, 0x02 or something else), output result of read status or configuration registers is is always 0. This is the reason why turning flash on quad spi mode seams impossible. I don't think it is mistake in my slld_hal FLASH_WRITE, FLASH_READ functions implementation, because slld_ReadOp and slld_WriteOp works correctly. Sorry if problem description wasn't perfect in first question |
|
|
|
|
60user9 发表于 2018-10-29 14:39 理解。 以防万一,请让我仔细检查一下你的HAL实现。你能分享SLLDHAAL.C吗? 用逻辑分析仪或示波器捕获波形是可能的吗? 最好的问候, 尊礼 以上来自于百度翻译 以下为原文 Understood. Just in case, please let me double check your HAL implementation. Could you share slld_hal.c? And is it possible to capture waveform by logic analyzer or oscilloscope? Best Regards, Takahiro |
|
|
|
|
|
我的SLLDHAAL. C: 包括: 包含“SLDLGATION特定的.H” 包括“SLLD.H” 包括“SLLDHAL·H” SLLD1状态FLASH读(字节DEVICESUnNUM,/*设备号,将进行操作*) 字节命令,/*写一个命令字节到flash */ 地址SysSADDR,/*系统地址将被使用* 字节*数据缓冲区,/*指向包含要写入的数据的数据缓冲区* 要读取的字节的字节数 { SLDL状态状态=SLLDOK OK; UIT32 32错误代码=0; UIT88T U8SysSADDR〔3〕={SyssAdD&&0x000 000 FFF((SyssAdD&&0x0.00 FF00)) & gt;& gt;8);((SysSADDR and 0x0FFFOWN)& gt;& gt;16)}; UIT88T消息[]= {命令,U8SiSyAdDR〔2〕,U8SysAdDr〔1〕,U8SysAdDr〔0〕,0, 0, 0 }; 开关(命令){ 案例: 案例: 案例: 案例: 案例: 案例: 案例SPIXOTPRYCMD:{ NoMyByOfMuMyMyByLyb=1; 断裂; } 案例SPIRESRESCMD:{ NoMyByOfMuMyMyByLyb=3; 断裂; } 默认值:{ NoMyByOfMuMyMyByLyb=0; 断裂; } } 字节TwiteDATAX缓冲区[NoMurbyOfMuMyMyBythy+NuthByOf.Read ObjyByth]; 如果(AddiSrsNothYuff==SyssiADDR){ ErryCult= SpRyRead(1),TimeDATA缓冲区, No.BoMyMyByByth+NoMyByOx读字节); }否则{ ErryCult= SpRyRead(4),TimeDATA缓冲区, No.BoMyMyByByth+NoMyByOx读字节); } MeMCPY(DATAYBuffor,and;TimeDATA缓冲区[NoMuthOfO.DuMyMyBythBy]),No.No.ByRead字节); 返回(0=ErryCad)?SLDLDOK:SLDLDE EHALLARY错误;//KT } SLLD1状态闪存写(字节DEVICESUnNUM,/*设备号将进行操作* 字节命令,/*写一个命令字节到flash */ 地址SysSADDR,/*系统地址将被使用* 字节*数据缓冲区,/*指向包含要写入的数据的数据缓冲区* 要写入的字节的字节数/字节数* { SLDL状态状态=SLLDOK OK; UIT32 32错误代码=0; UIT88T U8SysSADDR〔3〕={SyssAdD&&0x000 000 FFF((SyssAdD&&0x0.00 FF00)) gt;& gt;8);((SyssAdD&&0x000 FFOW000)& gt;& gt;16); UIT88T消息[NothByOfWrnTythyByth+ 4 ]; 消息〔0〕=命令; 如果(SyssAdDr==AddiSrsNoTube使用){ ErryCult= SpRyRead(1,NULL,0); 返回(0=ErryCad)?SLDLDOK:SLDLDE EHALLYA错误; } 消息〔1〕=U8SysIdAdDR〔2〕; 消息〔2〕=U8SysIdAdDR〔1〕; 消息〔3〕=U8SysIdAdDR〔0〕; 对于(int cNT=4;CNT & lt;NothByOfWrnTythyByth+ 4;CNT++){ 消息[CNT]=DATAH缓冲器[CNT - 4 ]; } ErryCal码=SPILRead Read Wrad(消息,SIZEOF(消息)/ SIZEOF(消息〔0〕),NULL,0); 返回(0=ErryCad)?SLDLDOK:SLDLDE EHALLYA错误; } 不幸的是,我不能捕捉波形(它不是设计在我的设备的PCB设计上) 以上来自于百度翻译 以下为原文 My slld_hal.c : #include Unfortunately i can't capture a waveform (it wasn't designed on pcb design of my device) |
|
|
|
|
|
我认为你的FrasyWrreWrar()在WRR命令的情况下发布错误的序列。 如果你想写SR= 0x00和CR=0x02,WRR命令序列应该是3字节循环,比如0x01(WRR)-0x00(SR)-0x02(CR)。WRR序列不包含地址周期,所以SysAuthAdg==AddiSrsNoTube。在这种情况下,您的FLASHORGREST()写入1字节命令,然后在不写入SR和CR值的情况下返回。 最好的问候, 尊礼 以上来自于百度翻译 以下为原文 I think your FLASH_WRITE() issues wrong sequence in the WRR command case. If you would like to write SR=0x00 and CR=0x02, the WRR command sequence should be 3-byte cycles like 0x01(WRR) - 0x00(SR) - 0x02(CR). The WRR sequence does not contain address cycle so sys_adder == ADDRESS_NOT_USED. In this case, your FLASH_WRITE() writes 1 byte command and then returns without writing SR and CR values. Best Regards, Takahiro |
|
|
|
|
只有小组成员才能发言,加入小组>>
786个成员聚集在这个小组
加入小组cyUSB3014一直显示2.1,不能到3.0情况,谁遇到过
7088 浏览 0 评论
2474 浏览 1 评论
2166 浏览 1 评论
4031 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
2073 浏览 6 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
7566浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
6114浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
742浏览 2评论
709浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
7961浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:39 , Processed in 0.725517 second(s), Total 83, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
661