STM32F407+Freertos+SDcard+Fatfs

在Freertos操作系统下实现往SDcard中读写数据

前言

本人在裸机下挂载SDcard并使用Fatfs文件系统时没有什么问题的,但是当在freertos系统下使用fatfs一直不能f_mount成功,最后调试成功的配置如下:

时钟配置

时钟源

在这里插入图片描述

烧录引脚

这里我选择了TIM1作为Timebase Source
在这里插入图片描述

时钟树

在这里插入图片描述

DMA配置

如果使用Freertos系统,会被强制使用DMA模板的Fatfs,所以需要打开DMA通道,开中断,以及开SDIO中断。
在这里插入图片描述

SDIO配置

SDIO 选择4bit模式
在这里插入图片描述
打开DMA和SDIO中断,注意这里,我看了很多分享都说需要把SDIO中断优先级高于DMA,但是我测试一直不通过,把DMA和SDIO设成一致测试通过,所以这里可以根据实际调试配置。
在这里插入图片描述

Fatfs配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

FreeRtos配置

参考博文
https://blog.csdn.net/weixin_44770030/article/details/136417706?spm=1001.2014.3001.5501

堆栈空间设置

这里尽量设置大一点
在这里插入图片描述

调试参数修改

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F407是一款32位ARM Cortex-M4内核的微控制器,拥有丰富的周边设备和高性能。FreeRTOS是一款用于嵌入式系统的实时操作系统,提供了任务调度、内存管理、定时器等功能,使得开发者能够创建复杂的多任务应用程序。TCP客户端是指在TCP/IP协议栈的应用层,通过TCP协议与服务器进行通信的客户端程序。 将STM32F407FreeRTOS和TCP客户端结合起来,可以创建一个具有实时性能的TCP客户端应用。首先,我们需要将FreeRTOS移植到STM32F407上,这可以通过使用STM32CubeMX和FreeRTOS内核文件进行配置和生成来实现。接下来,我们需要编写TCP客户端代码,使用TCP/IP协议栈的相关API进行连接服务器、发送和接收数据等操作。在编写TCP客户端代码时,我们需要创建一个或多个任务,用于处理与服务器的TCP连接和数据通信。这些任务可以使用FreeRTOS提供的任务调度器进行管理和调度。 在使用STM32F407FreeRTOS和TCP客户端时,还需要注意一些重要的方面。首先,需要根据应用需求进行系统资源的合理配置,包括内存大小、任务优先级等。其次,需要注意任务之间的同步和通信,以避免竞争条件和数据一致性的问题。还需要考虑网络连接的稳定性,处理网络异常和错误情况的方法。最后,还需要进行性能测试和调优,以确保系统在给定约束条件下的稳定工作。 综上所述,将STM32F407FreeRTOS和TCP客户端结合起来,可以实现一个具有实时性能的嵌入式TCP客户端应用程序。这种应用可以广泛应用于物联网、智能家居、远程监测等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值