HC32L130芯片擦写内部flash无法成功
擦写内部flash不成功的问题可以按照以下排除步骤处理
问题简单描述:
HC32L130芯片擦写内部flash出现异常解决方法
问题详细描述:
在做一个项目时,我需要在内部flash写出厂参数,包括校准系数和出厂ID等等。在flash内部挑了一块区域去写,后面发现有一定概率,读回来的数据和写入不一致,但不是每次都能复现。
问题具体分析:
1. 将配置参数写入到flash后,在通过Jflash读回,发现确实是错的,举个例子,我写入的是0x23;读回来的是0xFF,凭着我多年的经验和flash的特性,我很确信,压根没把数据写进去,不然不会是0xFF;
2. 于是去查了一下芯片手册,查看对flash操作的要求,其中提到,擦写flash的函数必须放在前32K才行。
3.看到这里,我去检查了一下map文件,找到这个擦写函数的位置,在0x51a4,也就是在大概20.9K左右的位置,还是很吻合前32K的要求的。
4. 于是再往下看,看到读等待周期那块内容,发现对flash的读写,是需要根据主频高低来设置读写的等待周期的,主频越高,读写等待周期越高,于是去检查了一下读写等待周期,发现有配置这个了,代码先读了时钟,按时钟去配置了等待周期。
5.这个问题也排除了,最后想来考虑到是否中断影响,因为测试的时候,没有开启别的中断,一直正常,而应用中开了systick中断。后面写flash的时候,把中断关闭,写完在打开,然后问题就没再出现了。
问题解决方案:
解决方案就是我上面写的,注意上面提到的3个点就好,最后最重要也是最容易忽略的,就是写flash的时候,一定要把中断关闭,不然写的时候有中断触发,很可能就出写失败了。
总结和建议:
对flash的操作,各家原厂对MCU的flash对操作的要求不完全相同,出现问题的时候,一定要去看看手册有没有什么特殊要求,比如上面提到的华大的HC32L130擦写函数必须在前32K存放,以及不同主频要设置不同的读写等待周期等。
当然,这个最可能忽略也是最重要的,中断!中断!中断!
NAND Flash误码的原因
NAND Flash的物理存储机制决定了其本身发生错误是不可避免的。错误的原因包括工作环境(温度影响较大),工艺水平,工作原理等。
NAND Flash存储数据的最小单元是cell,实际是一个MOS,每个cell依据其内部电荷量来表征数据信息。随着工艺的进步,cell越来越小,其内部的电荷量也越来越少,出错的可能变得越来越大。例如34nm的工艺每个cell可存储100个电子,而19nm的时候只能存储10个电子,因此每流失一个电子都会对阈值电压产生重要影响。同时较近的距离也会让各个存储单元之间更容易产生影响。
错误会在下面几种情况下产生:1,擦除操作;2,读取干扰;3,编程干扰;4,数据保持发生错误。
读取/编程干扰主要是因为对目标cell进行读写操作对相邻cell产生了影响,从而导致相邻cell数据出现错误。
数据保持错误是因为长时间的电荷量变化引起的阈值电压偏移导致的。
相关问答
flash 显示 写入 文件时出错怎么办?为什么电脑写入文件失败?存储空间已满,这个的存储空间可能是电脑自己的内存,也可能是扩展SD卡;解决方法是用文件管理器删除一些不用的文件或卸载不用的软件。...
flash 导入音频时,显示“读取文件时出现问题,一个或多个文...MP3的编码问题flash不支持你那个MP3文件的编码flash支持的文件格式有MP3wav直接点说就是你的这个mp3文件有问题导致不能导入你网上随便下个mp3应该都可以...
flash 导入PDF格式为什么文字不能正常显示 - 懂得坏了
flash 导入音频时读取文件出现问题?解决方案:1、将音频文件放进AdobeAudition,或根据自己的需要对音频文件进行一定的裁剪。2、点击软件左上角文件另存为或者导出。3、点击采样类型旁边的更...
es文件管理器U盘没法 写入 ,只能读取怎么破-ZOL问答liuyanjie1985033你好,1、进入设置-其他应用管理、在全部那一栏用力向下滑,滑到最底端,找到文档(最后一个),然后点进去,启用。2、再返回之前提示不能读取的...
spi flash 读写问题?如图所示,虽然Flash的读写时序差别不大,但是每种型号的Flash读写等操作命令(0x**)不一定是完全相同的,所以不选择芯片型号的情况下,可能找不到芯片的ID如图所示,...
U盘无法 写入 文件和格式化了?2、下载“低级格式化工具”,对闪存进行低级格式化。U盘修复工具(PortFreeProductionProgram3.27)使用方法:注意:这个工具一般针对采用台湾我...(网上...
flash 不能导入声音到库如何解决?如果音频文件不能导入到flash,有两个原因:1、格式不支持flash支持的音频格式主要有mp3、wav等。2、原音频文件品质较高,flash不兼容比如常见的mp3很多时候...
却不能导入 Flash ,咋办? - RgGvRGSIAn 的回答 - 懂得网上2113下载的一些mp3歌曲,导入Flash的方法5261:1、将在网上下载的小苹果.mp3文件直接导4102入到Flash元件库,弹出无法导入文1653件的错误提示。2...
flash 存储共享对象出错?如果Flash存储共享对象出现错误,可能有多种原因,需要进一步的详细信息才能提供准确的解决方法。通常,你可以采取以下步骤来排除问题:检查代码错误:查看你的...