通过mtd读写flash_mtd_debug:linux下直接读写flash扇区 及 交叉编译mtd_utils | 学步园

mtd_debug是一个linux下直接读写flash扇区的工具,是mtd-utils的一个部件。具体用法如下:

./mtd_debug read

./mtd_debug write [len]

./mtd_debug erase

具体使用举例:./mtd_debug erase/dev/mtd/1 0x0 0xc00000  :表示擦写了0x34300000 ~ 0x34f00000共12MB的空间。

以上命令格式中“device”是指/dev/mtd/0,1,2这种mtd char 设备,不要操作/dev/mtdblock/0,1,2这种块设备。也就是说:mtd是字符设备,mtdblock是块设备,它们映射的是同一个空间;但是我们在擦写的时候就是操作字符设备,这个请注意。

以上不管是write哪一块,都建议先erase,再write,否则可能导致write失败

mtd_debug的获取或者说交叉编译mtd_utils

1.获得源码

root@:/home/# wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.2.0.tar.bz2

root@:/home/# wget http://www.zlib.net/zlib-1.2.3.tar.gz

root@:/home/# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz

root@:/home/# tar xzvf zlib-1.2.3.tar.gz

root@:/home/# tar xzvf lzo-2.03.tar.gz

root@:/home/# tar xzvf mtd-utils-1.2.0.tar.bz2

说明:zlib和lzo是编译mtd-utils所需库文件,需提前交叉编译完成,以供mtd-utils编译时调用

2,编译安装zlib:

root@:/home/# cd zlib-1.2.3

root@:/home/zlib-1.2.3# CC=arm-linux-gcc ./configure --shared --prefix=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi

root@:/home/zlib-1.2.3# make

root@:/home/zlib-1.2.3# make install

root@:/home/zlib-1.2.3# cd ..

/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi 为交叉编译器路径

3,编译安装lzo:

root@:/home/# cd lzo-2.03/

root@:/home/lzo-2.03# CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi

root@:/home/lzo-2.03# make

root@:/home/lzo-2.03# make install

root@:/home/lzo-2.03#

4,编译mtd-utils

1) 修改Makefile

CROSS=arm-linux-

2) make WITHOUT_XATTR=1

在这里会提示没有定义AI_ADDRCONFIG,在文件头部加入定义#define AI_ADDRCONFIG    0x0020 就可以了

到这里还是有错误提示。不过没有关系。mtd_debug已经出来了。静静的躺在arm-linux目录下面鸟。

通过mtd读写flash_敏矽微电子Cortex-M0学习笔记11-FLASH存储器 学习笔记1、FLASH存储器简介ME32F030采用高可靠的嵌入式Flash 技术,64K用户区间,支持 IAP/ISP Flash 擦写技术。MCU Flash 采用 32 位数据总线读写,充分利用 32 位 ARM CPU 性能优势,同时它的 512 字节小扇区结构,管理操作也更加灵活。Flash 存储器支持的操作如下: 读操作:ARM CPU 可以通过读指令直接从嵌入式 Flash 读取数据... 阅读详情

相关推荐

基于mtd的nandflash的擦写nanderase与nandwrite

对于nand平台更新,我们有两个常用工具可用,一个是nanderase擦除的命令,一个是nandwrite写数据的命令,我们先了解一下nand的基本特性。     Nand flash只有一种操作,就是把1写为0,不能把0写为1,所以我们在写入之前,先要把所有的位置1,也就是擦除动作。Nand 擦除是以block块大小为最小单位,写入是以page页为最小单位。     由于工作需求,需要封装

csdn66_2016的博客 1万+

MTD工具使用

MTD 工具使用 1. mtd_debug   # mtd_debugusage: mtd_debug info <device> mtd_debug read <device> <offset> <len> <dest-filename> mtd_debug write <device> <offset> <len> &l...

kunkliu的博客 7204

Unity3D 集成 SQLite 数据库实战:从零搭建到数据可视化

