通过cubemx配置实现STM32H7SDMMC+FATFS+USBMSC+FREERTOS虚拟U盘1.实验目的1.使用FAFTS文件操作系统,实现STM32虚拟U盘,读写外部SD卡,fatfs和usbmassstorageclass共存。2.请先完成上一个帖子的步骤-->跳转https://blog.csdn.net/hjn0618/article/details/1303835932.实验平台硬件平台:正点原子阿波罗STM32H734IIT6开发工具:STM32CubeIDE1.12.0HAL库:STM32CubeFW_H7V1.11.03.CubeMX配置(1)增加栈空间(2)配置FAT
简介AXIDMA操作需要先提供一个在内存中驻留的不变空间,用于存储需要进行的DMA操作。形容这“每一次操作”的东西叫做BufferDescriptor,缩写叫BD,这些BD是连接成链表的形式的,因为BD会动态增加,而预先分配存储BD的空间是恒定的,因此BD被连成一个环(BDRing),其实就是一个循环链表。Scatter/Gather 允许一个数据包(Packet)由多个描述符(BD)来描述。官方文档指出的一个典型应用是在传输网络包时,Header和数据往往是分开存储的,利用SG模式可以较好的处理向多个目标读写的操作,提高应用吞吐量。DBRing中DB成链存放,为了解决环形结构带来的不知道Pa
分析:Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,766出现这个原因表示,你现在系统某个中断的优先级高于FreeRTOS可管理的优先级范围,一旦你这个中断触发,断言的信息即你串口就会输出这个条语句(前提你串口有初始化)代码:这是我的串口1中断配置函数,抢占优先级配置为1 这是FreeRTOS配置文件,这边配置FreeRTOS可管理的中断方位5-15所以要想把这个断言错误取消掉,那么要么系统中断优先级降低要么增大FreeRTOS可管理的中断优先级范围,综合评估选择
一、使用STM32CUBEMX配置FreeRTOS+SDIO4bit+FATFS注意事项:以STM32F429为例:1、SDIO配置配置为4bit模式,此配置不是最终配置,后面会在代码进行修改。2、Fatfs配置SetDefines选项中的配置可以默认,最重要注意AdvancedSetting选择中的配置,如下该界面配置默认Usedmatemplate是默认使能的,并且不可以选择,只能选择使能,所以需要使能SDIO中断和SDIODMA(注意:如果不使能可能会出现问题),如下图所示:在使能中断之后,注意SDIOglobal中断要小于或者等于SDIODMA的中断,否则会出现问题3、FreeRTOS
文章目录一·、软件定时器的基本概念二、软件定时器应用场景三、软件定时器的精度四、软件定时器的运作机制五、软件定时器函数接口讲解1.软件定时器创建函数xTimerCreate()2.软件定时器启动函数xTimerStart() 3.软件定时器停止函数 xTimerStop() 4.软件定时器任务5.软件定时器删除函数xTimerDelete()五、软件定时器实验六、实验现象一·、软件定时器的基本概念 定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率。类似生活中的闹钟,我们可以设置闹钟每天什么时候响,还能设置响的次数,是响一次还是每天都响。
目录一、基础概念1、FreeRTOS2、单片机编程的系统概念a、裸机系统,包括轮询系统(不包括中断)和前后台系统(中断为前台,轮询为后台)b、多任务系统3、FreeRTOS编程风格a、数据类型b、变量名的定义c、函数名d、宏定义二、Cubemx创建工程1、创建任务2、创建队列3、信号量 4、互斥量5、中断三、FreeRTOS基础知识 1、任务创建流程a、任务的概念b、任务的栈c、任务的函数主体d、任务控制块e、任务创建函数(与任务函数主体区分,任务函数主体是任务创建函数的一个参数)f、实现就绪列表g、实现调度器2、FreeRTOS任务执行原则a、合作式任务调度b、抢占式任务调度3、FreeRT
了解ESP32FreeRTOS:初学者指南ESP32FreeRTOS是什么?如何使用FreeRTOS?哪些常用的函数?xTaskCreate()vTaskDelete()vTaskDelay()xTicksToDelay()xSemaphoreCreateBinary()xSemaphoreGive()xSemaphore:要释放的信号量的句柄。xSemaphore:要获取的信号量的句柄。xQueueCreate()xQueueSend()xQueueReceive()简单示例:创建两个任务并打印任务名称使用队列示例ESP32FreeRTOS是什么?ESP32FreeRTOS是针对ESP32微
1.详细介绍FreeRTOS操作系统,然后举了几个实例 FreeRTOS(FreeReal-TimeOperatingSystem)是一个开源的嵌入式实时操作系统,它专门设计用于在资源有限的嵌入式系统中运行。FreeRTOS提供了一些用于任务管理、调度、同步和通信的功能,使开发者能够轻松地创建可靠的嵌入式系统。以下是FreeRTOS的一些特点和功能:轻量级:FreeRTOS的内核非常小巧,通常只占用很少的ROM和RAM资源,适合在资源有限的嵌入式系统中使用。实时性:FreeRTOS支持实时任务调度,能够处理实时任务的优先级和截止期限,从而保证任务能够按照预定的时间要求得到执行。多任务支持
文章目录问题描述问题出现的环境问题解决过程第一步第二步第三步第四步第五步第六步第七步第八步后续验证一些思考类似的问题后记问题描述笔者使用FreeRTOS创建了两个任务,使两颗LED以不同频率闪烁,但是在加入串口USART部分代码后,LED不能正常工作了。问题出现的环境硬件:STM32F103C8T6、ST-Link软件:KEIL5代码来源:野火FreeRTOS例程说明,野火的教程并不适用于F103C8,笔者对其进行了移植,一定程度上是因为移植出现了冲突的问题。关于如何移植野火的FreeRTOS源码,请看笔者的这篇文章【学习日记】【FreeRTOS】FreeRTOS移植到STM32F103C8问
文章目录一、三种优先级的概念辨析1.先理清楚两个概念:CPU和MPU2.Cortex-M3内核与STM32F1XX控制器有什么关系3.优先级的概念辨析①Cortex-M3内核和STM32F1XX的中断优先级②FreeRTOS的任务的优先级二、Cortex-M3内核的中断优先级1.中断编号2.优先级与编号的关系3.优先级配置寄存器三、STM32F1XX的中断优先级1.中断数量和编号2.中断优先级配置三、SVC和PendSV详解1.SVC①SVC是什么②SVC的中断优先级③使用SVC的好处2.PendSV①PendSV是什么②PendSV的应用四、运行在STM32上的FreeRTOS中断优先级的配