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

2024-01-11 23:50

本文主要是介绍振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注解目录

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)

首先,znFAT 配套书籍已出版,名为《嵌人式 FAT32 文件系统设计与实现一-基于振南znFAT》,如图 18.1 所示。


图 18.1 《嵌入式 FAT32 文件系统设计与实现———基于振南 znFAT 》一书效果图

如果本章让你对单片机上的 FAT32 文件系统或振南的 nFAT 产生了兴趣那请移步图书馆、书店或者电商平台。看看振南的生意经,如意算盘。

“znFAT?没听说过呀!它到底是什么?振南,胖子?”严肃··.···严肃一点!它是由振南花费近 5 年时间原创开发、精简高效而又易于移植、已得到广泛流传、验证与应用的一套完备的嵌人式 FAT32 文件系统方案

“不明白,它到底有什么用?”

“很有用!”

如果你想用单片机去读取 SD 卡或 U 盘等存储设备中的 MP3 文件来实现音频播放或者想把采集到的数据通过单片机直接存为文件,再或者······那么你就无法避免地产生了在嵌入式平台上对文件进行读/写的功能需求。此时,就是 znFAT“大显身手”的时候了!znFAT 并非一个标新立异的东西,它绝大部分与现行的微软 FAT32 文件系统高度兼容这意味着它可实现与 Windows Linux 等主流操作系统之间的文件无界互通。znFAT 因其独特的嵌入式应用背景与功能需求,在设计与实现上都引入了大量的创新思想与技术,其中所流露出来的各种开发技巧对于广大工程师来说更是一笔巨大的精神与知识财富。

明白 znFAT 是什么了?0K,那赶紧买书去吧!(这是本书最具广告色彩的开篇了。原谅振南,我不是商人,知识是无价的。)

1

znFAT 的起源

1.1 源于论坛


2006 和 2007 年是我泡坛最多的两年,主要是因为当时在学校我有比较多的时间。当时有几个比较大的电子技术论坛,比如 211C ourAVR,EDNChina elecfans,EEWorld、CEPark等等。我在上面收获了大量的知识,增长了很多见识,这也是造就我现在似乎懂得很多的原因,也才有了本书中所囊括的众多知识。

当时 DIY MP3 播放器比较火,围绕 VS1003 这颗 MP3 解码片很多网友都在论坛里晒出了自己的作品,SD卡 MP3、U 盘 MP3 等,如图 18.2 所示。


图 18.2 网友发布到论坛的 DIY MP3 播放器作品

我对 DIY MP3 也很感兴趣,按照我的性格,感兴趣就要马上行动,等不了。我画了 PCB采购了元器件,焊出了我自己的 MP3 播放器,如图 183 所示

同很多的电子产品一样MP3 播放器硬件好办,主要难点在软件。

为了简单,我起初是直接将 MP3 音频数据固化在单片机的内部 ROM 中,然后写VS1003,即完成 MP3 播放。但是这也只能播放十几秒钟而已,因为内部 ROM 容量不会太大。(当然,现在很多高档单片机内部 ROM 容量都已经上兆了,存一首完整的 MP3 还是足够的。)


图 18.3 当时振南 DIY 的 MP3 播放器

“MP3 文件是怎么固化到单片机中的呢?数组?还是直接烧录?”这里有一些专门的软件,可以看振南关于 znFAT 的书,有详细的讲解。(这本书就是以 MP3 播放器开篇的。)接下来就是要读取 SD卡,实现真正的 SD 卡 MP3 播放器。但是当时我对如何读取 SD 卡中的文件还是一头雾水。

1.2 硬盘 MP3 推了我一把


有一天,我在系里闲逛,来到科协办公室,看到科协主席在摆弄一台电子设备,如图 18.4所示。


图 18.4 “坤哥”的硬盘 MP3 播放器

我好奇地上去问:“坤哥,你这是啥?”

“这是一台硬盘 MP3 播放器。”

“你也开始搞硬件了?”

“学习,学习一下。这是别人的。”

“读取文件怎么搞呢?我要是能做一台硬盘 MP3 多好啊。”我心里想

就这样,硬盘 MP3 推了我一把,让我对存储设备和文件读取更加感兴趣了。接下来,历时5、6 年的研究、创作、推广,写书就此开始。(我性格有一个特点,总想看看一件事情最终是个什么结果,所以我手上很少有事情烂尾,不论成败。而且凡事都乐于深究,导致很多时候都不能自拔。

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


2007 年我已经开始读研究生了,对于文件系统的研究热度丝毫未减。研究生的生活其实并不清闲。总共两年半,研一课多,后面主要是学习和实习,还有一个重头戏一--写论文。我在考虑一个问题:能不能把文件系统就定为我的研究方向,这样就一举两得了。但是这得需要导师的同意。

我觉得在这里我有必要详细介绍一下我的导师一-顾国昌教授。他虽然不像我们学校的院士那么有名,比如哈尔滨工程大学的杨士我院士、杨德森院士等(他们都是水声方面的专家,前者是水声专业的奠基人)。但是他在机器人控制和人工智能方面是绝对的资深专家。以下是顾国昌教授的简介.

个人经历:

男,1946 年4月出生,教授,博士生导师。1967 年毕业于中国人民解放军军事工程学院(即现在的哈尔滨工程大学)计算机专业,1985~1987 年公派赴法国巴黎居里大学学习机器人控制技术,获博士文凭。此后长期从事智能控制、智能机器人和机器人智能技术的研究,在水下机器人的智能决策和控制技术方面开展了深入的研究工作。

研究内容:

包括智能机器人软硬件体系结构、任务规划、路径规划、自主作业技术及智能水下机器人的工程化和实用化研究等方面,研究的技术涉及规划方法、机器学习、计算智能、数据融合、嵌人式机器人智能控制系统和计算机仿真等领域。

个人成就:

主持或作为技术负责人完成了国防科工委的“八五”,“九五”重点预研项目以及国防科工委的国防预研基金等项目,先后获国家科技进步二等奖 1 项,国防科工委科学技术一等奖 1项,中船总公司科技进步一等奖 1项、二等奖2项,获中船总公司有突出贡献的中青年专家称号。近期还从事嵌入式系统与 SoC 的研究,涉及微控制器芯片、编译器、嵌人式应用系统开发及网络存储等内容。发表论文 100 多篇,有 30 多篇次被 SCIEIISTP 收录

这篇关于振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596117

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m