微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > + fatfs移植的注意事项

+ fatfs移植的注意事项

时间:10-02 整理:3721RD 点击:
经过差不多一周的努力,fatfs基本上算是移植完了,其中少不了好多坑。现把其中的一些要点分享一下。代码一定是上传的,可是今天网移完,代码真是乱得没法看,等我整理好了再上传吧。
一、StarterWare里的坑
若是你安装了StarterWare,或在官方的例程中,你可以在以下目录看到fatfs的一个文件夹。
X:\ti\C6748_StarterWare_1_20_04_01\third_party\fatfs
当时就以为fatfs有移植好的fatfs就一如既往的想用里面的文件。里面也有,就是port文件夹中有个fat_mmcsd.c的文件,里面的程序就与diskio.c(这里在STM32移植时自己按教程写的文件)的内容一样一样的。但在两个头文件找不到。

  1. #include "mmcsd_proto.h"
  2. #include "mmcsdlib.h"

复制代码


后得到网友“电子微创意”的帮助,找到了这两个文件和相应的c文件,原来这两个文件是Am335x中的mmcsd的文件,所以就想改成c6748上的,最后发现文件中就用的所有宏定义全是am335x的。


再看AM335x的手册 上


完全就是AM335x的嘛 ,与C6748不一样的。于是就认死理,一个一个寄存器 的改,改到一半就放弃了。太麻烦。
有想移植 的放弃这条路吧。
二、其他方案
若是对sysbios还算熟悉的,可以用sysbios里的例程,是可以用的。但是找不到原码,也应该不是fatfs,因为里面调用的函数与fatfs的不同。
三、我的方案
后来在官方的程序里找到了MMCSD的例子。里面有SD卡的一些操作函数,但是不是读写扇区的,而是按字节读写的,也有初始化函数,虽然在编译时有几个警告,但是可以用,我就是基于这个例子移植的。
fatfs移植时最主要的几个函数就是自己写的一个底层外设与fatfs连接的这几个函数,一般放在diskio.c文件中。
扇区的读写两个函数,SD的初始化函数是最主要的三个函数。
读写函数可以根据MMCSD例程里的读写函数改一下。初始化函数在MMCSD中也是用的。
最后分享一下移植的最后结果,在SD卡中新建了一个MYFATFS的TXT文件。



最后,源代码稍后奉上。

期待小编上源码,也跟着玩玩SD卡

小编的源码可以发上来么,最近在调这个,一直调不通。十分感谢啊!

期待小编的代码

期待小编上源码

期待小编上源码1

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top