本文详细介绍了在Unity3D项目中集成SQLite数据库的完整实战流程。从SQLite的轻量、稳定、易用特性讲起,逐步指导开发者完成环境配置、驱动集成、C#脚本编写(涵盖连接、建表、增删改查),并进阶演示了数据模型封装与在Unity UI中实现数据可视化的方法。最后提供了多线程访问、路径差异、性能优化等关键避坑指南,帮助开发者构建可靠高效的本地数据管理方案。

weixin_29291069的博客 67

Linux 指令心法(十六)`mtd_debug erase` 擦除MTD(Memory Technology Device)设备

可以使用该命令擦除指定的MTD分区中的数据。MTD设备是一种特殊的设备,用于提供对闪存和其他类似设备的访问。当需要将MTD设备上的数据重置为初始状态时,可以使用mtd_debug erase命令来擦除整个设备或指定的数据区域。在进行MTD设备的调试和测试时,可能需要清除特定的数据块,以便进行下一步操作或测试。使用mtd_debug erase命令擦除特定的数据块,指定要擦除的偏移量和长度。使用mtd_debug erase命令擦除整个设备或指定的数据区域。

weixin_43564241的博客 2729

通过mtd读写flash_mtd_debuglinux下直接读写flash扇区及交叉编译mtd_utils

mtd_debuglinux下直接读写flash扇区及交叉编译mtd_utilsmtd_debug是一个linux下直接读写flash扇区的工具,是mtd-utils的一个部件。具体用法如下:./mtd_debugread<device><offset><dest-filename><len>./mtd_debugwrite<devic...

weixin_39583222的博客 651

传输线末端短路、开路、加电感的反射系数

时,频率变化约300MHz, 出现这种偏差是因为我们的计算中将电磁波传播速率默认为。时,频率变化约300MHz, 出现这种偏差是因为我们的计算中将电磁波传播速率默认为。下图为用网络分析仪实测一长度为30cm的传输线末端加一0.6uH的线圈的反射系数。下图为用网络分析仪实测一末端短路的长度为30cm的传输线的反射系数。下图为用网络分析仪实测一末端开路的长度为30cm的传输线的反射系数。末端加电感相当于在传输线末端延长了一段后末端短路,使得相位下降速率。幅度为0dB, 相位由。幅度为0dB, 相位由。

johnboat的专栏 1837

linux nand flash常用命令

linux nand flash常用命令 转载:玛丽奥ZJY2020-03-29 18:00:3596收藏 分类专栏:【nand flash】 版权 使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd* #cat /proc/mtd dev: size erasesize name mtd0: 00c00000 00020000 “ROOTFS” mtd1: 00200000 00020000 “BOOTLOADER” ...

llzhang_fly的博客 3620

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 385

mtd-utils 工具的使用

也可以使用diff命令来比较。#./mtd_debug erase /dev/mtd0 0x0 0x40000 // 擦出/dev/mtd0 分区上 从0x0开始的 , 128K*2 大小的数据。#./mtd_debug erase /dev/mtd0 0x0 0x40000 // 擦出/dev/mtd0 分区上 从0x0开始的 , 128K*2 大小的数据。#./nanddump -p /dev/mtd1 //dump出nand flash /dev/mtd1数据,可以看到现在的数据不再是全ff。

茫茫大士的专栏 3098

mtd_debug:linux下直接读写flash扇区 及 交叉编译mtd_utils

mtd_debug是一个linux下直接读写flash扇区的工具,是mtd-utils的一个部件。具体用法如下: ./mtd_debug read ./mtd_debug write [len] ./mtd_debug erase 具体使用举例:./mtd_debug erase/dev/mtd/1 0x0 0xc00000  :表示擦写了0x34300000 ~ 0x3

Canbus的专栏 1万+

别再只做游戏了!用虚幻引擎5(UE5)给你的工厂车间做个数字双胞胎(附数据对接教程)

