振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(2)

简介: 振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(2)

注解目录

1、znFAT 的起源

1.1 源于论坛

(那是一个论坛文化兴盛的年代。网友 DIY SDMP3 播放器激起了我的兴趣。)

1.2 硬盘 MP3 推了我一把

(“坤哥”的硬盘 MP3 播放器,让我深陷 FAT 文件系统不能自拔。)

1.3 我的导师——顾国昌教授

(哈军工时期的老教授,德高望重的人生导师。)

1.4 我的母校——哈工程

(隐藏牛校哈工程,网络名嘴张雪峰所言非虚。振南给你讲讲母校历史:哈军工、

工程学院、哈船院、哈工程。)

1.5 那场严重超时的答辩会

(20 分钟的答辩超时 1 小时,老师表示赞叹。现场承诺要把文件系统写成书。)

1.6 时隔多年的谢师会

(承诺必须兑现,5 年之后的谢师会,我擎书谢师。不要轻易作出承诺,除非你真

得能作到!)

2、高手如云 认清对手

2.1 国外 FAT 方案简介

1 )FATFS

2 )EFSL

3 )UCFS

4 )TFFS

5 )DOSFS

(列举那些主流 FAT 文件系统方案,并进行详细介绍。)

2.2 国内 FAT 方案简介

1 )ZLG/FS

2 )沁恒 FAT

(国内尚无成型开源的 FAT 文件系统方案。但是我们要支持国货。)

3、硬刚高手 挑战自己

3.1 与高手竞速

3.2 挑战自己

(这一节我写了一个月。环比各大知名方案,看看到底谁更快!最终,挑战了自我。)

4、znFAT 精彩应用大赏

4.1 振南的精彩实验

4.1.1 SD 卡 卡 WAV 音频播放器

4.1.2 SD 卡电子滚动屏

4.1.3 SD 卡 卡 MP3 播放器

4.1.4 AT89S51 离线下载器

4.1.5 数据采集导入 EXCEL

4.1.6 串口文件窃取器

4.1.7 录音笔于 (基于 VS1003B) )

4.1.8 文件无线传输实验

4.1.9 嵌入式脚本程序解释器

4.1.10 绘图板实验(基于 STM32F4 ,屏幕截图存为 BMP 图片)

4.1.11 MEMS 声音传感器“ 硅麦” 录音实验

(znFAT 的最大亮点在于各种精彩的应用,希望振南的这些实验可以让你眼前一亮。)

4.2 精彩的第三方项目应用

4.2.1 仿 仿 Metro UI 系统应用实验

4.2.2 通过 U 盘对产品进行升级

4.2.3 嵌入式网页服务器

4.2.4 STM32+LD3320 作声控音频播放器

4.2.5 BMP 图片浏览

4.2.6 VGA 显示 SD 卡中的图片(基于 FPGA) )

4.2.7 汉字电子书(基于 STM8) )

4.2.8 文本语音合成实验(TTS ,基于 NUC120) )

4.2.9 《跳跃小猫》动画播放(基于 FPGA NIOSII)

1

znFAT 的起源

1.4 那场严重超时的答辩会

研二一整年我基本上都在北京。“不在哈尔滨待着,在北京干什么?”去看看《我和郭天祥的那些事儿》吧。我仍然在研究文件系统,乐此不疲,沉迷于此,以至于我根本无心去考虑研究生课题和毕业论文的问题。

在这个阶段,我研究文件系统已经不单单是为了做 SD 卡 MP3了。因为在我研究的过程中,我发现有一些开源的 FAT 文件系统方案,其中不乏比较有名的,比如 FATFS,基本上已经是行业主流方案。当时我有一种不服气的心理:“这些方案很多都是国外的,难道国内就没有一个比较成型的 FAT 文件系统方案吗?”于是,我产生了自已写一个的想法,初步命名znFAT”意为振南开发的 FAT文件系统方案。

我跟坤哥说了这个想法,他说:“有现成的你就用呗,为啥还要重复造轮子?”这句话我记忆深刻。我是一个有些自负的人,我一直认为只有我自己做的才是最好的。后来 znFAT 广为流传,被很多人誉为是“国内唯一的嵌人式文件系统方案”,其实起初的动机并没有这么高尚,只是纯粹的不服和自负。还有一部分因索是自嗨,因为 FAT 文件系统涉及不少的算法和技巧,能极大满足我的研究欲和成就感。

“振南,这一章你是不是不打算讲 znFAT 的相关技术了?”

是的,因为《嵌入式FAT32 文件系统设计与实现---基于振南 ZFAT》一书已经足够全面和系统化了。那本书很专很深,受众人群也比较窄,但是以我现在的眼光来看,它仍然是令我非常满意的。(衡量一个东西是否真的好,最好的办法是用时间,在时隔多年之后,你再回头来看它,如果仍然觉得好,那它应该就是真的好了。大家不妨回忆一下自己曾经的成果或作品。)

