检查一片Flash好坏的流程
检查一片Flash好坏的大致流程
- 检查大致过程是这样的
- Homs产生随机数的原理
Homs模块功能就是产生随机数;
NFC模块功能就是对一块Falsh进行一系列操作,比如重启、读写;
RCMP模块功能就是将Homs产生的随机数与从Flash读取出来的随机数数据进行异或比较,然后可以根据实际需要得到错误bit数和错误bit地址;
检查大致过程是这样的
Homs产生随机数,然后通过NFC将随机数数据写入Flash中,再将随机数数据读取出来与Homs原本产生的随机数作比较;
比较用的模块就是RCMP,看看二者数据是否一致,假如Flash品质是完好的,那么二者数据对比结果结果就是一模一样;
但是正常情况下,Flash质量参差不齐,坏的地址会导致对比出来的随机数出现不一致,这个不一致的bit很大可能就是该bit地址坏掉了,只要有比较出不一致的数据,那这块Flash多多少少有一些损坏,只要损坏不是很大,还是可以接着用的。
这时候需要RCMP模块将对比过后坏掉的地址挑选出来,然后通过软件编程,再下次读写的时候,将错误的地址跳过。
Homs产生随机数的原理
写应用层的时候,模块的原理按道理就算不知道耶不影响你开发,但是我好奇心作祟,向IC的同事详细问了该模块的工作原理。
Homs中有种叫LSFR的框架,就是它产生的随机数;
LSFR中一共有8个多项式,LSFR0~LSFR7,每一个多项式用于产生4bit的随机数,那么整一个LSFR一次就产生数据宽度32bit的随机数。
而为了避免固定值,顺利产生随机数,就必须要有种子这东西,通过一个种子初始化出第一个32bit随机数,随后这第一个随机数就会被当做第二个随机数的种子,第二个随机数当做第三个随机数的种子,以此类推,产生一系列随机数。
那么第一个种子又是从哪里来的呢,需要配置种子表。种子表说白了就是一块存放种子数据的SRAM地址,我们只需要自己配置好第一个种子就行了。
而还可以优化的是,从种子表拎出来用的种子,还可以经过一个异或操作,一个种子与一个数值进行异或后才可以被真正使用。
检查一片Flash好坏的流程相关推荐
- Camera2 APP Flash 打闪流程及原理分析
Camera Flash打闪流程梳理 Flash打闪的条件有两个一个是AE_Mode 一个是Flash Mode两个参数决定Flash打闪的过程. Flash mode有四个状态 AUTO OFF O ...
- flash:uboot下sf(nor flash)的流程
目录 1. sf probe命令的执行流程 1.1 查找dev 1.2 绑定dev 1.3 probe dev 2. read id和read data流程 2.1 read id流程 2.2 rea ...
- Bada学习- C++以及Flash应用开发流程之创建应用工程
本文译自三星官方bada开发网 最近工作有点忙,发的少了,还望见谅. 译的不对的地方希望多多指正.感激ING... 创建应用工程 当你在 bada developer site定义好你的 applic ...
- Flash游戏制作规划与流程漫谈
对于大多数的Flash学习者来说,制作Flash游戏一直是一项很吸引人,也很有趣的技术,甚至许多闪客都以制作精彩的Flash游戏作为主要的目标.不过往往由于急于求成,制作资料不足,数据获得不易,使许多 ...
- linux下nand flash驱动工作原理,Linux下Nand Flash 驱动代码分析
随着越来越多的平台支持从Nand Flash 中启动,掌握Nand Flash 的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对Nand Flash 驱动只是简单 ...
- 话里话外:流程管理评价的两大要素
流程管理在许多企业已经得到了认识和应用,一些企业还专门成立了流程管理部门,负责企业整体流程管理工作的推进,然而随之而来的问题就是如何来评价流程管理的好坏.流程管理评价分两个层面,一是评价流程管理部门自 ...
- 驱动专题:第四章MTD及Flash驱动 3. nandflash 详细硬件特性
[详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flas ...
- NAND FLASH 内存详解与读写寻址方式
目录: 第一章 绪论 1.1 课题来源 1.2 研究背景与意义 1.2.1 Flash介绍 1.2.2 NAND Flash介绍 1.2.3 NAND Flash与NOR Fl ...
- 【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第70章 STM32H7的内部Flash基础知识和 ...
最新文章
- VS 2008 中内存泄露检查
- python 中 if __name__ == '__main__' 判断的作用
- 数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain
- 首发:深度学习测试题中英对照版
- 【JUC系列】Future异步回调模式
- 【TCP传输数据-键盘录入】
- 第12步 用户模块前端(客户)
- 文本数据增强+NER
- 浦发银行出现:部件'InstallCertListAx.ocx'或其附件之一不能正确注册:一个文件丢失 解决...
- 关于SQLServer2005的学习笔记——SQL查询解析步骤
- HDU 3584 三维树状数组
- base——JavaSEJavaEEJavaME的区别【Java中常用的包结构】
- 将Banner美观的放置于博客首页上
- win 10 mysql8.0安装
- html去除重复代码,simian 查找项目中的重复代码
- 解二元一次方程组的c语言编程,我有一个C语言解二元一次方程组的程序需要解释说明...
- 总结100+前端优质库,让你成为前端百事通
- vue鼠标悬停更改图片
- 无法登陆github官网的问题(能ping通但打不开网页)
- 『kuangbin带你飞』专题10:匹配问题