​

前言

在实际应用中有遇到过设备放置一段时间后设备不能启动的问题,uboot 完全没有响应,类似于flash中的数据被擦洗掉一样。

网上有介绍说是nandflash 不稳定,高温或是静电会导致nand flash 的比特位反转的问题,反转的少了,controller内部的ECC会将数据纠正,反转的多了超过纠错能力,就没有办法正确读取数据,这个在高温的时候比较明显。

在海思平台上,可以通过这样的一种方式来查看是否flash中的数据发生了数据位的反转或是数据错误:

  1. 用海思自带的HiTool工具,烧入一个uboot到ddr,也就是烧入到内存,让uboot从内存中启动。
  2. 在uboot中去读取flash指定地址的数据,把数据显示出来。
  3. 对比读取出来的数据与原来数据是否相等。

具体步骤如下:

  1. 烧入Uboot到内存,uboot从内存中启动:

  2. 擦除内存的一段地址,用来存放flash 数据:

    将内存0x82000000 地址开始的1M 空间全部填写数据0xFF

mw.b 0x82000000 ff 100000;

  1. 读取flash指定地址的数据:

    从flash 0地址开始的位置读取0x100000(1M)的数据到内存地址0x82000000

nand read 0x82000000 0 0x100000

  1. uboot显示读取到的flash数据:

    md命令是memory display的缩写,显示内存地址为0x82000000 开始的0x100 个32位的数据,也就是1K数据

md 0x82000000 100

显示内容如下:

Wisdom # md 0x82000000 100
82000000: ea000517 e59ff014 e59ff014 e59ff014 ................
82000010: e59ff014 e59ff014 e59ff014 e59ff014 ................
82000020: 808016a0 80801700 80801760 808017c0 ........`.......
82000030: 80801820 80801880 808018e0 12345678 ...........xV4.
82000040: 12040050 00000000 00000000 000000fd P...............
82000050: 12040054 00000000 00000000 00fd0000 T...............
82000060: 00000000 00000000 00000064 00000000 ........d.......
82000070: 12040000 12000000 00000000 000000fd ................
82000080: 12040004 010060fa 00000000 000000fd .....`..........
82000090: 12040198 00000006 00000000 00000015 ................
820000a0: 12040030 12000000 00000000 000000fd 0...............
820000b0: 12040034 000060e9 00000000 000000fd 4....`..........
820000c0: 12040198 00000049 00000000 00001845 ....I.......E...
820000d0: 12040198 00000001 00000000 0000000d ................
820000e0: 12040198 00000000 00000000 00001005 ................
820000f0: 12040158 000000ff 00000000 003d0000 X.............=.
82000100: 10000008 00000002 00000000 0000401d .............@..
82000110: 12040050 0001ff7c 00000000 0000008d P...|...........
82000120: 12040054 0001ff7c 00000000 008d0000 T...|...........
82000130: 00000000 00000000 000001f4 00000000 ................
82000140: 1204014c 00000003 00000000 0000280d L............(..
82000150: 1204014c 00000003 00000000 0000680d L............h..
82000160: 12040148 00000001 00000000 0000100d H...............
82000170: 12050090 ffffffff 00000000 000000fd ................
82000180: 12050094 b17391c9 00000000 000000fd ......s.........
82000190: 12050098 00000000 00000000 000000fd ................
820001a0: 120500a0 000017ff 00000000 000000fd ................
820001b0: 120e0000 000000c7 00000000 000000fd ................
820001c0: 120e0004 000000c7 00000000 000000fd ................
820001d0: 120e0010 00000005 00000000 0000001d ................
820001e0: 00000000 00000000 00e4e1c0 00000000 ................
820001f0: 12110100 00001580 00000000 000000fd ................
82000200: 12110104 71050024 00000000 000000fd ....$..q........
82000210: 12118040 00002401 00000000 000000fd @....$..........
82000220: 12118050 00c10a16 00000000 000000fd P...............
82000230: 12118060 00000142 00000000 000000fd `...B...........
82000240: 12118048 00000000 00000000 000000fd H...............
82000250: 12118058 00000000 00000000 000000fd X...............
82000260: 12118100 34421a12 00000000 000000fd ......B4........
82000270: 12118104 4144b48d 00000000 000000fd ......DA........
82000280: 12118108 540110dd 00000000 000000fd .......T........
82000290: 1211810c 57896724 00000000 000000fd ....$g.W........
820002a0: 12118110 00800000 00000000 000000fd ................
820002b0: 12118114 00041308 00000000 000000fd ................
820002c0: 12118118 00000066 00000000 000000fd ....f...........
820002d0: 121180a0 00000001 00000000 000000fd ................
820002e0: 12118200 000f0000 00000000 000000fd ................
820002f0: 121184cc 00000000 00000000 000000fd ................
82000300: 1211c01c 5dc00080 00000000 000000fd .......]........
82000310: 1211c010 000a00c0 00000000 000000fd ................
82000320: 1211c014 f000f000 00000000 000000fd ................
82000330: 1211c030 34892221 00000000 000000fd 0...!".4........
82000340: 1211c034 168d1285 00000000 000000fd 4...............
82000350: 1211c038 20082208 00000000 000000fd 8....". ........
82000360: 1211c03c 0000052c 00000000 000000fd <...,...........
82000370: 1211c040 4034657c 00000000 000000fd @...|e4@........
82000380: 1211c0bc 00000009 00000000 000000fd ................
82000390: 1211c064 00061014 00000000 000000fd d...............
820003a0: 1211c068 00000020 00000000 000000fd h... ...........
820003b0: 1211c074 00000000 00000000 000000fd t...............
820003c0: 1211c070 00000908 00000000 000000fd p...............
820003d0: 1211c084 0010410a 00000000 000000fd .....A..........
820003e0: 1211d208 0002ff00 00000000 000000fd ................
820003f0: 1211d308 0002ff00 00000000 000000fd ................
Wisdom #
  1. 查看原烧入flash 0地址文件的数据

    原来烧入进去的数据为:

  1. 数据对比:

    这里只对比0x0000~0x000地址的数据,也就是第一行的数据,其它以此类推:

    uboot中读取到内存中并显示出来的数据是:
