fatfs专题

【转载】FATFS函数之——f_open f_read

FATFS函数之——f_open & f_read 刚开始使用f_read和f_write时发现read/write老是出错,仔细查看源码发现,原来f_open文件时需要指定open 方式,这些个方式影响了后面的文件操作。 f_open函数声明如下:   FRESULT f_open ( FIL* fp, /* [OUT] Pointer to the file object stru

【转载】TM32学习笔记之fatfs文件系统接口函数使用

FatFS文件系统包含了文件 ff.h         :文件系统实现头文件,定义有文件系统所需的数据结构 diskio.h  :底层驱动头文件,就一些状态宏的定义和底层驱动函数的申明 integer.h:仅实现数据类型重定义,增加系统的可移植性 ffconf.h :文件系统配置 ff.c  :文件系统实现。 diskio.c 底层驱动   FatFs 提供下面的函数API: f

【转载】FatFS f_open()函数详解

f_open 创建/打开一个用于访问文件的文件对象 FRESULT f_open (  FIL* FileObject,         /* 空白文件对象结构指针 */  const XCHAR* FileName,   /* 文件名指针 */  BYTE ModeFlags           /* 模式标志 */ ); 参数 FileObject 将被创建的文件对象结构的指针。 FileNa

正点原子f407使用cubemx创建 fatfs的一些bug记录

设置时钟频率  设置SDIO       设置fatfs       设置串口  设置DBUG   生成CubeIDE 这个坑爹东西,默认选了4B,4B会报错,需要在这里设置成1B才行!   main函数  添加一下printf重定向到串口 // 重定向print startint __io_putchar(int ch){while ((USART1->S

LVGL配置FatFs文件系统,实现对STM32的SD卡数据读写

0、前言         在前面两篇博客文章中,已经介绍了如何将LVGL移植到STM32平台和如何将FatFs R0.15文件系统移植到STM32上,因此本文对这些内容将不再重复讲解。如需下载对应的工程文件,请进入对应的文章,即可找到对应的资源下载包。         LVGL移植到STM32 MCU平台详细经验笔记教程_lvgl移植stm32-CSDN博客         FatFs R0

新版STM32CubeMX的FatFs中间件访问SD卡失败的解决笔记

关键字 STM32CubeMX Ver5.6.0、FatFs R0.12c、STM32Cube库、没有使用FreeRTOS、f_open函数返回错误、ioc、Platform Settings 问题的提出     在给IoT网关和复杂节点制作IoT开发框架时,打算把FatFs中间件加入到开发框架中,却发现老是在f_mount或f_open函数中出错,但FatFs的设置反复检查都没错,唯一就是

上位机图像处理和嵌入式模块部署(f407 mcu中tf卡读写和fatfs挂载)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】            很早之前,个人对tf卡并不是很重视,觉得它就是一个存储工具而已。后来在移植v3s芯片的时候,才发现很多的soc其实是支持tf卡启动的,大家可以直接基于tf卡开发uboot、dts、kernel和rootfs,很是方便。不仅如此,大部分mcu也是支持tf卡,因为tf卡主要

STM32F407ZGT6 fatfs出现挂载成功,但是文件读写失败的原因

使用正点原子的板子f407,使用野火代码参考博客 2021-07-25 野火板子25MHz晶振改为正点原子8MH晶振_Car12-CSDN博客 参考源码 修复了野火的bug,使用cubemx初始化代码STM32F407ZGT6.zip-嵌入式文档类资源-CSDN下载 主题开始 fatfs 出现挂载成功,但是文件读写失败的原因可能 原因1: 是文件系统损坏,需要在首次挂载文件系统以后重新格

基于stm32的USB虚拟U盘+FATFS+W25Q64

基于stm32的USB虚拟U盘+FATFS+W25Q64 本文目标:基于stm32的USB虚拟U盘+FATFS+W25Q64 按照本文的描述,简单跑通USB的MSC类来进行简单交互。 先决条件:拥有C语言基础,装有编译和集成的开发环境,比如:Keil uVision5 使用外设:USB、USART1、GPIO、SPI1 HAL库版本:STM32F4xx HAL Driver versio

