检查一片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好坏的流程相关推荐

  1. Camera2 APP Flash 打闪流程及原理分析

    Camera Flash打闪流程梳理 Flash打闪的条件有两个一个是AE_Mode 一个是Flash Mode两个参数决定Flash打闪的过程. Flash mode有四个状态 AUTO OFF O ...

  2. 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 ...

  3. Bada学习- C++以及Flash应用开发流程之创建应用工程

    本文译自三星官方bada开发网 最近工作有点忙,发的少了,还望见谅. 译的不对的地方希望多多指正.感激ING... 创建应用工程 当你在 bada developer site定义好你的 applic ...

  4. Flash游戏制作规划与流程漫谈

    对于大多数的Flash学习者来说,制作Flash游戏一直是一项很吸引人,也很有趣的技术,甚至许多闪客都以制作精彩的Flash游戏作为主要的目标.不过往往由于急于求成,制作资料不足,数据获得不易,使许多 ...

  5. linux下nand flash驱动工作原理,Linux下Nand Flash 驱动代码分析

    随着越来越多的平台支持从Nand Flash 中启动,掌握Nand Flash 的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对Nand Flash 驱动只是简单 ...

  6. 话里话外:流程管理评价的两大要素

    流程管理在许多企业已经得到了认识和应用,一些企业还专门成立了流程管理部门,负责企业整体流程管理工作的推进,然而随之而来的问题就是如何来评价流程管理的好坏.流程管理评价分两个层面,一是评价流程管理部门自 ...

  7. 驱动专题:第四章MTD及Flash驱动 3. nandflash 详细硬件特性

    [详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flas ...

  8. NAND FLASH 内存详解与读写寻址方式

    目录: 第一章 绪论 1.1 课题来源 1.2 研究背景与意义     1.2.1 Flash介绍     1.2.2 NAND Flash介绍     1.2.3 NAND Flash与NOR Fl ...

  9. 【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第70章       STM32H7的内部Flash基础知识和 ...

最新文章

  1. VS 2008 中内存泄露检查
  2. python 中 if __name__ == '__main__' 判断的作用
  3. 数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain
  4. 首发:深度学习测试题中英对照版
  5. 【JUC系列】Future异步回调模式
  6. 【TCP传输数据-键盘录入】
  7. 第12步 用户模块前端(客户)
  8. 文本数据增强+NER
  9. 浦发银行出现:部件'InstallCertListAx.ocx'或其附件之一不能正确注册:一个文件丢失 解决...
  10. 关于SQLServer2005的学习笔记——SQL查询解析步骤
  11. HDU 3584 三维树状数组
  12. base——JavaSEJavaEEJavaME的区别【Java中常用的包结构】
  13. 将Banner美观的放置于博客首页上
  14. win 10 mysql8.0安装
  15. html去除重复代码,simian 查找项目中的重复代码
  16. 解二元一次方程组的c语言编程,我有一个C语言解二元一次方程组的程序需要解释说明...
  17. 总结100+前端优质库,让你成为前端百事通
  18. vue鼠标悬停更改图片
  19. 无法登陆github官网的问题(能ping通但打不开网页)
  20. 『kuangbin带你飞』专题10:匹配问题

热门文章

  1. 基于java+swing+mysql员工工资管理系统
  2. 羊城杯2022 部分misc writeup
  3. 3次Bezier曲线求交
  4. Prometheus运维二 安装部署Prometheus及使用PromQL查询监控数据
  5. 怎样查看自己的账号和密码
  6. 5 个故事:究竟怎样过人生才更有意义?
  7. go语言ast语法解析
  8. 模板小程序或定制小程序有什么区别?
  9. 云南旅游最美景点20强最新排名
  10. html li是块级元素,html块级元素