82000000: ea000517 e59ff014 e59ff014 e59ff014    ................

实际flash中应该的数据是:

这里需要注意一下大小端的问题,uboot中显示出来的数据与在Windows中用UltraEdit工具查看的大小端刚好是反了。从这里我们可以看出,我们的第一行数据是一样的,没有发送反转。

如果要对比整块的内存数据,可以使用uboot的 cmp 命令进行对比,这里不再介绍。

​

---------------------------End---------------------------
长按识别二维码
关注 liwen01 公众号

​

海思Hi35xx 通过uboot查看flash指定地址的数据的更多相关文章

  1. 海思hi35xx 开发学习(3):视频输入

    视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口.LVDS 接口和 HISPI 接口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据.V ...

  2. 海思HI35xx平台软件开发快速入门之H264解码实例学习

    ref :https://blog.csdn.net/wytzsjzly/article/details/82500277   前言 H264视频编码技术诞生于2003年,至今已有十余载,技术相当成熟 ...

  3. FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台

    FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待   前言   将ffmpeg移植到海思H ...

  4. STM8的AIR与STM32的Keil的指定地址存数据

    [经验分享]KE02在IAR和KEIL中以常量形式初始化EEPROM值一, 经验分享描述        写这篇经验分享的原因是,之前有一个客户,他希望在KE02的芯片中,不要出现使用EEPROM操作命 ...

  5. 海思HI35XX之----视频处理单元各通道间的关系

    最近在折腾HI3518C的芯片,应用到IPCamera上,最终获取多路不同分辨率的视频流供不同需求的预览切换.此处简单记录一下视频前处理元VPSS(Video Process Sub-System)的 ...

  6. 海思hi35xx 开发学习(2):系统控制

    应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作.同理,应用程序退出MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源. 视频缓存池 一组大小相同.物理地址连续的缓存块组成一个 ...

  7. 海思hi35xx 开发学习(1):海思媒体处理平台架构

    处理平台架构图: 主要分为: 视频输入(VI):VI 模块捕获视频图像,可对其做剪切.去噪等处理,并输出多路不同分辨率的图像数据. 视频处理(VPSS):VPSS 模块接收 VI 和解码模块发送过来的 ...

  8. linux中查看文件指定行的数据

    http://jingyan.baidu.com/article/15622f24125872fdfdbea560.html

  9. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...

  10. [转帖]海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏?

    海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏? https://t.cj.sina.com.cn/articles/view/6635931736/18b88485800100cz4h?fr ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (167)-- 算法导论13.1 7题

    七.用go语言,试描述一棵含有 n 个关键字的红黑树,使其红色内部结点个数与黑色内部结点个数的比值最大.这个比值是多少? 该比值最小的树又是怎样呢?比值是多少? 文心一言: 红黑树是一种自平衡的二叉查 ...

  2. ElasticSearch之cat transforms API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/transforms?v=true&format=json" --cace ...

  3. 从零玩转设计模式之原型模式-yuanxingmoshi

    title: 从零玩转设计模式之原型模式 date: 2022-12-11 20:05:35.488 updated: 2022-12-23 15:35:44.159 url: https://www ...

  4. 【eBPF-03】进阶:BCC 框架中 BPF 映射的应用 v1.0

    eBPF 中实现内核态代码与用户态代码是可以实时通信的,这主要靠 BPF 映射 来实现. BPF 映射 是内核空间的一段内存,以 键值对 的方式存储.内核态程序可以直接访问 BPF 映射,用户态需要通 ...

  5. 一个简单的Python暴力破解网站登录密码脚本

    目录: 关键代码解释 完整代码 方法一 运行结果 方法二 运行结果 测试靶机为DVWA,适合DVWA暴力破解模块的Low和Medium等级 关键代码解释 url指定url地址 url = " ...

  6. 屎山代码风格指南(避免被优化&&避免被接盘)

    欢迎补充!!! 序言 良好的代码结构:Bad 使用有意义的变量和函数名,遵循命名规范,使代码易于理解. 组织代码,使用适当的文件和文件夹结构,保持模块化. 避免全局变量的滥用,尽量使用局部作用域. 单 ...

  7. Salesforce LWC学习(四十六) record-picker组件浅谈

    本篇参考: https://developer.salesforce.com/docs/platform/lwc/guide/reference-graphql.html https://develo ...

  8. 2023-06-04:你的音乐播放器里有 N 首不同的歌, 在旅途中,你的旅伴想要听 L 首歌(不一定不同,即,允许歌曲重复, 请你为她按如下规则创建一个播放列表, 每首歌至少播放一次, 一首歌只有在

    2023-06-04:你的音乐播放器里有 N 首不同的歌, 在旅途中,你的旅伴想要听 L 首歌(不一定不同,即,允许歌曲重复, 请你为她按如下规则创建一个播放列表, 每首歌至少播放一次, 一首歌只有在 ...

  9. Feign源码解析5:loadbalancer

    背景 经过前面几篇的理解,我们大致梳理清楚了FeignClient的创建.Feign调用的大体流程,本篇会深入Feign调用中涉及的另一个重要组件:loadbalancer,了解loadbalance ...

  10. POJ 3003 DP 寻路 记录路径

    POJ 3003 DP 寻路 记录路径 我一开始把M看成是每个a_i的上限了,这是致命的,因为这个题dfs暴力搜索+剪枝是过不了的因为M<=40,全部状态有2的四十次幂. 正解是DP,设dp[i ...