内核
关于 FreeRTOS 内核
开发者文档
辅助文档
支持的设备
API 引用
许可
仿真/模拟
QEMU (Cortex-M3)
Windows 模拟器
Posix/Linux 模拟器
QEMU(MPS2 上的 Cortex-M3)
库
新
LTS 库
所有库
FreeRTOS Plus
简介
FreeRTOS-Plus-TCP
FreeRTOS-Plus-CLI
FreeRTOS-Plus-IO
退避算法
FreeRTOS Core
简介
coreMQTT
coreMQTT Agent
coreHTTP
coreSNTP
传输接口
coreJSON
corePKCS11
蜂窝接口
模块化 Over the Air 更新
适用于 AWS
的
FreeRTOS
简介
AWS IoT OTA
AWS IoT Device Shadow
AWS IoT Jobs
AWS IoT Device Defender
AWS IoT Fleet Provisioning
AWS 签名版本 4
AWS Quick Connect 演示
AWS 参考集成
FreeRTOS Labs
简介
LoRaWAN
FreeRTOS-Plus-POSIX
FreeRTOS-Plus-FAT
FreeRTOS MCUBoot
Delta Over-the-Air 更新
精选集成
简介
i.MX RT1060 Arm Cortex-M7 MCU & EdgeLock SE050
STM32U5 Arm Cortex-M33 MCU w/ TrustZone & TF-M
ESP32-C3 RISC-V MCU w/ DSP
Arm Cortex-M MCU
上的 Arm Corstone-3xx
使用 AWS IoT ExpressLink
模块化 Over the Air 更新
简介
演示
OTA(使用简单 OTA Orchestrator)
OTA(使用 OTA-Agent Orchestrator)
许可
安全性
安全概述
安全更新
内核威胁模型
安全漏洞
支持
联系信息
支持选项
邮件列表
许可
延长维护计划
常见问题
书籍和手册
合作伙伴
概览
半导体
生产力工具
培训和咨询
库
安全认证
第三方板级支持包 (BSP)
社区
概述
贡献
路线图
论坛
博客
媒体
FreeRTOS 的 Twitter
网络研讨会
其他网站上与
FreeRTOS 相关的内容
English
中文(简体)
下载 FreeRTOS
出色的 RTOS & 嵌入式软件
下载 FreeRTOS
菜单
内核
关于 FreeRTOS 内核
开发者文档
辅助文档
支持的设备
API 引用
许可
仿真/模拟
QEMU (Cortex-M3)
Windows 模拟器
Posix/Linux 模拟器
QEMU(MPS2 上的 Cortex-M3)
库
新
LTS 库
所有库
FreeRTOS Plus
简介
FreeRTOS-Plus-TCP
FreeRTOS-Plus-CLI
FreeRTOS-Plus-IO
退避算法
FreeRTOS Core
简介
coreMQTT
coreMQTT Agent
coreHTTP
coreSNTP
传输接口
coreJSON
corePKCS11
蜂窝接口
模块化 Over the Air 更新
适用于 AWS
的
FreeRTOS
简介
AWS IoT OTA
AWS IoT Device Shadow
AWS IoT Jobs
AWS IoT Device Defender
AWS IoT Fleet Provisioning
AWS 签名版本 4
AWS Quick Connect 演示
AWS 参考集成
FreeRTOS Labs
简介
LoRaWAN
FreeRTOS-Plus-POSIX
FreeRTOS-Plus-FAT
FreeRTOS MCUBoot
Delta Over-the-Air 更新
精选集成
简介
i.MX RT1060 Arm Cortex-M7 MCU & EdgeLock SE050
STM32U5 Arm Cortex-M33 MCU w/ TrustZone & TF-M
ESP32-C3 RISC-V MCU w/ DSP
Arm Cortex-M MCU
上的 Arm Corstone-3xx
使用 AWS IoT ExpressLink
模块化 Over the Air 更新
简介
演示
OTA(使用简单 OTA Orchestrator)
OTA(使用 OTA-Agent Orchestrator)
许可
安全性
安全概述
安全更新
内核威胁模型
安全漏洞
支持
联系信息
支持选项
邮件列表
许可
延长维护计划
常见问题
书籍和手册
合作伙伴
概览
半导体
生产力工具
培训和咨询
库
安全认证
第三方板级支持包 (BSP)
社区
概述
贡献
路线图
论坛
博客
媒体
FreeRTOS 的 Twitter
网络研讨会
其他网站上与
FreeRTOS 相关的内容
内核
首页
入门指南
FreeRTOS 书籍
关于 FreeRTOS 内核
概览
编码、测试&样式
质量管理
官方 vs 第三方
开发者文档
任务和协程
任务简介
任务状态
任务优先级
任务调度
任务实现
协程状态
协程实现
协程优先级
协程调度
局限和限制
更多关于协程的信息……
协程简单示例
标准演示示例
队列、互斥锁、信号量……
队列
二进制信号量
计数信号量
互斥锁
递归互斥锁
直达任务通知
简介
……作为二进制信号量
……作为计数信号量
……作为事件组
……作为邮箱
流缓冲区 & 消息缓冲区
简介
……ISR 到任务流
……核心与核心间消息
软件定时器
简介
定时器服务守护进程任务
定时器守护进程配置
单触发 vs 自动重载
重置定时器
事件组(或“标志”)
源代码组织
FreeRTOSConfig.h
静态内存 vs 动态内存
堆内存管理
堆栈溢出保护
创建新项目
辅助文档
空闲任务
钩子(回调)
对称多处理 (SMP) 支持
内存保护支持
线程本地存储指针
阻塞多个对象
延迟中断处理
低功耗支持
跟踪功能
运行时间统计
移植指南
Legacy 跟踪功能
FreeRTOS 概念
RTOS 基本原理
多任务原理
调度原理
上下文切换
实时应用
实时调度
实现
构建模块
开发工具
RTOS 滴答
滴答分辨率
GCC 信号属性
GCC 裸属性
FreeRTOS 时钟滴答码
AVR 上下文
保存上下文
恢复上下文
具体示例
整合所有部分
步骤 1
步骤 2
步骤 3
步骤 4
步骤 5
步骤 6
步骤 7
RAM约束设计技巧
简介
解决方案 1
解决方案 2
解决方案 3
解决方案 4
在 Eclipse 中导入并构建 RTOS 演示项目
仿真/模拟
Windows 模拟器
Posix/Linux 模拟器
QEMU Cortex-M3
MPS2 (AN385) 上的 QEMU 仿真 ARM Cortex-M3
支持的设备
内核移植
演示
演示项目
支持的演示
演示快速启动
与硬件无关
修改演示
API 引用
任务创建
TaskHandle_t (type)
xTaskCreate()
xTaskCreateStatic()
vTaskDelete()
xTaskGetStaticBuffers()
任务控制
vTaskDelay()
vTaskDelayUntil()
xTaskDelayUntil()
uxTaskPriorityGet()
uxTaskPriorityGetFromISR()
uxTaskBasePriorityGet()
uxTaskBasePriorityGetFromISR()
vTaskPrioritySet()
vTaskSuspend()
vTaskResume()
xTaskResumeFromISR()
xTaskAbortDelay()
任务实用程序
uxTaskGetSystemState()
vTaskGetInfo()
xTaskGetApplicationTaskTag()
xTaskGetCurrentTaskHandle()
xTaskGetHandle()
xTaskGetIdleTaskHandle()
uxTaskGetStackHighWaterMark()
eTaskGetState()
pcTaskGetName()
xTaskGetTickCount()
xTaskGetTickCountFromISR()
xTaskGetSchedulerState()
uxTaskGetNumberOfTasks()
vTaskList()
vTaskStartTrace()
ulTaskEndTrace()
vTaskGetRunTimeStats()
vTaskSetApplicationTaskTag()
xTaskCallApplicationTaskHook()
'SetThreadLocalStoragePointer()
'GetThreadLocalStoragePointer()
vTaskSetTimeOutState()
xTaskCheckForTimeOut()
RTOS 内核控制
taskYIELD()
taskENTER_CRITICAL()
taskEXIT_CRITICAL()
taskENTER_CRITICAL_FROM_ISR()
taskEXIT_CRITICAL_FROM_ISR()
taskDISABLE_INTERRUPTS()
taskENABLE_INTERRUPTS()
vTaskStartScheduler()
vTaskEndScheduler()
vTaskSuspendAll()
xTaskResumeAll()
vTaskStepTick()
xTaskCatchUpTicks()
直达任务通知
xTaskNotifyGive()
vTaskNotifyGiveFromISR()
ulTaskNotifyTake()
xTaskNotify()
xTaskNotifyAndQuery()
xTaskNotifyAndQueryFromISR()
xTaskNotifyFromISR()
xTaskNotifyWait()
xTaskNotifyStateClear()
ulTaskNotifyValueClear()
队列
xQueueCreate()
xQueueCreateStatic()
vQueueDelete()
xQueueSend()
xQueueSendFromISR()
xQueueSendToBack()
xQueueSendToBackFromISR()
xQueueSendToFront()
xQueueSendToFrontFromISR()
xQueueReceive()
xQueueReceiveFromISR()
uxQueueMessagesWaiting()
uxQueueMessagesWaitingFromISR()
uxQueueSpacesAvailable()
xQueueReset()
xQueueOverwrite()
xQueueOverwriteFromISR()
xQueuePeek()
xQueuePeekFromISR()
vQueueAddToRegistry()
vQueueUnregisterQueue()
pcQueueGetName()
xQueueIsQueueFullFromISR()
xQueueIsQueueEmptyFromISR()
xQueueGetStaticBuffers()
队列集
xQueueCreateSet()
xQueueAddToSet()
xQueueRemoveFromSet()
xQueueSelectFromSet()
xQueueSelectFromSetFromISR()
流缓冲区
xStreamBufferCreate()
xStreamBufferCreateStatic()
xStreamBufferSend()
xStreamBufferSendFromISR()
xStreamBufferReceive()
xStreamBufferReceiveFromISR()
vStreamBufferDelete()
xStreamBufferBytesAvailable()
xStreamBufferSpacesAvailable()
xStreamBufferSetTriggerLevel()
xStreamBufferReset()
xStreamBufferIsEmpty()
xStreamBufferIsFull()
xStreamBufferGetStaticBuffers()
消息缓冲区
xMessageBufferCreate()
xMessageBufferCreateStatic()
xMessageBufferSend()
xMessageBufferSendFromISR()
xMessageBufferReceive()
xMessageBufferReceiveFromISR()
vMessageBufferDelete()
xMessageBufferSpacesAvailable()
xMessageBufferReset()
xMessageBufferIsEmpty()
xMessageBufferIsFull()
xMessageBufferGetStaticBuffers()
信号量/互斥锁
xSemaphoreCreateBinary()
xSemaphoreCreateBinaryStatic()
vSemaphoreCreateBinary()
xSemaphoreCreateCounting()
xSemaphoreCreateCountingStatic()
xSemaphoreCreateMutex()
xSemaphoreCreateMutexStatic()
xSem'CreateRecursiveMutex()
xSem'CreateRecursiveMutexStatic()
vSemaphoreDelete()
xSemaphoreGetMutexHolder()
uxSemaphoreGetCount()
xSemaphoreTake()
xSemaphoreTakeFromISR()
xSemaphoreTakeRecursive()
xSemaphoreGive()
xSemaphoreGiveRecursive()
xSemaphoreGiveFromISR()
xSemaphoreGetStaticBuffer()
软件定时器
xTimerCreate()
xTimerCreateStatic()
xTimerIsTimerActive()
xTimerStart()
xTimerStop()
xTimerChangePeriod()
xTimerDelete()
xTimerReset()
xTimerStartFromISR()
xTimerStopFromISR()
xTimerChangePeriodFromISR()
xTimerResetFromISR()
pvTimerGetTimerID()
vTimerSetReloadMode()
vTimerSetTimerID()
xTimerGetTimerDaemonTaskHandle()
xTimerPendFunctionCall()
xTimerPendFunctionCallFromISR()
pcTimerGetName()
xTimerGetPeriod()
xTimerGetExpiryTime()
xTimerGetReloadMode()
事件组(或“标志”)
xEventGroupCreate()
xEventGroupCreateStatic()
vEventGroupDelete()
xEventGroupWaitBits()
xEventGroupSetBits()
xEventGroupSetBitsFromISR()
xEventGroupClearBits()
xEventGroupClearBitsFromISR()
xEventGroupGetBits()
xEventGroupGetBitsFromISR()
xEventGroupSync()
xEventGroupGetStaticBuffer()
FreeRTOS-MPU 特定
xTaskCreateRestricted()
xTaskCreateRestrictedStatic()
vTaskAllocateMPURegions()
'SWITCH_TO_USER_MODE()
协程
CoRoutineHandle_t (type)
xCoRoutineCreate()
crDELAY()
crQUEUE_SEND()
crQUEUE_RECEIVE()
crQUEUE_SEND_FROM_ISR()
crQUEUE_RECEIVE_FROM_ISR()
vCoRoutineSchedule()
许可
最新资讯
简化任何设备的身份验证云连接。
带有 ExpressLink 的 Wi-Fi 和蜂窝连接模块如何帮助创建安全的云连接设备。请参阅
博客文章
。
利用 CoAP 设计节能型云连接 IoT 解决方案。
基于 UDP 的客户端/服务器、请求/响应协议,具有高效性和云兼容性。请参阅
博客文章
。
11.0.0 版 FreeRTOS 内核简介:
支持对称多处理 (SMP) 的重要版本。请参阅
博客文章
。
FreeRTOS 路线图和代码贡献流程。
FreeRTOS 路线图和代码贡献流程现已在此处和 GitHub 上发布。请参阅
博客文章
。
使用 FreeRTOS 实现 OPC-UA over TSN。
一个开发项目,旨在让应用程序能够一致地访问硬件 TSN 功能。请参阅
博客文章
。
This site requires JavaScript
to be enabled.
Click here
to
查看静态菜单。
内核
>
辅助文档
>
FreeRTOS 概念
>
实现
>
详细示例
>
整合所有部分
整合所有部分
[
详细示例
]
第 2 节的最后部分展示了如何使用这些构建块和源代码模块来实现 AVR 微控制器上的 RTOS 上下文切换。该示例以七个步骤演示了从名为 TaskA 的低优先级任务切换到名为 TaskB 的高优先级任务的过程。
源代码与 WinAVR C 开发工具兼容。
下一步:
RTOS实现 - 详细示例步骤 1
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.