E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
freertos
printf函数不可重入问题(
FreeRTOS
)
一、遇到问题详情问题现象:如果在最开始的代码中加入printf打印函数,函数只会打印一部分,且后面的程序不在运行,直接异常。代码调试,结果也是遇到printf函数卡死,进入HardFault_Handler中断屏蔽打印函数之后,代码正确运行,说明printf函数严重影响程序的运行二、解决办法vTaskSuspendAll();//挂起任务调度器xTaskResumeAll();//恢复任务调度器
m0_61973119
·
2023-12-27 23:55
常见bug专栏
FreeRTOS
c语言
linux
运维
服务器
网络
数据结构
FreeRTOS
Config.h配置文件
FreeRTOS
使用
FreeRTOS
Config.h文件进行配置和裁剪。
FreeRTOS
Config.h文件中有几十个配置项,这使得用户能够很好地配置和裁剪
FreeRTOS
。
m0_61973119
·
2023-12-27 23:25
FreeRTOS
linux
运维
服务器
FreeRTOS
队列和队列集
一、队列队列是一种任务到任务、任务到中断、中断到任务数据交流的一种机制。在队列中可以存储数量有限、大小固定的多个数据,队列中的每一个数据叫做队列项目,队列能够存储队列项目的最大数量称为队列的长度,在创建队列的时候,就需要指定所创建队列的长度及队列项目的大小。因为队列是用来在任务与任务或任务于中断之间传递消息的一种机制,因此队列也叫做消息队列。1.数据存储队列通常采用FIFO(先进先出)的存储缓冲机
m0_61973119
·
2023-12-27 23:25
FreeRTOS
java
开发语言
STM32Cubmx
FreeRTOS
Timer
一、Cubemx配置和事件组一样时钟配置,f103c8t6标准板子只有高速,低速可以不用打开板载ledusart1配置选择异步,其他默认
freertos
配置,版本选择v2,v1没有事件相关函数生成工程二
chem4111
·
2023-12-27 06:44
STM32CubeMX
Freertos
stm32
嵌入式硬件
单片机
STM32CubeMX
FreeRTOS
u8g2图片菜单制作
一、制作图片数组找显示的图标,下面的网站里面是只有黑白的图SvgVectorIcons&PNG/PSD/EPS/PNM/FreeDownloads-OnlineWebFonts.COM先添加白板背景,在设置图片尺寸在线添加图片背景oled显示分辨率为128*64图片尺寸不能大于这个制作好的图片然后就是取模了Arduino中文社区修改下数组名字,数组放在用户头文件下面自定义代码区间//width:4
chem4111
·
2023-12-27 06:44
STM32CubeMX
Freertos
stm32
嵌入式硬件
单片机
CubeMXST32
FreeRTOS
信号量
一、CubeMX工程配置时钟源配置时钟树直接输入最大频率LED配置配置串口一
freertos
配置任务创建两个任务生成工程二、Keil代码在嵌入式系统和实时系统中,信号量是一种常用的同步工具,用于协调多个任务之间的访问共享资源
chem4111
·
2023-12-27 06:43
单片机
嵌入式硬件
FreeRTOS
中断管理实验,列表项的插入和删除实验
#include"
freertos
_demo.h"#include"./SYSTEM/usart/usart.h"#include"./BSP/LED/led.h"#include".
ff_juju
·
2023-12-27 01:13
FreeRTOS
FreeRTOS
任务间的通信
消息队列:队列又称消息队列,是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递信息,实现了任务接收来自其他任务或中断的不固定长度的消息。信号量:semphr,基于消息队列实现二值信号量:用于判断是否有消息任务与任务同步中断与任务同步计数信号量:事件计数与资源管理互斥量:特殊的二值信号量实现对临界资源的独占式处理优先级翻转问题:高任务抢占低任务无法获取互斥量而进入阻塞状态,即
JoYER_cc
·
2023-12-26 21:06
单片机
c语言
rtos
FreeRTOS
学习笔记(9)——内存管理
一、基本概念
FreeRTOS
操作系统将内核与内存管理分开实现,操作系统内核仅规定了必要的内存管理函数原型,而不关心这些内存管理函数是如何实现的,所以在
FreeRTOS
中提供了多种内存分配算法(分配策略)
Leung_ManWah
·
2023-12-26 19:34
FreeRTOS
列表
一、博主针对列表的理解如下:(1)列表是
FreeRTOS
中最基本的一种数据结构,其在物理存储单元上是非连续、非顺序的。
FreeRTOS
中的列表是一个双向链表。
m0_61973119
·
2023-12-26 13:09
FreeRTOS
网络
数据结构
stm32
算法
单片机
NXP iMX8 M4核心
FreeRTOS
Rpmsg应用示例
ByToradex秦海1).简介NXPiMX8是NXP去年底发布的基于Cortex-A72/A53和Coretex-M4异构多核架构的ARM处理器,作为NXPi.MX系列最新性能也最为强大的处理器,升级了从iMX6SoloX开始到iMX7的异构双核架构(如下框图),使得不同架构核心的使用更加方便稳定,本文就演示iMX8Cortex-A和Coretx-M核心之间通过Rpmsg来进行通讯的示例。本文所
toradex
·
2023-12-25 23:25
跟着野火学
FreeRTOS
:第一段(优先级)
前面几个小节的讲解都是没有实现优先级的,这一小节的讲解将要实现优先级。所谓的优先级就是每次在进行任务切换或调度的时候选择优先级最高的任务进行。任务可以被调度的前提是它有被挂载在就绪列表中(还在延时中的任务应该就不会放在就绪列表了,应该会被刚在阻塞列表,这个后面会讲到),就绪列表可以说就是一个链表的数组,就绪列表的每一个元素都是一个链表的根节点,数组的索引越小,表示挂载到这个链表上的任务的优先级最低
qqssss121dfd
·
2023-12-25 10:04
嵌入式
stm32
arm
跟着野火学
FreeRTOS
:第一段(空闲任务与阻塞延时的实现)
在前一小节中,任务操作里面的延时就是直接让CPUCPUCPU干等着,啥也不干,这样会极大的浪费CPUCPUCPU的资源。这一小节即将要讲到的阻塞延时就是当任务有延时需要的时候让CPUCPUCPU不要干等着,而是去执行其它的任务,充分利用CPUCPUCPU资源,就算此时没有任何任务需要执行那我们就可以执行我们专门建立的一个空闲任务,这个空闲任务可以上什么都不干或者进入低功耗模式来节能,当相应任务的延
qqssss121dfd
·
2023-12-25 10:03
嵌入式
stm32
单片机
跟着野火学
FreeRTOS
:第一段(任务延时列表)
既然是延时列表,那肯定要先定义相应的链表,延时列表的定义如下。这里定义了两条延时列表(其实就是前面小节里面提到的链表的根节点),一条是准备当记录SystickSystickSystick周期个数的变量xTickCountxTickCountxTickCount溢出的时候使用的。这里还定义了指向两条链表的指针。/*xTicksToDelay=xTicksToDelaypxTCB->xTicksToD
qqssss121dfd
·
2023-12-25 10:01
嵌入式
stm32
嵌入式硬件
单片机
arm
freeRTOS
实时操作系统学习笔记
1、
freeRTOS
移植和配置脑图2、内核源码学习
阿猿先森
·
2023-12-25 07:54
RTOS
学习
笔记
RTOS
FreeRTOS
中Systick的问题
在Cortex-M内核中,系统节拍由Systick时钟提供,当配置好系统滴答时钟后,每次时钟中断就会触发中断处理数xPortSysTickHandler()。voidxPortSysTickHandler(void){/*TheSysTickrunsatthelowestinterruptpriority,sowhenthisinterrupt*executesallinterruptsmustb
撞上电子
·
2023-12-24 06:08
UCOS和
freeRTOS
的区别总结
FreeRTOS
中的内核对象支持动态和静态两种创建方法。
遥_望
·
2023-12-23 20:02
STM32
stm32
freeRtos
ucos
嵌入式
支持TrustZone®的R7FA4M2AC3CFM、R7FA4M2AD3CFM、R7FA4M2AD3CFP、R7FA4M2AC3CFP高性能32位微控制器
RA4M2采用高效的40nm工艺,由灵活配置软件包(FSP)这个开放且灵活的生态系统概念提供支持,FSP基于
FREERTOS
构建,并能够进行扩展,以使用其他实时操作系统(RTOS)和中间件。RA4
Mandy_明佳达电子
·
2023-12-23 19:30
明佳达电子
单片机
mcu
嵌入式硬件
FreeRTOS
任务状态简介
FreeRTOS
任务的状态有四种:运行、就绪、阻塞、挂起。
超越✔
·
2023-12-23 17:55
嵌入式
嵌入式硬件
RT-thread nano入门--Apple的学习笔记
由于之前学习了
FreeRTOS
,重点关注内容在任务切换策略及实现方面。其它的堆栈及中断管理暂时没关注。因为任务切换是最最基本的os功能。
applecai
·
2023-12-23 10:21
DshanMCU-R128s2 SDK 架构与目录结构
本文档作为R128
FreeRTOS
SDK开发指南,旨在帮助软件开发工程师、技术支持工程师快速上手,熟悉R128
FreeRTOS
SDK的开发流程。SDK架构R128包含3个核,需要编译
韦东山
·
2023-12-23 08:06
R128开发
架构
FreeRTOS
之二值信号量(实践)
、获取信号量注:若想深入还需花大功夫,目前目标争取会用#include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"
FreeRTOS
.h
孔镜观栏
·
2023-12-23 03:17
FreeRTOS
stm32
FreeRTOS
之任务状态查询
1、相关API函数的使用uxTaskPriorityGet(Task1Task_Handler);//传入task1的任务句柄,获取任务优先级vTaskPrioritySet(Task1Task_Handler,30);//改变任务优先级task_num=uxTaskGetNumberOfTasks();//获取任务数量#include"sys.h"#include"delay.h"#includ
孔镜观栏
·
2023-12-23 03:46
FreeRTOS
stm32
FreeRTOS
之队列操作
#include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"
FreeRTOS
.h"#include"task.h"#
孔镜观栏
·
2023-12-23 03:46
FreeRTOS
stm32
FreeRTOS
之队列集操作(实践)
多个任务在在同一队列中传递的同一种数据类型,而队列集能够在任务之间传递不同的数据类型。配置流程:(更详细流程参考正点原子的教程)1、启用队列集将configUSE_QUEUE_SETA置1)2、创建队列集3、创建队列或信号量4、往队列集添加队列或信号量5、往队列发送信息及信号量#include"sys.h"#include"delay.h"#include"usart.h"#include"led
孔镜观栏
·
2023-12-23 03:15
FreeRTOS
stm32
DshanMCU-R128s2 ADC 按键配置方法
FreeRTOS
平台上使用的按键为ADC-KEY,采用的ADC模块为GPADC。按键功能驱动的实现是通过ADC分压,使每个按键检测的电压值不同,从而实现区分不同的按键。
韦东山
·
2023-12-22 23:53
R128开发
服务器
linux
嵌入式硬件
FreeRTOS
创建任务保存以及任务堆栈大小记录
一、问题出处,堆设置小导致任务创建失败今天在修改公司程序时,当我新建一个任务时,编译下载发现有一个任务创建失败,返回的句柄一直是空,程序如下图osThreadIdudp_serverTaskHandle=NULL;udp_serverTaskHandle=sys_thread_new("udp_printf_thread",udp_printf_thread,NULL,384,3);if(udp_
芋头莎莎
·
2023-12-22 13:37
单片机
嵌入式硬件
【XR806开发板试用】Wi-Fi测试:自定义发送802.11帧(Beacon篇)
本文使用XR806开发板以及基于
FreeRTOS
的XR806SDK实现了自定义发送802.11Beacon帧,并进行了无线抓包分析以及扫描测试来验证帧的发送结果。
极术社区
·
2023-12-22 07:18
开发板测评
开发板
xR806
【XR806开发板试用】基于
FreeRtos
的XR806 WLAN测试
作为一名在车机嵌入式耕耘多年的嵌入式工程师,此前我从未接触过蓝牙和无线相关的开发工作。前段时间参与了全志的开发板适用活动,幸运地被免费开发板砸中。到手发现这个板子具有蓝牙5.0和WLAN功能。兴奋之余立马尝试了一下。开发环境的搭建受工作环境影响,我习惯Windows开发环境。官方的指导手册对windows下的开发仅给出了依赖于cygwin的方案,实测下来踩坑不少,耗时数小时也未完全解决(linux
极术社区
·
2023-12-22 07:18
开发板测评
xr806
[XR806开发板试用] XR806——基于
FreeRTOS
下部署竞技机器人先进模糊控制器
本文主要使用XR806的
FreeRTOS
到实际的机器人控制应用中,并实现部署模糊控制器。环境搭建本文简要略写,大家可以看社区其它优秀的文章。文章中应用
极术社区
·
2023-12-22 07:10
开发板测评
机器人
[
FreeRTOS
] 创建动态和静态任务 / 删除任务 / 临界保护 / 任务栈分配不足
TCB创建动态任务由
FreeRTOS
系统动态分配任务所需要的内存空间(堆上的内存空间),简单,方便,灵活,节省空间.缺点:容易产生内存碎片.
ALZSM小伟
·
2023-12-22 04:13
FreeRTOS
FreeRTOS
FreeRTOS
的heap文件
在动态创建任务的时候,只需要提供一个任务句柄,内存的分配,TCB的分配,都是系统来进行的,也是这个文件做的工作.heap文件一共有5个,都是内存管理文件,工程只需要一个就行,这五个的内存分配方法都不一样.heap1:只实现了malloc功能,没有实现free功能.(不用)heap2:实现了malloc和free功能,使用了最佳匹配算法,但分配几次,再释放之后,不能合并相邻空闲内存,全部内存都变成了
ALZSM小伟
·
2023-12-22 04:13
算法
FreeRTOS
之列表及列表项实验(基于stm32f103c8t6)
23讲列表项的插入和删除实验_哔哩哔哩_bilibili#include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"
FreeRTOS
.h
孔镜观栏
·
2023-12-22 04:08
stm32
mongodb
嵌入式硬件
【RTOS学习】源码分析(通用队列 && 队列 && 队列集)
前面本喵讲解了和任务相关的
FreeRTOS
源码,进行再来介绍一下用于任务间通信的几种数据结构源码。
一只大喵咪1201
·
2023-12-21 04:55
RTOS学习
学习
arm开发
c语言
stm32
跟着野火学
FreeRTOS
:第一段(基础介绍)
以下介绍都是基于野火电子的书籍《
FreeRTOS
内核实现与应用开发实战指南》,如图1所示。我觉得把整个学习过程记录一下可以加深自己的理解。
qqssss121dfd
·
2023-12-21 04:21
嵌入式
单片机
stm32
嵌入式硬件
跟着野火学
FreeRTOS
:第一段(任务定义,切换以及临界段)
在裸机系统中,系统的主体就是CPUCPUCPU按照预先设定的程序逻辑在mainmainmain函数里面顺序执行的无限循环。在多任务系统中,根据功能的不同,把整个系统分割成一个个独立的,无限循环且不能返回的的函数,这个函数我们称为任务。在几乎所有的处理器架构中都会用到STACK,栈STACK,栈STACK,栈这种数据结构,它用来存储函数调用的参数,局部变量。当异常发生的时候它也可以用来存储处理器当前
qqssss121dfd
·
2023-12-21 04:50
嵌入式
stm32
单片机
ESP32上对flash的读取操作
通过按键控制一个LED灯的亮和灭,每次重启时读上一次的状态#include#include"
freertos
/
FreeRTOS
.h"#include"
freertos
/task.h"#include"esp_system.h
蜗牛先森i
·
2023-12-20 18:42
ESP32
嵌入式
FreeRTOS
的由来
最开始我们想要每一秒钟去读取一次温度的数据,所以代码如下while(1){readTemperature();delay_ms(1000);}但是此时我们会发现在延时的那一秒钟里面CPU没有并没有干任何事情,死延时很占用CPU资源,后面我们开始用一个定时器计时,时间到了则调用读取温度的数据,这样可以大大提高CPU空闲时间。while(1){if(timer==1000)//每个1ms,定时器中断里
m0_61973119
·
2023-12-20 15:18
FreeRTOS
单片机
服务器
网络
嵌入式硬件
stm32
RTOS中的任务通知
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-20 13:08
RTOS
stm32cube
任务通知
RTOS中的事件标志组验证
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-20 13:34
RTOS
stm32cube
事件标志组
FreeRTOS
分辨数据源
当有多个发送任务,通过同一个队列发出数据,接收任务如何分辨数据来源?数据本身带有"来源"信息,比如写入队列的数据是一个结构体,结构体中的lDataSouceID用来表示数据来源:typedefstruct{ID_teDataID;int32_tlDataValue;}Data_t;不同的发送任务,先构造好结构体,填入自己的eDataID,再写队列;接收任务读出数据后,根据eDataID就可以知道数
Dirk-Colin
·
2023-12-20 04:45
51单片机
c语言
FreeRTOS
信号量学习
目录一、信号量的特性1.信号量的常规操作2.信号量跟队列的对比3.两种信号量的对比4.信号量函数4.1创建4.2删除4.3give/take5.使用二进制信号量来同步队列(queue)可以用于传输数据:在任务之间、任务和中断之间。有时候我们只需要传递状态,并不需要传递具体的信息,比如:我的事做完了,通知一下你卖包子了、卖包子了,做好了1个包子!做好了2个包子!做好了3个包子!这个停车位我占了,你们
Dirk-Colin
·
2023-12-20 04:45
学习
FreeRTOS
队列基础知识
一、malloc函数malloc函数使用形式关于malloc所开辟空间类型:malloc只开辟空间,不进行类型检查,只是在使用的时候进行类型的强转。举个例子:‘我’开辟你所需要大小的字节大小空间,至于怎么使用是你的事mallo函数返回的实际是一个无类型指针,必须在其前面加上指针类型强制转换才可以使用指针自身=(指针类型*)malloc(sizeof(指针类型)*数据数量)c语言malloc函数的用
Dirk-Colin
·
2023-12-20 04:15
51单片机
stm32
FreeRTOS
队列---传输大块数据与邮箱
FreeRTOS
的队列使用拷贝传输,也就是要传输uint32_t时,把4字节的数据拷贝进队列;要传输一个8字节的结构体时,把8字节的数据拷贝进队列。如果要传输1000字节的结构体呢?
Dirk-Colin
·
2023-12-20 04:12
服务器
运维
在RTOS中验证互斥量有效解决优先级反转现象
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-19 15:00
RTOS
stm32cube
互斥量有效解决优先级反转现象
RTOS队列的写入与读出
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-19 15:00
RTOS
STM32cube
队列的写入与读出
RTOS中任务的创建与删除
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-19 15:30
RTOS
任务创建删除
stm32cube
在RTOS中验证二值信号量与计数型信号量
裸机的时钟源默认是SysTick,但是开启
FreeRTOS
后,
FreeRTOS
会占用SysTick(用来生成1ms定时,用于任务调度),所以我们开启TIM2当做裸机的时钟源,为其他总线提供另外的时钟源。
yangdongdeboke
·
2023-12-19 15:28
RTOS
stm32cube
二值信号量与计数型信号量
普冉(PUYA)单片机开发笔记 [完结篇]:使用体会
失败的移植:
FreeRTOS
当使用了PY32F003的各种接口和功能后,手痒痒想把
FreeRTOS
也搬到这个MCU上,参考STM32和GD32对
FreeRTOS
的移植步骤,把
FreeRTOS
v202212.00
硬核老骆
·
2023-12-19 15:23
单片机
嵌入式硬件
物联网
arm开发
stm32f042,如何解决.bss cannot fit in region ‘RAM‘
为了自己一个宏伟的目标继续折腾stm32的板子,目前开始尝试了解多任务模式,自然就摸到了
freertos
。
取啥都被占用
·
2023-12-19 10:40
pcb上有颗芯
stm32
freertos
stm32f042
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他