基于ZYNQ的SD卡的访问

参考文献

[1].V3学院

项目简述

现在FPGA板卡上面常用的存储设备是SD卡,也经常将BOOT文件下载到SD卡中启动。那么这篇文章我们将讲解使用API函数来进行SD卡的读写,当然使用纯FPGA写Verilog也是可以读写SD卡,遵循SPI协议,后面的文章我们会进行相应的介绍,这篇文章先来讲解简单的C语言访问SD卡。

工程描述:ZYNQ利用FAT文件系统对SD卡些一张图片。

本次实验所用到的软硬件环境如下:
1、VIVADO 2019.1
2、米联客MZ7015FA开发板

FAT文件架构简述

本片博客我们将利用开源的FAT文件系统架构,介绍及维护这个系统的网址如下:FAT。打开这个网址,我们便可以看到如下信息:
在这里插入图片描述
点开每一个函数都有详细的参数说明及例子:
在这里插入图片描述
在这里插入图片描述
同学们可以主要通过上面的例子进行相应的学习,了解每个函数的功能。这里注意上面的介绍非常详细,尤其是示例工程。

那么学习到这里的同学或许会问,我们明白了上面函数的作用,那么我们如何将上面的系统框架引用到ZYNQ中呢?因为我们直接写相应的FAT中的函数,ZYNQ肯定不会识别的,这里我们将给出详细的操作步骤。
首先右击相应工程的bsp文件,选择Board Support Package Setting
在这里插入图片描述
然后点击相应的xilffs
在这里插入图片描述
然后重新生成相应的bsp文件即可。接下来我们对常用的函数进行简单的介绍:

//挂载的函数
   
   //The f_mount fucntion registers/unregisters filesystem object to the FatFs module.
FRESULT f_mount (
  FATFS*       fs,    /* [IN] Filesystem object */
  const TCHAR* path,  /* [IN] Logical drive number */
  BYTE         opt    /* [IN] Initialization option */
);

//The f_open function opens a file.
FRESULT f_open (
  FIL* fp,           /* [OUT] Pointer to the file object structure */
  const TCHAR* path, /* [IN] File name */
  BYTE mode          /* [IN] Mode flags */
);

//The f_write writes data to a file.
FRESULT f_write (
  FIL* fp,          /* [IN] Pointer to the file object structure */
  const void* buff, /* [IN] Pointer to the data to be written */
  UINT btw,         /* [IN] Number of bytes to write */
  UINT* bw          /* [OUT] Pointer to the variable to return number of bytes written */
);

//The f_read function reads data from a file.
FRESULT f_read (
  FIL* fp,     /* [IN] File object */
  void* buff,  /* [OUT] Buffer to store read data */
  UINT btr,    /* [IN] Number of bytes to read */
  UINT* br     /* [OUT] Number of bytes read */
);


//The f_sync function flushes the cached information of a writing file.
FRESULT f_sync (
  FIL* fp     /* [IN] File object */
);

//The f_close function closes an open file.
FRESULT f_close (
  FIL* fp     /* [IN] Pointer to the file object */
);

这里需要特别注意f_sync函数,是将
至于上面函数中每个参数的作用,同学们可以打开博客中上面的连接进行学习,上面的介绍非常详细。

bmp图像数据格式

bmp图像主要由下面结构组成:
1、文件头结构
2、信息头结构
3、颜色表
4、像素数据
对于bmp格式的24位真彩图,上面的颜色表信息为空,因为24位不需要颜色表的映射。至于每个结构里面具体的信息,我们给出相应的头文件,可以学习上面的注释。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值