本文详细介绍了如何利用虚幻引擎5(UE5)构建工业数字孪生系统,实现工厂车间的智能可视化。通过UE5的高质量渲染和实时数据处理能力,结合OPC UA和MQTT协议,打造高效的数据对接方案,提升异常识别和设备管理效率。文章还分享了模型优化、可视化设计及典型工业场景的实战案例,助力企业迈向工业4.0。

weixin_33738555的博客 191

MTD应用学习札记

今天做升级方案用到了mtd-utils中的flash_eraseall和flash_cp两个工具,在进行方案验证的时候,遭遇到各种不解和疑惑,因对MTD的原理不熟悉,所以只能多次尝试,虽然最后把方案搞定了,不过觉得MTD中的mtd和mtdblock区别这块还是值得总结学习一下。这里先说明一下问题现象,然后在进行具体的区别原理解释。  MTD设备(Nor Flash)使用中的问题现象表现  mtd-utils工具对mtd和mtdblock分...

kunkliu的博客 2145

学Simulink——基于Simulink的Buck-Boost变换器双闭环PI+抗饱和设计建模示例

本文详细介绍了基于Simulink的非反相Buck-Boost变换器双闭环控制设计方法。针对Buck-Boost变换器特有的右半平面零点(RHPZ)和控制挑战,提出了电压-电流双闭环PI控制架构,并集成抗积分饱和机制。通过Simulink建模,实现了主电路、电流内环PI、电压外环PI、PWM及占空比限幅等模块的搭建,验证了在输入电压跌落(20V→10V)和负载突变(2A→4A)等场景下的稳定性能。仿真结果表明,输出电压波动小于0.35V,恢复时间快于1ms,电感电流有效限幅。文章还讨论了工程实践要点和扩展方

xiaoheshang_123的博客 292

MTD源代码分析(二)

源码分析下面具体介绍每个文件的内容和作用:  头文件分析 mtd.hMTD_CHAR_MAJOR#define MTD_CHAR_MAJOR 90         MTD字符设备的主设备号MTD_BLOCK_MAJOR#define MTD_BLOCK_MAJOR 31       MTD块设备的主设备号MAX_MTD_DEVICES#define

abc的专栏 2479

linux mtd0信息,linux mtd

一、参考资料在嵌入式系统中,与文件系统相关的存储设备包括硬盘、Flash存储器等。Flash存储器又分为Flash芯片设备(Raw Flash device,也叫MTD设备)和带Flash控制器的设备(Flash Translation Layer device, FTL设备),两者的关键区别是是否带有Flash控制器,这也直接决定了文件系统分为不同的两类。其中MTD设备包括NOR Flash、N...

weixin_39828338的博客 1622

OmniDrive(3):逐行代码详解

模型效果: 端到端联合规划与推理 接下来,简单介绍下训练的配置 1.1 模型配置 模型基于sparse query based的3D Bev感知框架StreamPetr ,用query来编码动态目标(如车辆、行人)和静态地图元素(如车道线)。(1) tran、test和val数据配置 指定真值的文件路径: ann_file 指定输出处理的pipeline: 训练使用, test 和val使用 指定是否需要时序训练seq_mode (2)数据处理pipeline 自定义的Dataset 通过类实现,训

@bangbang的博客 683

linux nand flash常用命令操作

使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd* cat /proc/mtd dev: size erasesize name mtd0: 00c00000 00020000 “ROOTFS” mtd1: 00200000 00020000 “BOOTLOADER” mtd2: 00200000 00020000...

爱她就要努力 4590

YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 2273

mtd-utils

在ubuntu 10.04上交叉编译编译 mtd-utils  ===================================================================================== 在写文章之前, 大概有两天时间在找mtd-utils的交叉编译资料, 经常找到的都是过时的, 或者版本很低, 或者需要改一堆的Makefile, 能不能

xiaoxiaozhu2010的专栏 2984

关于直接编写应用程序读写/dev/mtd0 或者 /dev/mtdblock0的问题。

