Linux下nand flash读写测试
nand flash读写测试
- 引言
- 测试步骤
- 测试结果
- 应用空间读取nand flash中存储的uboot镜像
引言
nand flash作为嵌入式系统中的常用设备,在嵌入式产品投入使用初期,需要进行一系列的读写测试,保证产品数据存储的可靠性。nand flash常用的测试方法可分为以下几内:
- uboot阶段,使用uboot中 nand 命令进行读写测试;
- nand flash根文件系统(ubifs格式)中,使用 dd 命令进行测试;
- 利用内核源码下的驱动文件进行测试。
本文主要讲解Linux内核源码下,nand 测试驱动的使用方法。
测试步骤
Linux内核源码下,除了系统运行所需的代码,还提供了一些列Linux应用层的测试代码,一般存储在对应驱动模块 tests 目录下,只有编译内核时进行配置,即可使用。
通过make menuconfig 使能该驱动模块。
将编译好的驱动拷贝到开发板,并查看nand flash的分区情况
insmod mtd_speedtest.ko dev=3 count=100
- dev=3 指的是当前的 mtdblock3 所挂在的MTD设备,例如当前使用的是nor flash的MTD分区3。
- count=100 指的是循环测试的次数。
测试结果
- 擦除块写速度: 1824 KiB/s
- 擦除块读速度: 3273 KiB/s
- 页写速度:1820 KiB/s
- 页读速度:3307 KiB/s
……
应用空间读取nand flash中存储的uboot镜像
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>#define DEV "/dev/mtd1" // 该分区存放 uboot
#define MAX_BUF 10240000 // 10M char *buf = NULL;int main(int argc, char **argv)
{int flag;int fdr , fdw;fdr = open(DEV, O_RDONLY);if (fdr == -1) {perror("open dev");return -1;}if (access("uboot", F_OK) == 0) {printf("uboot exists\n");unlink("uboot");}fdw = open("uboot", O_WRONLY | O_CREAT);if (fdw == -1) {perror("open file");return -2;}buf = (char *)malloc(MAX_BUF);flag = read(fdr, buf, MAX_BUF);if (flag < 0) {perror("read");return -3;}flag = write(fdw, buf, MAX_BUF);if (flag < 0) {perror("write");return -4;}system("sync");free(buf);buf = NULL;close(fdr);close(fdw);return 0;
}
Linux下nand flash读写测试相关推荐
- nand flash 经典 全面 ------如何编写Linux下Nand Flash驱动
Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开 ...
- 如何编写linux下nand flash驱动
http://www.cnblogs.com/sankye/articles/1638852.html 向作者Sankye致敬 [编写驱动之前要了解的知识] 1. 硬件特性: [Flash ...
- linux下nand flash驱动工作原理,Linux驱动之Nand Flash四问,原理、工作方式都包含了...
Nand Flash 是一个存储芯片.本文引用地址:http://www.eepw.com.cn/article/201801/374606.htm 那么:这样的操作很理"读地址A的数据,把 ...
- Linux下磁盘IO读写测试工具-FIO详解
FIO简介 FIO是Linux下开源的一款IOPS测试工具,主要用来对磁盘进行压力测试和性能验证. 它可以产生许多线程或进程来执行用户特定类型的I/O操作,通过编写作业文件(类似于k8s的yaml)或 ...
- linux下nand flash驱动工作原理,Linux下Nand Flash 驱动代码分析
随着越来越多的平台支持从Nand Flash 中启动,掌握Nand Flash 的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对Nand Flash 驱动只是简单 ...
- linux下nand flash驱动工作原理,1.3.4. Nand flash驱动工作原理
1.3.4. Nand flash驱动工作原理 在介绍具体如何写Nand Flash驱动之前,我们先要了解,大概的整个系统,和Nand Flash相关的部分的驱动工作流程,这样,对于后面的驱动实现,才 ...
- 基于STM32F429IGT6的NAND FLASH读写测试(CUBEMX)
本文基于W29N01HV这款NAND FLASH芯片进行讲解,这款芯片的讲解在网上的资料真的很少,关于这款flash的datasheet我会免费共享出来.(如果觉得本文对你没什么帮助可参考:NAND ...
- uboot下nand flash读写方法_鸿蒙HarmonyOS烧录方法总结
1.烧录工具 理解HarmonyOS驱动框架,用户态APP和内核态驱动之间的通信机制. HarmonyOS烧录使用的海思自研的烧录工具Hitool,使用起来相对来说比较简单.整体界面如图所示: 2. ...
- linux测试读写的工具,Linux 下的硬盘读写速度测试工具
Linux 下的硬盘读写速度测试工具 执行一下以下命令看看你服务器的磁盘性能如何. hdparm -Tt /dev/sda 以下是 2块 希捷 ES2 SATA 500G 做 Raid0 的速度 [r ...
- 模拟NAND FLASH 读写BCH ECC校验
一.模拟NAND FLASH 读写BCH ECC校验 将内核源码里的bch校验程序分离出来,从而可以手动修改原始数据和bch校验码,达到模拟出错纠正过程. 源码 bch.c.bch.h.types.h ...
最新文章
- Android中怎么使图片显示
- Android 多进程调试技巧
- 同步通信和异步通信区别
- 图解.net程序集赋予强名称
- 激励员工的首席执行官以及他们的秘诀
- EventLoopGroup 的实例化
- python 项目环境包的名称和版本导出和导入
- bit java实验2_2018-2019-2 20175120 实验五《Java网络编程》实验报告
- android对象关系映射框架ormlite之一对多(OneToMany)
- IDEA 常用设置 与 常用操作(一)
- 安徽省月度降水量分布数据
- 在vue2.0下安装axios
- c语言实验报告模板电子版,C语言实验报告模板.doc
- renderTo和applyTo的区别
- phpcms开发微信小程序api
- bzoj 3332 旧试题
- 以太坊之最全攻略解析与案例分享
- 为女性们点赞!Google 为女性提供更多支持
- [游戏代码]求生之路插件:人物获得武器
- 2021 ICCV论文分享 | 遮挡边界检测
热门文章
- mysql源码解读——事务管理
- 【Python精彩案例】随拍文档转PDF扫描版
- 小米手机线刷教程详解
- 小米线刷包需要解压么_小米6详细的线刷教程,手把手教你降级
- 从零开始设计一款APP之Android设计规范篇
- 地脚螺钉直径系列_地脚螺栓规格
- win7用计算机名共享打印机,WIN7共享打印机 可以同时多少台电脑共享一台打印机-win7一键共享打印机,win7一键共享工具软件...
- 深度学习之语义分割(SegNet)
- 解析AI漫画系统CariGAN:这效果让漫画师颤抖!
- 2022-2028年中国海上石油勘探行业市场研究及前瞻分析报告