Vivado中开发ZYNQ系列芯片,在SDK中进行xilffs文件系统开发遇到的问题解决方法

由于项目的需要,使用了ZYNQ系列的7020芯片进行算法加速设计,算法中需要的数据存储在SD卡中,因此使能了ZYNQ的SD0功能。由于在裸机下进行开发不像具有操作系统那样,直接可以读写文件,因此文件系统的移植是一个很很大的问题,好在查阅相关资料以后发现Xilinx公司竟然提供了文件系统,也就是xilffs,这东西的实质说白了就是FATFS,两者的用法完全一样,甚至连底层读写SD卡的驱动都直接配置好了,瞬间感觉美滋滋,节省了不少时间,而使用也很简单,只需要打开bsp目录下的system.bss文件(默认是打开的),然后点击Modify this BSP’s Settings,在弹出的对话框中把xilffs前面的选项勾上,在点击OK就生成好了FATFS文件系统,包括已经移植好的底层diskio.c。
这里写图片描述
但是操作就很简单了,只要用过FATFS的都知道怎么用了。我用的版本是vivado2015.4,不知道是版本的原因还是BUG,使用xilffs的时候存在一个问题,就是第一次生成的时候一点问题都没有,但是当我第二次重新打开SDK工程的时候发生了下面的问题,提示我f_open等与FATFS相关的函数不存在,也就是 undefined reference to `f_read’ 。
这里写图片描述
我明明定义了,同时函数也能goto到源码里面,我猜想会不会是路径没有添加的原因,又在工程的属性里面添加了头文件路径,发现还是不行。在最后万不得已的情况下,尝试出来一种方法,就是在Project Explorer里面把BSP目录下面的ps7_cortexa9_0/libsrc/xilffs_v3_1直接复制到有main函数的工程里面,这下再也不会出现没有找到定义的错误了,其实我也不清楚为什么第一次没有提示错误,但是第二次就会提示我有错。估计只有把源码复制到对应的工程里面才行吧。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值