参考博客:

https://blog.csdn.net/husipeng86/article/details/52262070

参考上述博客中的程序,报错:ERROR : f_write returned 1写失败,又参考了以下博客:

https://blog.csdn.net/fanwenjieok/article/details/37693625

将原博客中f_open函数中用的标志由FA_CHACK_ALWAYS | FA_WRITE 改为  FA_OPEN_ALWAYS | FA_WRITE

程序如下:

#include <string.h>
#include "platform.h"
#include "xparameters.h"#include "xil_printf.h"
#include "ff.h"
#include "xdevcfg.h"static FATFS fatfs;int SD_Init()
{FRESULT rc;rc = f_mount(&fatfs,"",0);if(rc){xil_printf("ERROR : f_mount returned %d\r\n",rc);return XST_FAILURE;}return XST_SUCCESS;
}int SD_Transfer_read(char *FileName,u32 DestinationAddress,u32 ByteLength)
{FIL fil;FRESULT rc;UINT br;rc = f_open(&fil,FileName,FA_READ);if(rc){xil_printf("ERROR : f_open returned %d\r\n",rc);return XST_FAILURE;}rc = f_lseek(&fil, 0);if(rc){xil_printf("ERROR : f_lseek returned %d\r\n",rc);return XST_FAILURE;}rc = f_read(&fil, (void*)DestinationAddress,ByteLength,&br);if(rc){xil_printf("ERROR : f_read returned %d\r\n",rc);return XST_FAILURE;}rc = f_close(&fil);if(rc){xil_printf(" ERROR : f_close returned %d\r\n", rc);return XST_FAILURE;}return XST_SUCCESS;
}int SD_Transfer_write(char *FileName,u32 SourceAddress,u32 ByteLength)
{FIL fil;FRESULT rc;UINT bw;rc = f_open(&fil,FileName,FA_OPEN_ALWAYS | FA_WRITE);if(rc){xil_printf("ERROR : f_open returned %d\r\n",rc);return XST_FAILURE;}rc = f_lseek(&fil, 0);if(rc){xil_printf("ERROR : f_lseek returned %d\r\n",rc);return XST_FAILURE;}rc = f_write(&fil,(void*) SourceAddress,ByteLength,&bw);if(rc){xil_printf("ERROR : f_write returned %d\r\n", rc);return XST_FAILURE;}rc = f_close(&fil);if(rc){xil_printf("ERROR : f_close returned %d\r\n",rc);return XST_FAILURE;}return XST_SUCCESS;
}#define FILE "test.txt"int main()
{init_platform();const char src_str[] = "hsp test sd card write and read!";u32 len = strlen(src_str);SD_Init();SD_Transfer_write(FILE,(u32)src_str,(len+1000));//当直接指定len时没有写出,需要指定较大的长度才会写出,原因未知char dest_str[33];//len<=33SD_Init();SD_Transfer_read(FILE,(u32)dest_str,(len+1));xil_printf("%s\r\n",dest_str);print("SD write and read over!\r\n");cleanup_platform();return 0;
}

上述程序可以把字符串写入SD卡的文档中,也可以读出,但还有一个错误,但不知道什么原因造成的!!!!!

另外可参考链接:

http://elm-chan.org/fsw/ff/00index_e.html

https://blog.csdn.net/mcupro/article/details/73694460

https://blog.csdn.net/love_ljq/article/details/79117738