STM32移植fatfs(R0.10a版本)

关于STM32单片机移植FATFS。 使用单片机的朋友都知道单片机一般提供的ROM和RAM都比较小。就算是STM32这样的提供256KB flash和64KB RAM的。一旦你需要存一些数据量比较大的文件的时候还是不够用的。一般可以通过外扩SD和nand flash来实现大容量存储。相对来说SD卡的使用更加方便一些。使用过nand flash的也许会知道nand flash有坏块,使用的时候需要做

windows平台模拟测试FATFS

由于项目中需要从SD卡中读取文件,为了方便操作,需要移植文件系统,源码比较容易获取的两个文件系统为FATFS和znFAT,看了一下FatFS文旦比较丰富,同时接口清晰,所以优先选择FatFS进行测试,这样在了解FatFS移植的关键点后再移植到STM32平台会比较有把握,网上也有windows平台移植文件系统的Demo,但是大家要么直接读写本机的磁盘,要么读写U盘,本人不建议这么弄,要是程序有问题把

020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试

020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试 上节学习了FatFs文件系统的相关知识,这节内容继续学习在STM32上如何移植FatFs文件系统,并且实现文件的创建、读、写与删除等功能。各位看官觉得还行的话点点赞,收藏一下呗。 一、FatFs文件系统移植 移植还是在之前学习过程中一直之用的模板,一点点的在自建的工程上逐步完善整个STM32的板级支持包。 1、移

基于FatFs文件系统操作MX25L25635 应用于STM32L152单片机上

第一次做低功耗项目,所以选用了这块STM32L1系列单片机。感觉它在低功耗上面确实很不错,不过牺牲了高主频的条件,嗯那也是情理之中,不可能主频又高功耗又低是吧。项目需要储存数据,那时第一个会想到SD卡,于是选择贴片式的SD卡(国内有代理),然而第一版硬件调试过程中发现3.4V供电 电流达到50ms,我想这样不行功耗那么高,于是一部分一部分去除,后来发现这个贴片式的SD卡静态下也需要大概40ms左右

FatFs检测并建立多层目录并更改文件名

