关于fatfs初始化
来源:互联网 发布:青岛网络内链优化 编辑:程序博客网 时间:2024/06/01 07:50
最近看了SD卡和fatfs相关的一些东西。 在不上文件系统的时候,我们读写扇区,程序一开始是要初始化SD卡,然后再进行读写扇区操作。 然后移植了fatfs文件系统以后,我们程序最开始只调用f_mount(0,&fs)然后就可以直接调用fatfs的API进行对SD卡的操作 (ps:sd卡到底是在那里初始化的呢)
然后查找了一下SD_Init() 这个函数在我们一直的时候,以及在disk_initialize()磁盘初始化的时候调用,但是发现f_mount(0,&fs)中并没有调用disk_initialize()这个函数。。。。。。
于是继续查找,发现调用这个disk_initialize()的函数有三个地方地方,其中chk_mounted()这个函数是被调用的最多的(此函数调用了disk_initialize());
然后在f_read() f_write()等等很多操作的函数都调用了chk_mounted();
这样再看初始化,于是有了 f_mount()开辟了一个磁盘区域,然后调用其他操作的时候,就初始化了SD卡!
到这里就看明白为啥不初始化SD卡(ps:其实在操作的时候才初始化)。
但是有个疑问,为什么每次调用一次f_read等操作都要初始化一次????为什么不直接在开辟磁盘的时候初始化,后面就不用每次都初始化了???? 暂时没想明白为啥要这样。。。。
在后面的测试中,发现了一个比较郁闷的事情: 我单独测试SD卡的写操作,定时器每隔100ms触发一次SD卡写操作,每次SD卡写入10KByte 用时大概10ms左右 然而测试过程中,发现正常情况都是10ms左右完成写入,但是偶尔会有一次用时很长,大概100多ms 没有发现特定的规律。。。 找了一下原因,没找出来 不知道是驱动原因,还是SD卡物理层本身的原因。。。。。。。。 (目前未解之谜,呵呵)
- 关于fatfs初始化
- FATFS
- FatFs
- FatFs
- FATFS
- FatFs
- 关于SPI FLASH , SD卡 和 FatFs
- 关于初始化
- 关于初始化
- 关于初始化
- 关于初始化
- FATFS函数
- FatFS文件系统
- FatFs学习
- FATFS学习
- FatFS文件系统
- FATFS简介
- FatFs 说明
- HDU 1556 Color the ball ( 线段树+普通数组+树状数组)
- CListCtrl样式设置
- POJ 2429 GCD & LCM Inverse Pollard_rho大数因子分解
- ubantu的网络禁用
- 深入理解C++中的mutable关键字
- 关于fatfs初始化
- 如何不用密码 ssh登陆服务器
- 产品技术框架的设计原则
- eclipse导出doc,文件夹为空
- 程序员面试智力题(六)
- BUILD THE SYSTEM
- Facebook背后的开源力量
- codeforces 143B Help Kingdom of Far Far Away 2
- net.sourceforge.jtds.jdbc.ResponseStream.getPacket locked