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
FreeRTOS
互斥锁
信号量API函数实际上都是宏,它使用现有的队列机制。这些宏定义在semphr.h文件中。如果使用信号量或者互斥量,需要包含semphr.h头文件。信号量包括二值信号量、计数信号量、互斥信号量和递归互斥信号量。和普通队列比起来,信号量虽然没有队列项实体,但是信号量值等同于队列项个数。互斥锁和递归互斥锁:互斥锁是用来保证共享数据操作的完整性,同时只能有一个任务访问共享数据。递归互斥锁和普通互斥锁比起来
QQ1034313020
·
2019-03-09 23:35
FreeRTOS
FreeRTOS
信号量
创建二值信号量实际上就是创建一个队列项大小为0、队列长度为1的队列,
FreeRTOS
提供了两个API。初始值为0#de
QQ1034313020
·
2019-03-08 23:03
FreeRTOS
【RT-Thread】学习笔记-01-为Keil Pack: nano msh添加串口驱动
RTOS方案选择有uCOS,KeilRTX,
FreeRTOS
,RT-Thread。
RuiJey
·
2019-03-08 16:49
单片机
FreeRTOS
队列
队列是
FreeRTOS
主要的任务间通讯方式,包括二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的。
QQ1034313020
·
2019-03-05 01:26
FreeRTOS
FreeRTOS
任务挂起与解除
任务挂起的主要工作包括:将任务从状态列表中移除并挂接到挂起列表中更新任务唤醒时间如果挂起当前任务,需要请求切换/*挂起任务*/voidvTaskSuspend(TaskHandle_txTaskToSuspend){TCB_t*pxTCB;/*进入临界区*/taskENTER_CRITICAL();{/*通过任务句柄获取任务TCB*/pxTCB=prvGetTCBFromHandle(xTaskT
QQ1034313020
·
2019-03-01 15:16
FreeRTOS
FreeRTOS
空闲任务
空闲任务在启动调度器的时候被创建/*启动调度器*/voidvTaskStartScheduler(void){BaseType_txReturn;#if(configSUPPORT_STATIC_ALLOCATION==1){......}#else{/*创建空闲任务*/xReturn=xTaskCreate(prvIdleTask,configIDLE_TASK_NAME,configMINIM
QQ1034313020
·
2019-03-01 09:15
FreeRTOS
FreeRTOS
任务切换
任务切换一共两种方式:系统节拍器中断、调用portYIELD。但是,最终都是产生PendSV中断。/*SysTick异常处理入口*/voidxPortSysTickHandler(void){/*禁止不高于系统调用优先级的中断*/vPortRaiseBASEPRI();{/*提供系统节拍,并判断是否需要切换任务*/if(xTaskIncrementTick()!=pdFALSE){/*悬起Pend
QQ1034313020
·
2019-02-28 18:47
FreeRTOS
FreeRTOS
列表
内核中有很多双向列表,这些列表可以挂接很多列表项,每条列表都有一个确定的尾节点、列表当前指针、列表项个数/*列表结构体*/typedefstructxLIST{listFIRST_LIST_INTEGRITY_CHECK_VALUEconfigLIST_VOLATILEUBaseType_tuxNumberOfItems;/*列表项个数*/ListItem_t*configLIST_VOLATIL
QQ1034313020
·
2019-02-26 14:09
FreeRTOS
FreeRTOS
-优先级继承机制-学习笔记
仅为个人理解,个人笔记两个函数xTaskPriorityInherit和xTaskPriorityDisinheritxTaskPriorityInherit:例:若任务A的优先级大于任务B(假设任务A优先级为2,任务B优先级为1),但是同一互斥量被任务B先获取,在任务B获取该互斥量后运行的过程中任务A恢复运行抢占任务B,且任务A尝试获取该互斥量并且设置了最长等待时间,在任务A因获取不到该互斥量而
chengche245
·
2019-02-24 11:50
ERR1 - Git add时出现warning
ERR1-Gitadd时出现warningwarning:LFwillbereplacedbyCRLFin
FreeRTOS
/Demo/CORTEX_LPC1768_GCC_Rowley/flash_placement.xml.Thefilewillhaveitsoriginallineendingsinyourworkingdirectory.Answer
HappyAdelle
·
2019-02-18 11:55
git
【二面】CVTE视源2019秋招补录嵌入式岗位面经
文章目录01-二面内容02-总结返回导页:导页01-二面内容二面属于专业面,与岗位相关的专业问题最多,如果你有博客,很大可能会问博客内容,因为涉及私隐,只贴出问题看你博客你有研究过
FreeRTOS
,你是基于什么原因呢能说一下学了
单眼皮的根号3
·
2019-02-17 12:16
#
记CVTE2019年秋招补录
FreeRTOS
如何结束和重新启动调度程序
大多数主机或桌面系统(比如Linux,Mac或Windows)都有一个正常的用例,你可以在早上启动操作系统,然后在晚上关闭它,然后你就离开机器。嵌入式系统是不同的:他们没有参加,他们应该“永远”运行。并非每个嵌入式系统都需要运行操作系统(或者在那个世界中:实时操作系统或RTOS),但这同样适用于:在RTOS启动后,并不意味着它将关闭并重新启动。在某种程度上,他们根本不支持“关闭”和“重启”功能。如
foxclever
·
2019-02-16 20:00
嵌入式开发
FreeRTOS
littlefs与sfud串行flash通用驱动建立
FreeRTOS
文件系统
littlefs文件系统体积很小,很适合经常断电重启的嵌入式场合,使用过程没发现过文件损坏或数据丢失的问题。主要由fs_spi.c文件与mid_fs.c文件连接两部分的代码,fs_spi.c初始化SPIFlash文件的硬件接口,按需要修改就行/***@filemidfs.c*@briefprovidefileoperationsAPIforuser,bridgingthesfudandlittle
嵌入式工匠
·
2019-02-13 22:32
FreeRTOS
littlefs
sfud
FreeRTOS
笔记(十五)
FreeRTOS
总结
文章目录01-裸机和
FreeRTOS
区别1.1-裸机1.2-
FreeRTOS
1.3-区别02-对
FreeRTOS
的感受03-推荐上一文链接:
FreeRTOS
笔记(十四)[简]软件定时器、事件组、任务通知
单眼皮的根号3
·
2019-02-09 17:00
#
FreeRTOS
FreeRTOS
笔记(十四)[简] 软件定时器、事件组、任务通知
文章目录01-软件定时器02-事件组03-任务通知04-总结上一文链接:
FreeRTOS
笔记(十三)内存管理 在《Linux内核情景分析》经典书籍中提到,操作系统的核心是进程管理和文件系统,二者可以缺一
单眼皮的根号3
·
2019-01-27 15:21
#
FreeRTOS
基于STM32CubeMX的
freertos
的移植
由于公司的网络屏蔽了
freertos
的下载源,无法进行下载,那就用项目现成的
freertos
代码进行移植。
Be_a_young_man
·
2019-01-23 17:56
FreeRTOS
学习笔记六【任务管理-调度算法】
FreeRTOS
学习笔记六【任务管理-调度算法】任务状态和事件的回顾配置调度算法术语有时间片的优先抢占式调度无时间片的优先抢占式调度协作调度任务状态和事件的回顾运行中的任务处于运行状态(占用CPU时间)
菜鸟的起点
·
2019-01-18 11:59
Free
RTOS
FreeRTOS
学习(十) 信号量
声明及感谢:跟随正点原子资料学习,在此作为学习的记录和总结环境keil,stm32f103二值信号量:二值信号量通常用于互斥访问,或同步,大多数用于同步(任务与任务或任务与中断的同步).和队列一样,信号量API函数允许设置一个阻塞时间,阻塞时间是当任务获取信号量时,由于信号量无效从而导致任务进入阻塞态的最大时钟节拍数.如果多个任务同时阻塞在同一个信号量上的话,那么优先级最高的那个任务会有限获得信号
龙井茶110
·
2019-01-17 15:32
FreeRTOS
AWS IOT 入门(一)
FreeRTOS
Amazon
FreeRTOS
Amazon
FreeRTOS
pcdog
·
2019-01-15 12:03
云计算
云服务
FreeRTOS
笔记(十二)资源管理
文章目录01-互斥机制1.1-临界区1.2-挂起调度器1.3-互斥量1.4-守护任务02-互斥机制的区别03-总结上一文链接:
FreeRTOS
笔记(十一)延迟中断 考虑完多任务(中断)之间的通信后,还需要考虑多任务
单眼皮的根号3
·
2019-01-06 19:24
#
FreeRTOS
为什么要使用操作系统
为什么要使用操作系统从51单片机开始使用简单的逻辑系统,慢慢的开始接触ucos、
FreeRTOS
这类小型的操作系统,到现在开始接触Linux这种大型的开源操作系统,是否有想过为什么要使用操作系统呢?
Creator_Ly
·
2019-01-05 21:37
Accumulate
FreeRTOS
入门 - 钩子函数
须知源码版本:10.1.1文章来源:https://www.jianshu.com/p/6c5cfc0a3e9a钩子函数简介钩子函数是操作系统(
FreeRTOS
)满足某些功能的机制,
FreeRTOS
调用钩子函数
seasonLeaf
·
2019-01-05 13:57
FreeRTOS
临界区应用与总结
项目背景:做一个测量阻抗脉搏波的设备,设备功能其中之一是采集阻抗信号,通过一个高精度ADC转换为AD值,并将AD值输出。软件模块示例如下:if(CS1259Ready())//等待ADC转换完成{Z13Adc=ReadADC();//转换完成后读取ADC值;printf("%d\t\t",Z13Adc);Z13Res=CalRes(Z13Adc);//通过ADC值计算阻抗值printf("%d\r
滴水石穿裤子
·
2019-01-02 15:47
移植FreeModbus到
FreeRTOS
系统上
实测连接西门子的组态屏运行正常1、串口驱动移植portserial.cBOOLxMBPortSerialInit(UCHARucPORT,ULONGulBaudRate,UCHARucDataBits,eMBParityeParity){modubs_user_usart_init();__HAL_UART_DISABLE(&huart3);__HAL_UART_DISABLE_IT(&huart
嵌入式工匠
·
2019-01-01 22:41
FreeRTOS
Modbus
移植lua5.3.5到到
FreeRTOS
,并在赛灵思(Xilinx)ZYNQ SOC上运行
开发环境:XilinxSDK17.4操作系统:
FreeRTOS
1.将lua源码编译为静态链接库(1)在XilinxSDKIDE中新建一个静态链接库工程(2)在新建的静态链接库工程中添加lua源码,编译得到
踏雪@无痕
·
2018-12-31 20:38
lua
FreeRTOS
笔记(十)队列和通信
文章目录01-通信介质02-通信方式03-通信操作04-总结上一文链接:
FreeRTOS
笔记(九)任务相关的过渡 在第一篇概念的思维导图中,任务的下一个概念就是队列,一个实际的
FreeRTOS
系统肯定会有多个任务
单眼皮的根号3
·
2018-12-31 11:45
#
FreeRTOS
FreeRTOS
线程守护看门狗
FreeRTOS
线程守护主要功能,建立复位定时器,所有加入守护的线程都必需在指定时间内发送心跳信号,超过时间定时器回调函数不会调用清空看门狗的函数,由于
FreeRTOS
最多只能接收24个事件,所以最多也只能守护
嵌入式工匠
·
2018-12-30 12:47
FreeRTOS
FreeRTOS
笔记(九)任务相关的过渡
文章目录01-任务相关的过渡1.1-get和set函数1.2-delay延迟函数02-总结上一文链接:
FreeRTOS
笔记(八)任务切换01-任务相关的过渡1.1-get和set函数 了解到任务、列表和调度器后
单眼皮的根号3
·
2018-12-29 13:43
#
FreeRTOS
FreeRTOS
笔记(八)任务切换
文章目录01-SVC和PendSV1.1-SVC中断1.2-PendSV中断02-任务切换2.1-上下文2.2-切换场合2.3-PendSV_Handler03-总结上一文链接:
FreeRTOS
笔记(七
单眼皮的根号3
·
2018-12-27 17:31
#
FreeRTOS
STM32中断及
FreeRTOS
中断优先级配置知识!
很多朋友对中断的一些知识还是不了解,今天就写点关于Cortex-M3处理器中断相关,以及
FreeRTOS
中断优先级配置的内容。1写在前面写本文之前,先写点相关的扩展内容。
嵌入式资讯精选
·
2018-12-26 11:00
FreeRTOS
笔记(七)开启调度器
文章目录01-vTaskStartScheduler()02-xTaskCreate()03-总结上一文链接:
FreeRTOS
笔记(六)列表与任务控制块01-vTaskStartScheduler()
单眼皮的根号3
·
2018-12-25 10:35
#
FreeRTOS
FreeRTOS
笔记(六)列表与任务控制块
文章目录01-列表02-列表与任务控制块03-总结上一文链接:
FreeRTOS
笔记(五)任务状态01-列表 上一文提及到,任务具有多种状态,例如就绪、运行、阻塞等等,如果有多个任务都处于某一状态,例如就绪态
单眼皮的根号3
·
2018-12-21 18:59
#
FreeRTOS
初识
FreeRTOS
+ lwip
本文是对一些对Linux等系统有认识,但却没有接触过
FreeRTOS
系统的人提供一些帮助,能够了解
FreeRTOS
大致的一些工作原理和如何在
FreeRTOS
系统上开发还有网络协议栈实现等。
Zpeg
·
2018-12-20 09:10
freeRTOS
FreeRTOS
任务调度之运行、就绪、阻塞、挂起表
pxCurrentTCB:记录现在运行的任务;pxReadyTasksLists:记录处于ready状态,等待被调度运行的任务,这是一个链表数组,readylist安装优先级进行分类,这样在调度时就可以从优先级高的readylist中先进行调度,是调度器直接操作对象。xDelayedTaskList1:定义了一个delay的task链表,这两个是阻塞表。xDelayedTaskList2:定义了一
StevenV6
·
2018-12-19 11:59
FreeRTOS
之任务的挂起与恢复xSuspendedTaskList
它把所有挂起的任务加到xSuspendedTaskList中,而且一旦调用vTaskSuspend()函数挂起一个任务,该任务就将从所有它原先连入的链表中删除(包括就绪表,延时表和它等待的事件链表【两类列表都要清掉】),也就是说,一旦一个任务被挂起,它将取消先前它的延时和对事件的等待。相反的唤醒就是把任务从xSuspendedTaskList中删除,加到对应的就绪链表中(根据任务的优先级),然后如
StevenV6
·
2018-12-19 11:51
FreeRTOS
的信号量之互斥锁的阻塞实现xTaskCheckForTimeOut
vTaskPlaceOnEventList接收函数xQueueGenericReceive里面是一个for(;;)死循环的,所以任务就出不来,看着是阻塞了,并不是和vTaskDelay函数的做法那样将这个任务加到延时列表中的阻塞,而是该任务还是会不停的轮询判断事件的到来,只是在for(;;)中出不来而已;在tick中断里检查时间是否到,而是不停for(;;)的去检查阻塞时间,时间到了又回到for(
StevenV6
·
2018-12-15 15:46
FreeRTOS
中断管理(一)
二值信号量二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程(ISR)中只是快速处理少部分工作。如此,中断处理可以说是被“推迟”(deferred)到一个“处理”(handler)任务。如果某个中断处理要求特别紧急,其延迟处理任务的优先级可以设为最高,以保证延迟处理任务随时都可以抢占系统中的其他任务。这样,
JaneandDaria
·
2018-12-12 20:26
嵌入式
嘉楠勘智 K210 RISC-V 64位双核处理器开发板(荔枝丹)
https://kendryte.com/downloads/image.png开发者资源SDK文档名称版本修改时间下载KendryteK210
FreeRTOS
SDKV0.5.02018-10-19KendryteK210StandaloneSDKV0.5.22018
liuqun69
·
2018-12-12 10:00
FreeRTOS
笔记(五)任务状态
文章目录01-任务的状态02-tick时钟和调度器03-任务状态测试04-总结上一文链接:
FreeRTOS
笔记(四)初识任务01-任务的状态 任务被创建后,它可能正在运行,可能暂停运行,任务有状态之分是由于调度器的存在
单眼皮的根号3
·
2018-12-11 19:10
#
FreeRTOS
FreeRTOS
队列管理
概述FIFO先进先出一个队列可由多方写入当某个任务读取一个队列时,其可以指定一个阻塞超时时间。在这段时间中,如果队列为空,该任务将保持阻塞态以等待队列数据有效。当写入了数据,该任务将自动由阻塞态转移为就绪态。当等待的时间超过了指定的阻塞时间,任务会自动从阻塞态转移为就绪任务在写队列时也可以指定一个阻塞超时时间,这个时间是指当被写队列已满时,任务进入阻塞态以等待队列空间有效的最长时间当多个任务读取或
JaneandDaria
·
2018-12-09 23:44
嵌入式
FreeRTOS
笔记(四)初识任务
文章目录01-单任务与多任务1.1-单任务系统1.2-多任务系统02-创建和删除任务2.1-
FreeRTOS
_API2.2-任务函数2.3-创建任务2.4-删除任务03-堆栈空间04-任务优先级05-任务的基础测试
单眼皮的根号3
·
2018-12-06 15:35
#
FreeRTOS
FreeRTOS
笔记(三)配置文件
FreeRTOS
Config.h
文章目录01-
FreeRTOS
内核剪裁1.1-
FreeRTOS
Config.h文件1.2-
FreeRTOS
Config.h内容02-测试剪裁内容2.1-任务设计2.2-测试结果03-总结上一文链接:
FreeRTOS
单眼皮的根号3
·
2018-12-03 15:36
#
FreeRTOS
FreeRTOS
笔记(一)概念
文章目录01-说在前面02-
FreeRTOS
思维导图(点击文字下载)2.1任务2.2队列2.3中断2.4资源管理2.5内存管理03-总结01-说在前面 嵌入式系统经常在无人值守、环境恶劣和时间限制等等的条件下运行
单眼皮的根号3
·
2018-11-30 18:25
#
FreeRTOS
STM32cubeMX将STM32F767+LAN8720+LwIP+
FreeRTOS
的以太网实现
通过STM32cubeMX将STM32F767+LAN8720+LwIP+
FreeRTOS
的以太网实现本文使用了正点原子的阿波罗开发板,接下来我将粗略的对STM32F767通过STM32cubeMX进行以太网协议配置
ASWaterbenben
·
2018-11-30 13:25
FreeRTOS
简单总结(待完善)
1)如何声明任务函数原型:voidATaskFunction(void*pvParamaters);返回值必须为无效的,且带有一个空隙指针参数;任务可以理解为在自己权限范围内的小程序,是一个死循环,不会退出;没有返回值,决不能出现回报;2)一个任务函数是什么样的(任务描述)?//@func:如何实现一个任务;voidATaskFunction(void*pvParamaters){intiVari
滴水石穿裤子
·
2018-11-27 00:29
FreeRTOS
学习之路(1)
我没有看官网的英文原版,在网上查找了一下中文翻译版本的,可能以后有机会深入的话,我会再重复看英文版。好了闲聊到这来,先归纳我自己的一些看法:1、最开始且最基本的进程(翻译版本说是一个任务,在我看来是一个函数、一个进程,暂且归纳为进程吧)创建:portBASE_TYPExTaskCreate(pdTASK_CODEpvTaskCode,constsignedportCHAR*constpcName,
Alexin_lza
·
2018-11-21 22:00
FreeRTOS
FreeRTOS
内存该如何分配?
一位朋友问:黄哥,我刚学
FreeRTOS
不久,我想问一下,创建一个任务,堆栈分配多少才合适呢?
嵌入式资讯精选
·
2018-11-20 11:32
freertos
- 任务切换-pendSv异常(笔记)
1,为什么需要任务切换异常高于任何一个任务,任务亦可划分优先级,(0-31级;高-底;其中5-31级由
FreeRTOS
的管理调度)。抢占内核要求,使更高优先级的任务及时得到相应,不着急的任务延后执行。
Life_Maze
·
2018-11-18 11:56
FreeRtos系统
FreeRTOS
函数一览表
FreeRTOS
任务基础任务创建动态创建xTaskCreate()静态创建xTaskCreateStatic()其他xTaskCreateRestrictrd()创建一个使用MPU进行限制的任务任务删除
随风@飘扬
·
2018-10-29 18:58
FreeRTOS
FreeRTOS
+Lwip+STM32F407移植笔记
移植步骤:1-先移植
FreeRTOS
的Demo;2-再移植Lwip的文件(源码&sys_arch&lwip_comm);3-单个实现TCPIP协议栈任务:TCP客户端、TCP服务器和UDP;模块:-内存管理
BurgessKzg
·
2018-10-22 18:18
个人笔记
上一页
68
69
70
71
72
73
74
75
下一页
按字母分类:
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
其他