FatFs检测文件路径是否存在,不存在就建立多层目录,最后更改文件名 if(W_Dresult==FR_OK) { wifi_dp_wav_file_status=0;start_downloading=0;/*************************************遍历创建文件夹************************************

CubeMx+SDIO+Fatfs 无法挂载或初始化失败问题

STM32CubeMx,硬件选择SDIO接口和FatFS文件系统然后生成的代码,文件系统挂载失败。 调试发现1: 提示 BSP_SD_Init() 中的  HAL_SD_ConfigWideBusOperation(&hsd, SDIO_BUS_WIDE_4B) 初始化失败。 调试发现2:Cubemx生成的代码,总线宽度参数错误,正确应该是SDIO_BUS_WIDE_1B(修改后正

STM32CbueMX之SPI_FLASH + FATFS + USB MSC + 虚拟扩容

前言: 做一个在spi flash 上挂一个文件系统,然后板子用USB线连接电脑能识别读出spi flash上的文件。 背景: 因为spi flash容量比较小,我使用的是32MB的,插上电脑,感觉不好看,显示容量太小了。 所以我打算虚拟扩容一下变成1GB,但是实际可用的还是32MB。把电脑的写权限取消,只读。 fatfs调用写函数 FRESULT f_write (     FI

STM32CbueMX之Fatfs移植到SPI_Flash

我使用的是SPI_Flash芯片是W25Q256,兼容MX25L256。驱动程序在STM32CbueMX之W25Q256_sudaroot的博客-CSDN博客_w25q256驱动 STM32CubeMX配置图: 解释一下选项: 1、支持中文简体编码格式就没什么好说的。 2、缓存工作区为什么放在栈?其实fatfs提供了三个选项:BSS,STACK , HEAP,根据个人情

STM32CubeIDE FATFS文件系统隐藏文件

隐藏文件:电脑勾选隐藏项还能看到 f_chmod("0:systemparameter.config", AM_HID, AM_HID); 隐藏系统文件:电脑勾选隐藏项都看不到了,只有文件系统f_open可读写 f_chmod("0:systemparameter.config", AM_HID|AM_SYS, AM_HID|AM_SYS); 全篇完。 本人是一个嵌入式未入门

FATFS学习笔记——FATFS写文件的两种方式

1.以hex文件直接写: 适用于需要保存比较大的数据时,无需进行格式化处理,直接保存文件 FIL file;FRESULT res;UINT bytes_written;// 创建文件res = f_open(&file, "0:/FATFS/TestData.txt", FA_CREATE_ALWAYS | FA_WRITE);if (res != FR_OK) {printf("F

升级 FATFS 笔记

最近有朋友希望 AWTK demo 中的 FATFS 能升级到最新版本,在升级的过程中遇到一些小问题,这里做个记录。 1. 升级 FATFS 从官网下载最新代码。更新下面的文件到AWTK项目中: ff.cff.hffsystem.cffunicode.c 下面的文件不需要更新: diskio.cdiskio.hffconf.h 2. 问题处理 2.1 出现错误 FF_DIR 没有定义

玩玩 STM32F103+lvgl+Fatfs+SD 视频播放

最近偶然看到B站bad apple的视频, 是基于stm32单片机的,心血来潮自己也来弄了一个车模小视频,哈哈。。。 stm32f103_lvgl_sd_video_bin   和bad apple的播放原理一样,视频其实就是一张张小图片,保存为.bin二进制文件格式,放在SDcard里面,通过stm单片机读取SD的bin文件,再显示在TFT上面。 第一步,截取视频图片。 截取视

基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制(三)SD卡驱动、FatFS等的移植和ini配置文件读取的实现

本文实现了基于STM32F107VC的金牛开发板的基于SPI模式的SD卡驱动和FatFS的移植,以及利用minini库对ini配置信息文件进行读取。 因为后面连接网络需要相关配置参数,而且可能随时发生变化,这些参数不可能固定在程序中,所以,我们现在把它放在sd卡中,以便随时更改。 IDE环境为: MDK v5.23 硬件环境:基于STM32F107VC的金牛开发板 一、添加SD卡驱动代码、

STM32CubeMX教程29 USB_HOST - 使用FatFs文件系统读写U盘

目录 1、准备材料 2、实验目标 3、USB概述 3.1、USB协议 3.2、USB设备 3.3、USB接口 3.4、硬件原理 4、实验流程 4.0、前提知识 4.1、CubeMX相关配置 4.1.0、工程基本配置 4.1.1、时钟树配置 4.1.2、外设参数配置 4.1.3、外设中断配置 4.2、生成代码 4.2.0、配置Project Manager页面 4.

振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)

注解目录 1、znFAT 的起源 1.1 源于论坛 (那是一个论坛文化兴盛的年代。网友 DIY SDMP3 播放器激起了我的兴趣。) 1.2 硬盘 MP3 推了我一把 (“坤哥”的硬盘 MP3 播放器,让我深陷 FAT 文件系统不能自拔。) 1.3 我的导师——顾国昌教授 (哈军工时期的老教授,德高望重的人生导师。) 1.4 我的母校——哈工程 (隐藏牛校哈工程,网络名嘴张雪峰所

二、串行FLASH文件系统FatFs移植

经过上一节的分析,我们对文件系统有一定的理解了,这一节给大家介绍怎么把FatFs文件系统的这些代码移植到STM32S上,然后STM32利用这一些代码或者函数,以文件的格式对FLASH进行读写数据。 实则对diskio.c提供一些函数接口。 首先将 ff11a\src文件夹拷贝至user底下,重命名为fatFs,以方便我们后续操作         移植文件系统主要就是实现底层disk函数

【转载自amobbs IDzhcj66】FATFS读取数据问题

f_mount(0, &fs); //将文件系统设置到0区 if (f_opendir(&dirs, (const TCHAR*)”0:/Song”) == FR_OK) //读取该磁盘的根目录 { while (f_readdir(&dirs, &finfo) == FR_OK) //循环依次读取文件名{ if(!finfo.fname[0])