海思Hi35xx 通过uboot查看flash指定地址的数据
前言
在实际应用中有遇到过设备放置一段时间后设备不能启动的问题,uboot 完全没有响应,类似于flash中的数据被擦洗掉一样。
网上有介绍说是nandflash 不稳定,高温或是静电会导致nand flash 的比特位反转的问题,反转的少了,controller内部的ECC会将数据纠正,反转的多了超过纠错能力,就没有办法正确读取数据,这个在高温的时候比较明显。
在海思平台上,可以通过这样的一种方式来查看是否flash中的数据发生了数据位的反转或是数据错误:
- 用海思自带的HiTool工具,烧入一个uboot到ddr,也就是烧入到内存,让uboot从内存中启动。
- 在uboot中去读取flash指定地址的数据,把数据显示出来。
- 对比读取出来的数据与原来数据是否相等。
具体步骤如下:
烧入Uboot到内存,uboot从内存中启动:

擦除内存的一段地址,用来存放flash 数据:
将内存0x82000000 地址开始的1M 空间全部填写数据0xFF
mw.b 0x82000000 ff 100000;
- 读取flash指定地址的数据:
从flash 0地址开始的位置读取0x100000(1M)的数据到内存地址0x82000000
nand read 0x82000000 0 0x100000
- 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 #
- 查看原烧入flash 0地址文件的数据
原来烧入进去的数据为:

- 数据对比:
这里只对比0x0000~0x000地址的数据,也就是第一行的数据,其它以此类推:
uboot中读取到内存中并显示出来的数据是:
82000000: ea000517 e59ff014 e59ff014 e59ff014 ................
实际flash中应该的数据是:

这里需要注意一下大小端的问题,uboot中显示出来的数据与在Windows中用UltraEdit工具查看的大小端刚好是反了。从这里我们可以看出,我们的第一行数据是一样的,没有发送反转。
如果要对比整块的内存数据,可以使用uboot的 cmp 命令进行对比,这里不再介绍。
---------------------------End---------------------------
长按识别二维码
关注 liwen01 公众号
海思Hi35xx 通过uboot查看flash指定地址的数据的更多相关文章
- 海思hi35xx 开发学习(3):视频输入
视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口.LVDS 接口和 HISPI 接口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据.V ...
- 海思HI35xx平台软件开发快速入门之H264解码实例学习
ref :https://blog.csdn.net/wytzsjzly/article/details/82500277 前言 H264视频编码技术诞生于2003年,至今已有十余载,技术相当成熟 ...
- FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待 前言 将ffmpeg移植到海思H ...
- STM8的AIR与STM32的Keil的指定地址存数据
[经验分享]KE02在IAR和KEIL中以常量形式初始化EEPROM值一, 经验分享描述 写这篇经验分享的原因是,之前有一个客户,他希望在KE02的芯片中,不要出现使用EEPROM操作命 ...
- 海思HI35XX之----视频处理单元各通道间的关系
最近在折腾HI3518C的芯片,应用到IPCamera上,最终获取多路不同分辨率的视频流供不同需求的预览切换.此处简单记录一下视频前处理元VPSS(Video Process Sub-System)的 ...
- 海思hi35xx 开发学习(2):系统控制
应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作.同理,应用程序退出MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源. 视频缓存池 一组大小相同.物理地址连续的缓存块组成一个 ...
- 海思hi35xx 开发学习(1):海思媒体处理平台架构
处理平台架构图: 主要分为: 视频输入(VI):VI 模块捕获视频图像,可对其做剪切.去噪等处理,并输出多路不同分辨率的图像数据. 视频处理(VPSS):VPSS 模块接收 VI 和解码模块发送过来的 ...
- linux中查看文件指定行的数据
http://jingyan.baidu.com/article/15622f24125872fdfdbea560.html
- OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台
前言 移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持. Ffmpeg的移植 Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...
- [转帖]海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏?
海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏? https://t.cj.sina.com.cn/articles/view/6635931736/18b88485800100cz4h?fr ...
随机推荐
- shopify主题模板速度优化
前两天一位新客户说他的shopify店铺加载速度很慢,首页完全加载需要 5~6 秒甚至更高,问ytkah有没办法帮忙优化一下.shopify网站速度优化要看具体用了什么模板,有什么功能,哪些可以改哪些 ...
- vscode快速配置汇编环境
微机原理的课程需要,简单快速记录环境的搭建 找到并安装插件masm. MASM/TASM的汇编工具默认是tasm这样就无法在vscode终端进行debug,打开插件设置如下修改: 测试代码实现小写字母 ...
- C#汉诺塔递归算法实现
目录: 一.什么是递归 1.先来看一下一个递归的例子 2.递归的基本原理 二.汉诺塔问题 1.汉诺塔的故事 2.回到编程,汉诺塔问题主要就是解决这个问题: 3.怎么解决汉诺塔问题 要解决汉诺塔问题就要 ...
- electron入门之打包exe分发(五)
electron入门到入土,前面配置阿里镜像加速.为了防止我们打包下载龟速,所以需要给electron配置阿里镜像加速.参考配置阿里云镜像https://blog.csdn.net/weixin_44 ...
- mysql 数据库 定时 备份到阿里云盘
仓库地址: gitee:db_backup_script: mysql 数据库 定时/实时 备份数据库到阿里云盘,备份成功后消息可通知到钉钉群.企业微信群.wxpusher (gitee.com gi ...
- LeetCode 栈与队列篇(12、155、84、239)
20. 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. ...
- 面试官问我:CSS有哪些属性可以继承?
摘要:本文带大家学习一下关于CSS属性的继承. 本文分享自华为云社区<关于CSS有哪些属性可以继承?>,作者:黛琳ghz. 前言 今天遇到一个很有意思的题目,通过题目可以顺便学习一下关于C ...
- 【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦
摘要:介绍了13种GaussDB(DWS)单点性能的案例. 一.数据倾斜 1.1 问题描述 某局点SQL执行慢,涉及大表的SQL执行不出来结果. 1.2 分析过程 数据倾斜在很多方面都会有体现: 1) ...
- 鸿蒙轻内核M核源码分析:中断Hwi
摘要:本文带领大家一起剖析了鸿蒙轻内核的中断模块的源代码,掌握中断相关的概念,中断初始化操作,中断创建.删除,开关中断操作等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列五 中断Hwi&g ...
- 用GaussDB(for Redis)存画像,推荐业务轻松降本60%
摘要:用户画像存储是推荐业务核心,但开源Redis无法胜任.华为云高斯Redis是最佳存储选型,轻松降本60%,同时获得企业级高稳定性. 本文分享自华为云社区<华为云GaussDB(for Re ...