zynq7000 SD卡的读写相关推荐

  1. SD卡SPI读写模式,基于51单片机的讲解

    经过验证测试,sd卡使用的spi模式为模式3(mode3),即CPOL和CPHA均为1,时钟线高电平空闲,第二个边沿(上升沿)进行采样. 下面为51单片机软spi读写一个字节时序(模式3)的代码示例, ...

  2. 使用STM32F103ZET霸道主板实现SD卡的读写(非文件系统)

    了解STM32F103ZET是高容量多管脚的芯片 了解SD读写线路图 了解SD的基地址 阅读STM32F10xx英文参考 SDIO那章,我们编写代码边看文档解析 建工程,打开包含所有包括外设库函数的样 ...

  3. 嵌入式Linux磁盘(硬盘、SD卡)读写性能测试

    背景 在Windows下有一些磁盘基准测试工具,用于测试硬盘/SD卡的读写速度,如ATTO Disk Benchmark(注:单词「benchmark」就是基准检查的意思). 上一篇文章「市面常见存储 ...

  4. SPI初始化C语言编程,SD卡spi模式读写,初始化和复位都成功了

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:SD卡spi模式读写,初始化和复位都成功了 问题详情:我用的是内存卡 12M的!有知道是怎么回事的吗?是写入数回答:应该还得格式化, ...

  5. java media_unmount file_(20120801)android文件的读写SD卡总结

    android的SD卡的文件读取操作 首先设置xml文件的权限,和单元测试的代码 package="com.wsl.file_txt" android:versionCode=&q ...

  6. android 6.0 sd卡读写权限,Android 6.0 读写SD卡权限问题

    一.问题描述## Android 6.0 下默认存储SD卡,使用原生FMRadio生成的文件保存到内部存储中 [预置条件]插入T卡[操作步骤]设置>存储设备和USB>选择SD卡为默认存储& ...

  7. android.process.media+sd,android P系统WRITE_MEDIA_STORAGE添加读写SD卡权限

    由于android P 版本google把android.Permission.WRITE_MEDIA_STORAGE中sd卡的读写权限移除了,导致系统文件管理中的文件无法直接复制到SD卡,所以需要把 ...

  8. sdhc 读写 扇区 linux,SD卡读写扇区注意事项(转)

    在调试SD卡时,大家都喜欢使用扇区进行验证.也就是说,一般都是通过读写扇区数据进行比较,或者读取第0扇区的数据,在通过WinHex软件打开启动扇区进行比较.这种方法对于1G的SD卡或部分2G的SD卡可 ...

  9. android 读写sd卡的权限设置

    在Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题. 但是在应用程序执行起来以后,我们可以看到sd ...

最新文章

  1. Oracle 11g 数据类型
  2. SAP RETAIL 寄售模式公司间STO收发货过账后的观察
  3. (无奈之举)2011年01月26号日志
  4. [BZOJ3668][Noi2014]起床困难综合症 贪心
  5. 数据库复习之规范化理论应用(第八次上机内容)
  6. Spark _15 _广播变量和累加器
  7. hiveserver或者hive启动出现Expected authority at index 7问题解决
  8. 学习Java能够从事哪些工作?
  9. 加密托管机构Komainu与英国当局合作存储没收的加密货币
  10. yum源分类:Linux
  11. Ajax解决浏览器的缓存问题
  12. win11如何进行bug反馈 windows11进行bug反馈的步骤方法
  13. PostgreSQL常用查看命令
  14. VMware 10激活码
  15. web前端是干嘛的?你了解Web前端开发工程师吗?
  16. 计算机u口保护,U盘写保护怎么办?
  17. 午夜分享女人的绝对隐私
  18. 大数据行业必须掌握的核心技术
  19. 揭开WebDriver面纱
  20. 北京大学MOOC 程序设计与算法(三)C++面向对象程序设计 期末考试

热门文章

  1. Android学习笔记之MVVM----DataBinding(数据双向绑定)
  2. The driver has not received any packets from the server.
  3. python爬虫urllib模块详解
  4. 人工智能基础课15机器学习-好钢用在刀刃上:降维学习
  5. 摄像头视频采集压缩及传输 1
  6. [原]星际争霸地图显示与网页设计
  7. java前端笔记整理
  8. 中国高速公路行业市场规模及未来发展趋势
  9. SSRF攻击Redis写入webshell
  10. Swift编程权威指南(第2版)pdf