- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从STM32Cube库向标准外设库移植FatFs文件系统
从 STM32Cube 库向标准外设库移植
FatFs 文件系统
前言 前言
前言前言
在很多应用中,文件系统被用来在存储介质上进行存储和管理文件数据。FatFs 作为面向小型嵌入式系统的一种通用 FAT 文
件系统,被广泛使用。在 STM32Cube 库中,Middleware 是包含有 FatFs 文件系统的,而且有相关的例程。但是在标准外设
库并没有相关的例程,这使得在使用标准外设库在开发项目中使用文件系统的话,需要自己再移植代码。其实,从
STM32Cube 库向标准外设库移植 FatFs 文件系统很方便,简单实用。下面我们以 STM32F4 系列为例,来介绍一下 SD 卡的
移植。
STM32CubeF4STM32CubeF4 库中库中的的FatFs FatFs
STM32STM32CubeF4CubeF4 库库中中的的FatFsFatFs
大家都知道,进行 FatFs 移植主要就是在 diskio.c 中添加底层驱动代码。在 STM32CubeF4 库中,可以在
\STM32Cube_FW_F4_V1.11.0\Middlewares\Third_Party\FatFs\src 找到 FatFs R0.11 的代码,细心的工程师会发现,里边的
文件与从 FatFs 下载的 FatFs R0.11 不太一样,多了 ff_gen_drv.c 和 ff_gen_drv.h 两个文件,并且多了一个包含多种存储介
质驱动的 driver 文件夹。这是因为 ST 的工程师在 FatFs 的代码中,已经为大家添加了各种存储介质的驱动代码,以方便大家
使用,并使用 ff_gen_drv.c 来进行管理。所以,STM32CubeF4 的 FatFs 中间件模块架构如下:
从架构图可知,在 STM32CubeF4 解决方案中,已经添加额外的接口层,可以动态地添加/删除 FatFs 模块的物理介质。如需
以底层磁盘 I/O 驱动来连接 FatFs 模块,用户可以使用 FATFS_LinkDriver()和 FATFS_UnLinkDriver() 动态地添加或者删除磁
盘 I/O 驱动;应用程序可能需要知道当前连接的磁盘 I/O 驱动数量,这一点可通过 FATFS_GetAttachedDriversNbr() API 来
实现。这让我们在管理物理介质更为方便。这三个函数就位于 ff_gen_drv.c 中。以 SD 卡为例,原本的“diskio.c ”分化为
“diskio.c + ff_gen_drv.c + \drivers\sd_diskio.c ”三个文件,虽然文件增加了,但是条理更加清晰。具体的介绍可以参考用户
手册 UM1721 《在STM32Cube 上开发 FatFs 相关应用》,这里不作详述。看完 UM1721,接下来可以开始动手实现了。
一 一 实现实现环境环境
一一 实现实现环境环境
开发板: STM32439I-EVAL (MCU: STM32F439NIH6)
开发环境: STM32Cube_FW_F4_V1.11.0
STM32F4xx_DSP_StdPeriph_Lib_V1.6.1
IDE : IAR Embedded Workbench for ARM v7.50.1.10273
二 二 实现步骤实现步骤
二二 实现步骤实现步骤
1.在1.在标准外设库上建立项目文件标准外设库上建立项目文件,,确保确保 SDSD 卡可正常工作卡可正常工作
1.1.在在标准外设库上建立项目文件标准外设库上建立项目文件,,确保确保 SDSD 卡卡可正常工作可正常工作
1) 在\STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Project 下复制 STM32F4xx_StdPeriph_Templates 并将文件夹更名为
FatFs_uSD
2) 将\STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Project\STM32F4xx_StdPeriph_Examples\SDIO\SDIO_uSDCard 下的文件
复制到 FatFs_uSD 替换掉原有文件
3) 打开 EWARM 下面的项目文件,在项目文件中添加\Utilities\STM32_EVAL\STM324x9I_EVAL 文件组,并加入
stm324x9i_eval.c、stm324x9i_eval_ioe16.c、stm324x9i_eval
您可能关注的文档
最近下载
- 《小学四年级期末家长会》课件模板(五套).pptx
- SY∕T 4204-2019 石油天然气建设工程施工质量验收规范 油气田集输管道工程.pdf
- 国开开放系统22422《汽车发动机构造与维修》期末机考真题及答案(第101套).pdf
- 河南中宜创芯发展有限公司年产1000吨电子级高纯碳化硅粉体项目(一期)环境影响报告书.pdf
- 缓速器电控系统培训0413.ppt VIP
- 2024年“七一”专题党课讲稿:做一名合格共产党员.docx VIP
- 大厦加装电梯项目工程钢结构吊装专项施工方案.doc VIP
- 降低老年患者功能性便秘发生率.pptx
- 红星照耀中国阅读计划.docx
- 2024年党纪学习教育ppt(党课).pptx VIP
文档评论(0)