打印

DIY U盘项目之 文件系统

[复制链接]
6884|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
walnutcy|  楼主 | 2009-2-19 23:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

原文地址在:DIY U盘项目之 文件系统 


刚刚写完,赶紧在这里贴出来,呵呵

在上一篇,我们已经完成了串口控制台,可以实现命令的输入,回显执行等。
这里又在此基础上添加了软件模拟SPI,以及AT45DB161的驱动。
(这一部分是直接使用古道热肠提供的UDisk中的代码,省却了一部分工作)
目前已实现AT45DB161里的Fat文件系统识别及文件读取,不过SD卡还有一些问题,我这边感觉卡槽很松,初始化不成功,连SD卡都找不到。手头有板的兄弟可以帮忙试试,输emount命令看efsl初始化SD卡会不会成功即可。成功的话,测试一下els,看看能不能列出当前目录,
把diskio.c中的宏: #define AT45DB161_FS_TEST   1
更改为0,即可用fatfs读取SD卡,使用流程是,先mount,再ls,
下图为我这用fatfs读取at45db161里的fat系统,

注:(AT45里的fat系统是我测试udisk工程时用PC机格式化得到的,并在里边放了一个文本文件)
[/url] 
软件的目录结构如下图所示:

source目录里存放的是控制台及spi驱动的代码,
efsl里存放的是efsl文件系统的源码,FatFS里存放的是FatFS的源代码,
(之前关注过青藤门客播报站的兄弟一定看到过这两个源码包,有提供过下载)
这里不再多讲其具体内容,不过计划后期再写一个关于文件系统的基本数据介绍,其实也即Fat文件系统的标准规范里的内容。
点这里下载工程源码包:[url=http://space.**/upload/2009/2/19/b8e9785f-6861-4aa7-9574-83c70271070b.rar]

相关帖子

沙发
walnutcy|  楼主 | 2009-2-19 23:18 | 只看该作者

沙发自己占

AT45里的那个LOG.TXT就是老古之前提供的udisk里的那个《LOG.TXT》

使用特权

评论回复
板凳
古道热肠| | 2009-2-20 11:39 | 只看该作者

您读SD卡时,硬件要跳线,AT45DB161D和SD卡为二选一

先把开发板上的跳线跳到SD卡有效状态,再用我的SD测试程序测试一下,看看读取SD卡扇区是否正常.
发货时默认跳到AD45DB161D有效.

使用特权

评论回复
地板
walnutcy|  楼主 | 2009-2-20 20:08 | 只看该作者

老古,你太小瞧我了,

这些我都试过了,

你的原理图和板我应用到的部分都自己量过,家里只有一个万用表,

没示波器和逻辑分析仪, 没法抓波形,

你的那个程序我试过了, 也读不出,  

你可以把软件写到你的板子上试下,

使用特权

评论回复
5
古道热肠| | 2009-2-21 10:09 | 只看该作者

用仿真器跟踪一下吧.

看看初始化SD卡在那1步出错,根据错误号再判定BUG在哪.
有仿真器外带1个万用表,能搞定80%故障.

使用特权

评论回复
6
古道热肠| | 2009-2-21 10:42 | 只看该作者

编译了一下,顺利通过.果然大手笔,占用28k程序空间

哈哈,跟着walnutcy学Efs,做walnutcy粉丝。

使用特权

评论回复
7
walnutcy|  楼主 | 2009-2-22 12:25 | 只看该作者

那个fatfs也不错的,好多网友把它用到项目里了,

使用特权

评论回复
8
emailli| | 2009-2-26 09:27 | 只看该作者

LZ可以尝试看看是否SD卡兼容性不好导致

用一个品牌的SD卡试试

使用特权

评论回复
9
wswh2o| | 2009-2-26 09:59 | 只看该作者

不错

咱两的应该整合起来

使用特权

评论回复
10
chenglcd| | 2009-2-26 23:06 | 只看该作者

请教问题!

1。在编辑程序是用的软件是哪个啊?
2.程序编译成BIN时又是用哪个软件呢?
3.程序是通过串口在线烧录到FLASH里面吗?
4。在线烧录软件是哪个啊?
5。没有仿真器可以玩吧?
其实就一句话:怎样由源文件生成BIN文件,再把BIN烧到板上,以及注意事项。

今天收到了 古道热肠 大侠寄来零件,在此表示热烈的感谢!零件都焊好了,改天上个图给大伙看看!现在急着验证我焊的板子呢!
  
   我一直从事硬件工作,对软件不通,想学!还望大侠多多指教啊!

使用特权

评论回复
11
古道热肠| | 2009-2-27 11:18 | 只看该作者

回楼上

1.编译调试用的是MDK3.1X ,英蓓特的网站上有评做版下载
2.HEX转换成Bin可以用很多工具软件实现,比如HexBin.exe
3.程序可通过串口或USB口下载到芯片的Flash中
4.在线烧录软件是BA
5.没有仿真器可以玩,用IDE的软件仿真功能调试,调试完成后生成BIN文件下载到开发板中验证功能即可.有问题或异常再改源程序,再验证.

哈哈,看来得尽快拿出一个简明操作手册了.俺这就去整理吧,不能灌水了.

使用特权

评论回复
12
walnutcy|  楼主 | 2009-2-28 15:41 | 只看该作者

呵呵,要做一个基本的扫盲教程,

使用特权

评论回复
13
walnutcy|  楼主 | 2009-2-28 15:42 | 只看该作者

另:我用的是sandisk的卡,

使用特权

评论回复
14
chenglcd| | 2009-3-2 19:31 | 只看该作者

程序可通过串口或USB口下载到芯片的Flash中

程序可通过串口或USB口下载到芯片的Flash中,
应该是用专门的软件吧,是BA吗?有全称吗?我GOOGLE不到呢?

使用特权

评论回复
15
walnutcy|  楼主 | 2009-3-2 22:12 | 只看该作者

LS的为什么不去我的博客看看呢?《初识AT91SAM7S64芯片》

使用特权

评论回复
16
chenglcd| | 2009-3-3 19:58 | 只看该作者

这样啊

原来:
SAM-BA 全称: SAM - Boot Assistant (SAM-BA?)

使用特权

评论回复
17
wswh2o| | 2009-3-14 22:52 | 只看该作者

怎么格式化???

不格式化啥也用不了,udisk在哪也没找到

使用特权

评论回复
18
宇宙飞船| | 2009-3-15 18:54 | 只看该作者

好热闹!

使用特权

评论回复
19
mon51| | 2009-4-18 23:16 | 只看该作者

文件加密了,密码是多少?

使用特权

评论回复
20
古道热肠| | 2009-4-19 10:39 | 只看该作者

印象中密码是楼主的ID,walnutcy

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

1443

帖子

5

粉丝