嵌入式开发实用工具——QFSViewer

嵌入式开发实用工具——QFSViewer

介绍

今天给大家推荐个我个人业余时间开发的一个嵌入式开发实用工具——QFSViewer,这个工具主要是用来加载查看各种嵌入式常用的文件系统映像,目前支持JFSS2、Fat32、Fat16、Fat12、exFat、Ext2、Ext3、Ext4等文件系统。QFSViewer不同于很多工具需要将文件系统映像文件通过loopback设备挂载到系统中,而是直接加载文件系统映像文件,全程通过用户态软件解析文件系统,因此不需要root权限,也不需要挂载到系统中。同时可以跨平台运行在Windows、Linux、MacOS等系统中,这对于很多嵌入式新手开发者来说是一个很大的优势。同时软件轻量化,具备GUI界面,操作简单,即使是嵌入式开发资深工程师也可以作为一个日常工具补充使用,毕竟有时候不方便使用公司或自己的专用PC,而是需要临时使用公共PC,这时候就可以使用QFSViewer可以快速高效的查看文件系统映像文件中的内容。

主界面

在这里插入图片描述

软件打开主界面直接选择文件系统映像类型,然后点击路径选择要打开的文件系统映像文件,点击打开即可。

view窗口

在这里插入图片描述

view窗口以树形结构展示文件系统映像文件中的内容,可以通过鼠标点击展开或者收起目录。其中还显示了文件的大小、类型、时间等信息。

扩展功能

在这里插入图片描述

在view窗口中,右键点击文件或者目录,可以弹出菜单,提供了一些扩展功能,包括:

  • 导出文件:将文件导出到本地磁盘
  • 导入文件:将本地磁盘文件导入到文件系统映像文件中
  • 新建目录:在文件系统映像文件中新建目录
  • 删除文件/目录:删除文件系统映像文件中的文件/目录

(注:其中后三项会以读写方式打开文件系统映像文件,并修改文件系统映像文件中的内容,因此需要谨慎操作,建议先备份文件系统映像文件,本工具以查看文件系统为核心功能,对应修改类的功能只是作为扩展辅助功能,不会对文件系统映像文件做过多的检查,如果操作不当,可能会导致文件系统映像文件损坏,因此请谨慎操作。)

项目地址

本项目基于Qt6开发,代码全部开源,项目地址:

https://github.com/QQxiaoming/QFSViewer
https://gitee.com/QQxiaoming/QFSViewer

如果您觉得项目不错可以给我点个Star,如果您对本项目有建议或想法,欢迎在GitHub或Gitee上提交issue和pull requests。目前项目建议使用版本Qt6.2.0或更高版本。

预编译二进制安装包下载

项目通过github action对每个版本代码在linux、windows、macos上进行编译生成的安装包可以直接使用,github和gitee上releases界面均提供下载。

  • windows——exe格式安装包
  • linux——deb格式安装包
  • macos——dmg格式安装包

https://github.com/QQxiaoming/QFSViewer/releases
https://gitee.com/QQxiaoming/QFSViewer/releases

感谢

项目引用了其他开源项目的代码,特此感谢,并全部遵守其开源协议发布。

  • QFontIcon
  • lwext4
  • ff15
  • jffs2extract
  • treemodel.cpp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/59051.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql自增主键不连续情况分析

1.唯一键冲突 比如increnment_test中已经存在了co1为3的记录,当再插入col1为3的记录时,就会出现主键不唯一错误,但此时自增主键已经1,所以会发生主键不连续情况 DROP TABLE IF EXISTS increnment_test; CREATE TABLE increnment_test (id int(0) NOT NULL AUTO_INCREMENT,col…

音视频技术开发周刊 | 305

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 大神回归学界:何恺明宣布加入 MIT 「作为一位 FAIR 研究科学家,我将于 2024 年加入麻省理工学院(MIT)电气工程与计算机科学…

适配器模式(C++)

定义 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 应用场景 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象 ”放在新的环境中应用,但是新环境要求…

【iOS】RunLoop

前言-什么是RunLoop? 什么是RunLoop? 跑圈?字面上理解确实是这样的。 Apple官方文档这样解释RunLoop RunLoop是与线程息息相关的基本结构的一部分。RunLoop是一个调度任务和处理任务的事件循环。RunLoop的目的是为了在有工作的时候让线程忙起来&#…

【如何构建自己的基于Arduino的Scara 机器人】

【如何构建自己的基于Arduino的Scara 机器人】 1. 概述2. Scara机器人3D模型3. 3D打印机器人零件4. 组装机器人5. SCARA机器人电路图6. 完成装配7. SCARA机器人的工作原理8. 对 SCARA 机器人进行编程 – Arduino 和处理代码9. 总结在本教程中,我们将学习如何构建基于 Arduino …

小红书数据分析丨现实版模拟人生,这届网友热衷于“云开店”?

近期,小红书出现的一个神秘的热心群体,他们经常活跃在各种小店店主发布的求助帖评论区中,积极地帮助店主出谋划策,寻找小店经营的优化之道,成功帮助小店成功转亏为盈!江湖人称一一云股东。小红书话题#爱上帮…

01《Detecting Software Attacks on Embedded IoT Devices》随笔

2023.08.05 今天读的是一篇博士论文 论文传送门:Detecting Software Attacks on Embedded IoT Devices 看了很长时间,发现有一百多页,没看完,没看到怎么实现的。 摘要 联网设备的增加使得嵌入式设备成为各种网络攻击的诱人目标&…

Netty自定义编码解码器

上次通信的时候用的是自带的编解码器&#xff0c;今天自己实现一下自定义的。 1、自定义一下协议 //协议类 Data public class Protocol<T> implements Serializable {private Long id System.currentTimeMillis();private short msgType;// 假设1为请求 2为响应privat…

数据结构---跳表

目录标题 为什么会有跳表跳表的原理跳表的模拟实现准备工作find函数insert函数erase函数 测试效率比较 为什么会有跳表 在前面的学习过程中我们学习过链表这个容器&#xff0c;这个容器在头部和尾部插入数据的时间复杂度为O(1)&#xff0c;但是该容器存在一个缺陷就是不管数据…

【算法|数组】手撕经典二分法

算法|数组——二分查找 文章目录 算法|数组——二分查找引言二分查找左闭右闭写法左闭右开写法 总结 引言 首先学习这个算法之前需要了解数组知识&#xff1a;数组。 大概介绍以下&#xff1a; 数组是存储在连续内存空间上的相同类型数据的集合。数组下标都是从0开始。数组在…

第17章-Spring AOP经典应用场景

文章目录 一、日志处理二、事务控制三、参数校验四、自定义注解五、AOP 方法失效问题1. ApplicationContext2. AopContext3. 注入自身 六、附录1. 示例代码 AOP 提供了一种面向切面操作的扩展机制&#xff0c;通常这些操作是与业务无关的&#xff0c;在实际应用中&#xff0c;可…

2.虚拟机开启kali_linux

首先你应该搞一个虚拟机&#xff0c;搞虚拟机可以看一下这个 附录三 虚拟机的使用_Suyuoa的博客-CSDN博客 然后你需要搞一个 kali linux的镜像 Get Kali | Kali Linux 镜像下载好之后解压&#xff0c;你会得到一个文件夹包含下面这些文件 之后打开VMware&#xff0c;点击打开虚…