关于直接编写应用程序读写/dev/mtd0 或者 /dev/mtdblock0的问题。 开发板的Linux环境: # uname -a Linux 192.168.102.213 2.6.12-4.2-brcmstb #73 Tue Apr 14 16:06:50 CST 2009 7403a0 unknown 我的开发板的Nor flash分区情况是 # cat /proc/m

lin364812726的专栏 1万+

Sqlcipher.exe

打开加密的sqlite数据库,可通过密码查看微信的EnMicroMsg.db,绝对可用!

uboot 中 如何打开 ubi mtd debug 信息

在 uboot/inclued/configs/am335x.h 添加两行 #define CONFIG_MTD_DEBUG #define CONFIG_MTD_DEBUG_VERBOSE 7

只有自己觉到悟到的,才是自己的。 861

STM32驱动AD5308程序+硬件原理图

完整的STM32驱动AD5308工程,直接可编译使用,亲测可用。STM32同时驱动两片AD5308实现16路模拟量输出。附带与软件相对应的硬件原理图。

mtd设备操作、jffs2

安装 手动安装mtd-utils,根据系统自行选择 举例 #include #include #include #include int non_region_erase(int Fd,int start,int count,int unlock) { mtd_info_t meminfo; if(ioctl(Fd,MEMGETINFO,&meminfo) ==

超哥的专栏 8627

mtd源码 linux,linux mtd源码分析--mtdchar.c

#define MAX_KMALLOC_SIZE 0x20000static ssize_t mtd_read(struct file *file, char __user *buf, size_t count,loff_t *ppos){struct mtd_file_info *mfi = file->private_data;struct mtd_info *mtd = mfi-&gt...

weixin_42504279的博客 342

基于深度学习的中文语音识别系统设计源码

该项目是针对中文语音识别的深度学习系统设计源码,包含47个文件,涵盖24个Python源代码文件、13个文本文件、4个Markdown文件、3个列表文件、1个YAML文件、1个Git忽略文件、1个许可证文件。该项目适用于需要中文语音识别功能的应用场景。

linux 程序读写Env分区 --- mtdparts,/dev/mtd*,mtd_debug

1. uboot $mtdparts 和 linux /dev/mtd* 的联系 比如: uboot:# setenv mtdparts 'mtdparts=nx_2016:1408k@0k(boot),128k@1408k(env),-(extra);nx_2017:16m(k0),16m(k1),-(nandextra)' linux:# cat /proc...

weixin_34314962的博客 594

1942-2022全国400多个气象站气候数据【重磅,更新!!!】

完整数据-全国400多个气象站气候数据1942-2022本次收集到的气象资料为1942-2022全国400多个气象站气候数据,数据来自美国国家气候数据中心(NCDC)整理成EXCEL格式,以供科研工作者方便使用。本站免费提供自1942年以来的中国地面气象数据下载。数据源为NCDC(美国国家气候数据中心,NaionalCimaic DataCenter),隶属于NOAA(美国国家海洋及大气管理局,NationalOceanicandAtmosphericAdministration)。时间范围:1942年至2022年(目前更新至10月)。。时间精度:近年的数据大多为3小时数据,少量站点有1小时数据。站点数量:近年为400多个。气象要素:气温、气压、露点、风向风速、云量、降水量,

通过mtd读写flash_linuxmtd读写flash

Linux 系统初始化 NOR FLash 芯片及驱动 韩大卫@吉林师范大学 本文旨在解析 linux 系统下, Nor Flash 芯片的初始化大致过程, 和 cfi 标准类型的 Flash 芯片在 ......2 JFFS2 文件系统简介 JFFS2 的底层驱动主要完成文件系统对 Flash 芯片的访问控制,如读、写、擦除操作。在 Linux 中这部分功能是通过调用 MTD 驱动实现的。相对....

weixin_39740283的博客 1261
上一篇: python opencv中的imwrite函数_基础学习笔记之opencv(24):imwrite函数的使用
下一篇: python抓取文本字段_使用Python提取文本中含有特定字符串的方法示例
weixin_39996134
博客等级 码龄9年 33粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值