《嵌入式FAT32文件系统设计与实现 基于振南znFAT 下》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:于振南编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2014
  • ISBN:9787512415102
  • 页数:246 页
图书介绍:存储设备在嵌入式系统中所处的地位和所起的作用不言而喻,是绝对不可或缺的重要部分。早期的存储设备,如eeprom、flashrom等,通常在产品或系统中记录着一些重要的数据和信息。因其数据量不大,所以数据的组织与管理工作尚不构成问题。随着存储设备的飞速发展,新兴、通用、大容量的存储设备已渐渐占据了主导地位,如SD卡、U盘、硬盘等等。同时,单片机和嵌入式CPU硬件性能的提高也是一日千里,已可满足较为复杂的应用需求。这些新兴而流行的存储设备已逐渐渗入到日益强大的嵌入式平台之中。人们希望通过它们使数据的存储更为通用而方便,并可与PC直接进行数据交互。但是,此时一个非常重要而棘手的问题突显出来:单片机和嵌入式系统中如何来读写这些存储设备上被文件系统(如FAT、EXT2等)所管理和分配的文件和数据?就如同网络通信要遵循TCP/IP这样的主流协议一样,嵌入式存储设备上数据的管理同样要遵循一套协议,这套协议就是所谓的“文件系统”,而FAT就是最为经典而优秀的文件系统方案。

第1章 数据记录,偷梁换柱:使用变通方法实现文件数据存储 1

1.1把SD卡用作一个大容量的ROM 1

1.1.1大ROM思想的提出 1

1.1.2思想的验证:数据采集与记录实验 2

1.2数据“偷梁换柱”——数据替换 5

第2章 更及核心,文件创建:修改FAT表实现文件创建功能 10

2.1文件的创建 10

2.1.1文件目录项的构造 10

2.1.2文件目录项的“落定”:写入目录簇 12

2.2为自己开路:簇链的构造 15

2.2.1目录簇的拓展 15

2.2.2寻找“路石”:空簇的查找 16

2.2.3形同虚设的FSINFO扇区 19

2.2.4簇链构造的实现 22

2.3目录的创建 24

2.3.1目录项的构造 24

2.3.2两个特殊的目录项 25

第3章 数据写入,细微可见:数据写入的实现 28

3.1初步实现 28

3.1.1回顾数据读取 28

3.1.2从开头写数据 29

3.1.3从整簇写数据 32

3.2数据写入的实现 33

3.3数据写入的典型应用 38

3.3.1实例1:数据采集与存储 38

3.3.2实例2:简易数码相机 41

第4章 巧策良方,数据狂飙:独特算法实现数据高速写入 45

4.1迫出硬件性能 45

4.1.1连续多扇区驱动 45

4.1.2多扇区抽象驱动接口 47

4.2为数据作“巢” 48

4.2.1预建簇链思想的提出 48

4.2.2簇链预建的实现 50

4.2.3将多扇区用到极致 55

4.3 CCCB(压缩簇链缓冲) 57

4.3.1 CCCB的提出 57

4.3.2 CCCB的实现 60

4.3.3 CCCB的争抢与独立 63

4.4 EXB(扇区交换缓冲) 64

4.4.1 EXB的提出 64

4.4.2 EXB的实现 65

第5章 模式变换,百花争艳:znFAT与其他FAT的全面PK 67

5.1登顶效率之峰 67

5.2与强者竞速 68

5.2.1国内外优秀FAT方案简介 69

5.2.2速度的“较量” 71

5.3 znFAT的工作模式 74

5.3.1缓冲工作模式 74

5.3.2自身模式较量 75

5.4 znFAT的功能裁减 78

5.4.1功能裁减宏 78

5.4.2裁减宏的嵌套 79

第6章 创新功能,思维拓展:多元化功能特性与数据重定向的实现 81

6.1多元化文件操作 81

6.1.1多文件 81

6.1.2多设备 82

6.2数据重定向 87

6.2.1数据重定向的提出 87

6.2.2数据重定向的实现 88

6.2.3数据重定向实现MP3播放 89

第7章 层递删截,通盘格空:文件、目录的删除及磁盘格式化 91

7.1文件数据的倾倒 91

7.1.1何为数据倾倒 91

7.1.2数据倾倒的实现 92

7.2文件的删除 95

7.2.1文件删除的实质 95

7.2.2文件删除的实现 97

7.3目录的删除 99

7.3.1目录删除的难处 99

7.3.2目录删除的实现 100

7.4格式化 101

7.4.1格式化的内涵 101

7.4.2格式化的核心工作 101

7.4.3格式化的实现 105

第8章 突破短名,搞定长名:突破8.3短名限制,全面地实现长文件名 110

8.1 FAT32的长文件名 110

8.1.1何为长文件名 110

8.1.2长文件名的存储机理 111

8.2 UNICODE编码 113

8.2.1“各自为战”的DBCS 113

8.2.2 UNICODE带来的问题 115

8.2.3编码转换的实现 116

8.2.4长名的提取与匹配 120

8.3长名的核心是短名 121

8.3.1微软长名专利风波 121

8.3.2长短名的绑定 122

8.3.3用长名打开文件 123

8.3.4创建长名文件 125

第9章 青涩果实,缤纷再现:套书的第二个实验专题 131

9.1数据采集导入EXCEL 131

9.2串口文件“窃取器” 134

9.3录音笔 136

9.4简易数码相机(51) 139

9.5简易数码录像机(AVR) 141

9.6简易数码录像机升级版(STM32直接录制AVI视频) 144

9.7文件无线传输实验 147

9.8嵌入式脚本程序解释器 150

9.9 AVI视频播放器 152

9.10绘图板实验——基于STM32F4 154

9.11MEMS声音传感器录音实验 158

9.12各种CPU上的实例汇总(基于第三方实验平台) 161

第10章 存储设备,闪存解惑:主流存储设备及闪存技术详解 173

10.1当前主流存储设备 173

10.1.1主流存储设备简介 174

10.1.2嵌入式存储设备 177

10.2 FlashROM上的文件系统 179

10.2.1 FTL 180

10.2.2 NFTL 180

第11章 物理驱动,深入剖析:SD卡物理驱动 183

11.1SD卡的接口与电路 183

11.1.1 SD卡的接口 183

11.1.2 SD卡的电路 184

11.2振南SD卡驱动移植与测试 185

11.2.1振南SD卡驱动简介 185

11.2.2振南SD卡驱动移植 185

11.2.3 SD卡驱动测试 187

11.3 SD卡驱动原理 188

11.3.1通信与命令 188

11.3.2 SD卡的初始化 191

11.3.3 SD卡的单扇区读/写 194

11.3.4 SD卡的多扇区读/写擦除 195

第12章 性能提升,底层限制:高性能SD卡物理驱动 197

12.1现有SD卡驱动的性能评估 197

12.2用DMA为数据传输提速 202

12.3高性能SD卡驱动的实现 206

附录A完整工程实例之SD卡MP3播放器 211

附录B完整工程实例之数码录像机(相机) 218

附录C主流CPU内核及其典型芯片简介(znFAT移植平台) 227

附录D答网友问 233

附录E我的大学系列 238

参考文献 246