完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我在我的板上使用SST26FV032B SQI闪存,连接到PIC32MZ2048EF。我已经将drv_nvm_flash_sqi_sst26.c/(和相关联的.h头)复制到我的项目中。(来自gfx外部资源示例项目)使用这个“驱动程序”,我可以顺利地完成以下操作:读取任何地址位置(包括JEDEC ID)-写入任何先前被擦除(0xFF)的位置。-擦除整个芯片,这是我不能做的:-擦除单个扇区,我有一个设备表at最大为2KB,必须存储在NVM中,并且只在添加新设备或删除旧设备时才写入。我的目的是预留一个部门(4KB)的SST26专门为这个表。我正在使用从地址0x10000开始的扇区0。当内存被格式化(全部0xFF)时,我可以写我的整个表并逐字节地读/验证它。该表包括整个表的CRC16。如果对设备进行电源循环,则可以从SST加载表并根据保存的CRC16对其进行验证。当要对表进行更改时,我试过下面的memset(&table,0x00,sizeof(table);//initialize表,以便在读取命令SST26WriteEnable()之后进行比较(SST26IsWriteEnable()=SST26IsWriteEnable());SST26SectorErase(0x10000);//延迟(在这一点上,我已经尝试了每个数据表25ms的hard_.,轮询了SST26IsWriteBusy(),以及一个断点以强制延长延迟;SST26ReadArray(0x10000,&table,sizeof(table));在这一点上我希望将表视为所有0xFF,但是所有值都不一样NFGE从以前的Flash写操作(不是初始化)存储的原始表中。换言之,擦除不成功。当我重复上述操作,但是将SST26SectorErase()替换为SST26ChipErase()时,内存空间按预期擦除,并且我可以用新值重写表。这目前还不错,因为这是我在这个早期阶段使用闪存芯片的唯一原因,但是我已经计划随着我的开发继续使用闪存来处理更多的项目。显然,我不想每次需要更改几个字节时都擦除整个芯片。在扇区擦除之前,还需要检查或发出命令吗?
|
|
相关推荐
11个回答
|
|
|
为什么不在0x000?这是一个任意的扇区编号,用来存储第一个64K吗?
|
|
|
|
|
|
我已经为串行EEPROM编写了类似的代码,我有一个观察:函数callSST26SectorErase()是否可能正在寻找扇区号而不是完整地址?这就是我在串行EEPROM中发现的……我正在使用连接到PIC32MZ2048EF的SS26FV064BSQI闪存,我在Harmony中发现了各种闪存驱动器,我很感激你能提供关于它运行的任何细节。我使用的是和声V1.09,今天早上我转了SQI,发现只有I/O引脚配置。我不知道Harmony 2.00,我是Harmony的新手,希望坚持使用V1.09,因为我有几个子系统正在运行中,我不想再次调试它们。谢谢……
|
|
|
|
|
|
根据数据表,芯片正在寻找扇区内任何块的地址,并且只检查最重要的地址位(A12和UP)以确定扇区号。SST26SECTRORESARE()函数将24位地址互换,以便它首先在数据表上发送地址MSB。(我也试过颠倒订单,以防万一是打字)。在调用SQI写之前,我直接设置了一个断点,以对变量内容进行双重检查,并且写入的4个字节看起来是正确的:{SeaTraceReaseMoMand,ADDRHO,ADDRMID,AddrLow }。
|
|
|
|
|
|
啊,只是检查……我注意到您使用的是MLA库中的驱动程序,因为您使用的是Harmony V1.09,所以您可能希望考虑微芯片/.ony/v1_09/apps/././sqi中的Harmony驱动程序,这里有用于DMA模式、PIO模式和XIP模式的代码……我要试试那些。
|
|
|
|
|
|
我对SST26VF032内存也有同样的问题。我可以执行写,读和芯片擦除,但扇区擦除不工作。我试图在函数末尾添加一些延迟以及检查忙碌位,但是内存内容保持不变。建议的微芯片/和谐/v1_09/apps/././sqi的示例甚至没有扇区擦除功能。有人设法发现这个问题的原因吗?
|
|
|
|
|
|
解决了的!sqi发送命令和地址作为单独的操作,而不是一个4字节的命令。
|
|
|
|
|
|
别忘了放一张支持票,这样他们就可以修理了。
|
|
|
|
|
|
仍然不工作:
|
|
|
|
|
|
您好,对于那些仍然努力使这个工作起来的人来说,这里有一个示例代码,它纠正了原始源代码的错误,并且适用于任何地址(在示例代码中不是这种情况):void SST26SectorErase(uint32_t地址){/*configure for PIO模式*/PLIB_SQI_TransferModeSet(SQI)SQI_XFER_MODE_PIO_ID_0、SQI_XFER_MODE_PIO);/*设定阈值*/*设定阈值*/PLIB_SQI_SQI_SQI_SQI_SQI_ContrControlBufferThfferThres阈值(SQI_ID_0_0,1);PLIB_SQI_SQI_ID_0,1;PLIB_SQI_SQI_SQI_SQI_SQI_SQI_SQI_SQI_SQI_SQI_TXBufferTh实实测Th实测Th实测Th实测值保持InInt设置(SQI_SQI_SQI_SQI_TSQI_RxBufferThresholdIntSet(SQI_ID_0,4);PLIB_SQI_Inter.SignalEnable(SQI_ID_0,SQI_TXTHR);//扇区地址:使用AMS-A12,剩余的地址不在乎,但是必须设置为VIL或VIH。地址=(地址&;0xF000)|((地址&;0xFF0000)>;((地址&;0xFF0000)>;>;16)///发送整个地址,对应于发送地址的4K字节扇区对应的发送地址应擦除PLIB_SQI_SQI_SQI_SQI_I控制WordSet(SQI_SQI_SQI_SQI_ID 0,1,SQI_CS_1,SQI_CS_1,SQI_CS_1,SQI_LANE_1,SQI_LANE_QUAD_LANE_QUAD_QUAD_QUAD_QUAD,SQI_CMD_TRANSMII_ID_0, 1, SQI_CS_1, SQI_LANE_QUAD, SQI_CMD_TRANSMIT, 1); /* NOP */ PLIB_SQI_ControlWordSet(SQI_ID_0, 1, SQI_CS_1, SQI_LANE_QUAD, SQI_CMD_TRANSMIT, 1); /* NOP */ PLIB_SQI_ControlWordSet(SQI_ID_0, 1, SQI_CS_1, SQI_LANE_QUAD, SQI_CMD_TRANSMIT, 1); /* WEN */ PLIB_SQI_ControlWordSet(SQI_ID_0, 1, SQI_CS_1, SQI_LANE_QUAD,SQI_CMD_TRANSMIT,4;PLIB_SQI_CMD_TRANSMIT,4;PLIB_SQI_传输数据(SQI_CMD_TRANSMIT,4);PLIB_SQI_CMD_传输数据(SQI_CMD_CMD_CMD_TRANSQI_发送,4);PLIB_SQI_ID 0,(SST2T26VF_WEN_WEN<;<;24)|DUMMY_3_BYYY_3_BYTETETETETES);//wen=0x06PLIBPLIB PLIB PLIB_SQI_SQI_SQI_SQI_SQI_.FlagGet(SQI_ID_0,SQI_TXTHR)==false; PLIB_SQI_Inter..Disable(SQI_ID_0,SQI_TXTHR);.(SST26IsWriteBusy()==SST26_IS_BUSY)Nop();//wait 50 ms APP_StartCoreTimer(0);APP_CoreTimer_Delay(5000000);//.50ms}J.
|
|
|
|
|
|
仍然不工作。
|
|
|
|
|
|
你应该在别处有个问题。我使用它密集,它的工作完美。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:10 , Processed in 1.117225 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2535