首页
/ f3 项目技术文档

f3 项目技术文档

2024-12-20 15:36:06作者:晏闻田Solitary

1. 安装指南

1.1 下载与编译

首先,从GitHub下载f3的稳定版本源码包:

$ unzip f3-8.0.zip

1.2 在Linux或FreeBSD上编译

进入解压后的目录,执行以下命令进行编译:

$ make

如果需要安装f3write和f3read,可以运行:

$ make install

1.3 在Windows/Cygwin上编译

在Windows上使用Cygwin编译时,需要安装以下依赖包:

  • gcc-core
  • make
  • libargp-devel

然后设置编译选项并进行编译:

$ export LDFLAGS="$LDFLAGS -Wl,--stack,4000000 -largp"
$ make

安装命令:

$ make install

1.4 在Apple Mac上编译

在Mac上可以使用HomeBrew或MacPorts进行安装:

使用HomeBrew

$ brew install f3

使用MacPorts

$ port install f3

如果需要手动编译,首先安装Apple命令行工具:

$ xcode-select --install

然后安装HomeBrew或MacPorts,并安装argp-standalone库:

$ brew install argp-standalone

最后,进行编译:

$ make

1.5 使用Docker安装

可以使用Docker快速启动f3工具。首先拉取预构建的Docker镜像:

$ docker run -it --rm --device /dev/sdX peron/f3 f3probe --destructive --time-ops /dev/sdX

如果需要自定义构建Docker镜像,可以执行以下命令:

$ make docker

$ docker build -t f3:latest .

然后运行f3命令:

$ docker run -it --rm --device /dev/sdX f3:latest f3probe --destructive --time-ops /dev/sdX

2. 项目的使用说明

2.1 测试性能

使用f3write和f3read测试闪存卡的性能:

$ ./f3write /media/michel/5EBD-5C80/
$ ./f3read /media/michel/5EBD-5C80/

请将路径替换为实际的挂载路径。

2.2 快速容量测试

使用f3probe进行快速容量测试:

$ ./f3probe --destructive --time-ops /dev/sdX

注意:此操作会破坏磁盘上的所有数据。

2.3 修正容量

使用f3fix修正闪存卡的实际容量:

$ ./f3fix --last-sec=16477878 /dev/sdX

3. 项目API使用文档

3.1 f3write

f3write用于将伪随机数据写入闪存卡,测试其写入性能。

$ f3write /path/to/mount/point

3.2 f3read

f3read用于读取并验证闪存卡中的数据,确保其与写入的数据一致。

$ f3read /path/to/mount/point

3.3 f3probe

f3probe用于快速测试闪存卡的容量,适用于大容量磁盘。

$ f3probe --destructive --time-ops /dev/sdX

3.4 f3fix

f3fix用于修正闪存卡的实际容量,创建一个与实际大小匹配的分区。

$ f3fix --last-sec=16477878 /dev/sdX

4. 项目安装方式

4.1 源码编译安装

通过源码编译安装f3工具:

$ make
$ make install

4.2 使用包管理器安装

在Mac上可以使用HomeBrew或MacPorts安装:

$ brew install f3

$ port install f3

4.3 使用Docker安装

通过Docker快速启动f3工具:

$ docker run -it --rm --device /dev/sdX peron/f3 f3probe --destructive --time-ops /dev/sdX
登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
270
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
909
541
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.21 K
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
142
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
63
58
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.1 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
87
4