有一天,导师给我打电话。

“振南,你论文选题最终定了没?要抓紧时间写论文!”

“顾老师,我就把我现在研究的文件系统定为论文题目吧。”我在哈尔滨的时候其实很多次跟顾老师讨论文件系统的相关问题,这属于计算机科学的一个重要分支,所以顾老师也很感兴趣。我想把它定为研究方向,也跟顾老师提过。

“可以啊。”

盛中华曾经非常鄙夷地对我说:“我发现顾老师真是宠你,对你太好了!什么都由着你。”(盛中华是谁?去看看《入门 C 语言与单片机》和《振南与郭天祥的那些事儿》这两章。)

顾老师其实不光是对我,他本身有一颗非常平和的心,能够善待每一个人。所以他在很多圈子里都享有很高的声誉,是德高望重的老教授、老院长。我算顾老师的关门弟子,2007 届硕士。我其实是可以直博的,在哈工程保研的学生都有直博的机会,最短可以在 4 年内拿到博土学位。但是当时顾老师要退休了,跟不到我博士毕业,而要另选导师。所以,我就决定放弃直博。

2009 年11月,我回到哈尔滨参加硕士毕业答辩。

每个人限时 20 分钟,但是我却整整超了 1个小时。老师们有些也都是顾老师的学生,是大师兄大师姐,他们都想看看我研究的成果。

我仔细介绍了文件系统相关的技术细节,以及我的nFAT。(当时 znFAT,已经比较完善了,并经历了很多志愿者在各个 CPU 平台上的移植测试和应用,而且已经开始在网上广为传播。)

大师姐赞叹道:“你看看于振南的这些东西,这才是真正有料!”

最后我有点激动地看向顾老师:“文件系统我还会不断地研究下去,我会把它写成书!”

“好,那我们等着!”顾老师说。伴随着全场的掌声,我的毕业答辩结束了。

1.5 时隔多年的谢师会

当时的一句海口,这一下去就是五年。自己作的承诺,再难也要兑现!说实话,文件系统还是比较复杂的,但我的写作风格一直是通俗易懂,要把高深的东西写成白话文,这是很有难度的。研究和写作完全是两回事。

2014 年初,《嵌人式 FAT32 文件系统设计与实现一-基于振南 nFAT》一书终于完稿当时顾老师已经回加拿大顾养天年。我联系到他,说:“顾老师,您还好吗? 文件系统的书我已经写完了,还分了上下册,想请您作一个序(见图 18.5)”

顾老师也表示惊讶:“你真把书写出来了?”

到此,我的五年之诺终于兑现了。

当时我还真不太关心这书的销量,以及 znFAT 使用量,只是觉得终于可以放手了。在这以后,我基本很少再轻易做出承诺。但是实际上,znFAT 一书和代码却开始对我产生极为深远的影响。

图 18.5 带有顾老师序的《嵌入式 FAT32 文件系统设计与实现———基于振南 znFAT 》一书广为发行

2015 年,顾老师从加拿大回国,来到北京。“北京分舵”的师生们为顾老师举行了一场谢师会。在会上,顾老师向大家推荐了我的书,还说:“大家如果有文件系统和存储方面的问题和项目可以找振南哈!”坤哥现在也明白了:为什么要重复造轮子。(别人造轮子,只会给你轮子我造轮子除了给你轮子,还会给你造轮子的方法。)

在这里,我仍然祝顾老师和师母,身体健康,万事如意!

相逢一见太匆匆,校内繁花几度红。厚谊常存魂梦里,深恩永志我心中。

—《七绝·师恩难忘》

相关文章
|
6月前
|
存储 数据采集 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(6)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(6)
|
6月前
|
存储 算法 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
|
6月前
|
传感器 开发框架 算法
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(7)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(7)
|
6月前
|
存储 语音技术 芯片
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
|
6月前
|
存储 IDE 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
|
6月前
|
传感器 数据采集 算法
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
|
6月前
|
数据采集 传感器 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)
|
6月前
|
存储 机器学习/深度学习 机器人
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
|
6月前
|
机器学习/深度学习 传感器 自然语言处理
马斯克搞脑机得“开瓢”?MIT 早在研究「挂耳式耳机」,戴上=“把整个互联网装进脑子”!
上个月底,马斯克在 X 上发文称,第一位人类患者已接受 Neuralink 的脑机接口芯片植入,并表示“患者恢复良好”,还揭示了 Neuralink 的第一个芯片产品名为“Telepathy(心灵感应)”。
|
6月前
|
JavaScript 前端开发 Java
二十年编程语言风云,哪款是你的爱豆?
二十年编程语言风云,哪款是你的爱豆?