【ThreadX】Azure RTOS ThreadX概述
Azure RTOS ThreadX是Microsoft的高级工业级实时操作系统(RTOS),专门用于深度嵌入式,实时和IoT应用程序。Azure RTOS ThreadX提供了高级计划,通信,同步,计时器,内存管理和中断管理功能。此外,Azure RTOS ThreadX具有许多高级功能,包括其picokernel体系结构,抢先阈值计划,事件链,执行性能分析,性能指标和系统事件跟踪。结合其卓越的易用性,Azure RTOS ThreadX是最苛刻的嵌入式应用程序的理想选择。截至2017年,Azure RTOS ThreadX已在多种产品中进行了超过62亿次部署,包括消费类设备,医疗电子产品和工业控制设备。
API协议
Azure RTOS ThreadX API
- 直观一致的API
- 名词动词命名约定
- 所有API均具有领先的tx_,可轻松将其标识为Azure RTOS ThreadX
- 阻塞API具有可选的线程超时
- 可从应用程序ISR直接获得许多API
Azure RTOS ThreadX服务
- 动态线程创建
- 线程数无限制
- 主线程API包括:
- tx_thread_create
- tx_thread_delete
- tx_thread_preemption_change
- tx_thread_priority_change
- tx_thread_relinquish
- tx_thread_reset
- tx_thread_resume
- tx_thread_sleep
- tx_thread_suspend
- tx_thread_terminate
- tx_thread_wait_abort
- 附加信息和性能API
消息队列
- 动态队列创建
- 队列数量无限制
- 通过值(或通过指针引用)复制的消息
- 邮件大小从1到16个32位字
- 空和满时可选螺纹悬挂
- 所有暂停的可选超时
- 主要消息队列API包括:
- tx_queue_create
- tx_queue_delete
- tx_queue_flush
- tx_queue_front_send
- tx_queue_receive
- tx_queue_send_notify
- 附加信息和性能API
计数信号量
- 动态信号量创建
- 信号灯数量无限制
- 32位计数信号量(0到4,294,967,295)
- 支持消费者生产者或资源保护
- 当信号灯不可用时,可选的线程悬挂
- 所有暂停的可选超时
- 主要的信号量API包括:
- tx_semaphore_create
- tx_semaphore_delete
- tx_semaphore_get
- tx_semaphore_put
- tx_semaphore_put_notify
- 附加信息和性能API
互斥体
- 动态互斥体创建
- 互斥量的数量没有限制
- 支持嵌套资源保护
- 支持可选的优先级继承
- 互斥锁不可用时可选的线程挂起
- 所有暂停的可选超时
- 主要互斥量API包括:
- tx_mutex_create
- tx_mutex_delete
- tx_mutex_get
- tx_mutex_put
- 附加信息和性能API
事件标志
- 动态事件标志组的创建
- 对事件标志组的数量没有限制
- 同步一个或多个线程
- 支持原子获取和清除
- 对AND / OR事件集的可选多线程挂起
- 所有暂停的可选超时
- 主要事件标志API包括:
- tx_event_flags_create
- tx_event_flags_delete
- tx_event_flags_get
- tx_event_flags_set
- tx_event_flags_set_notify
- 附加信息和性能API
块内存池
- 动态块池创建
- 块池数量无限制
- 固定大小的块或池的大小没有限制
- 最快的内存分配/交易位置
- 空池上的可选线程悬挂
- 所有暂停的可选超时
- 主要块池API包括:
- tx_block_pool_create
- tx_block_pool_delete
- tx_block_allocate
- tx_block_release
- 附加信息和性能API
字节内存池
- 动态字节池创建
- 字节池数量无限制
- 字节池大小无限制
- 最灵活的可变长度内存分配/取消分配
- 支持分配大小位置
- 空池上的可选线程悬挂
- 所有暂停的可选超时
- 主要的字节池API包括:
- tx_byte_pool_create
- tx_byte_pool_delete
- tx_byte_allocate
- tx_byte_release
- 附加信息和性能API
应用计时器
- 动态计时器创建
- 计时器数量无限制
- 支持定期或单次计时器
- 定期计时器可能具有不同的初始到期值
- 无需搜索计时器激活或停用
- 所有定时器由一个硬件定时器中断驱动
- 主要的计时器API包括:
- tx_timer_create
- tx_timer_delete
- tx_timer_activate
- tx_timer_change
- tx_timer_deactivate
- 附加信息和性能API
Azure RTOS ThreadX核心计划程序
- 最小2KB闪存,1KB RAM占用空间
- 快速的亚微秒上下文切换
- 完全确定性,与线程数无关
- 基于优先级的完全抢占式调度
- 32个默认优先级,可选最高1024级
- 优先级(FIFO)内的协作调度
- 抢占阈值技术
- 可选的计时器服务,包括:
- 每线程可选的时间片
- 所有阻塞的可选超时
- API需要硬件计时器中断
- 执行性能分析
- 系统级跟踪
- 通过许多标准的安全认证
【来源】
【ThreadX】Azure RTOS ThreadX概述的更多相关文章
- Azure 认知服务概述
背景知识 近些年随着机器学习.深度学习等技术的不断发展,人工智能在越来越多的场景得到了应用,如人脸识别.图像识别.语音识别.语音生成.自然语言处理.决策分析等等,让机器拥有了听.说.看和思考的能力,很 ...
- Azure CosmosDB (1) 概述
<Windows Azure Platform 系列文章目录> Azure CosmosDB是一个全球分布式数据库服务(Global Distributed Database),提供低延迟 ...
- Azure 虚拟机代理概述
Azure 虚拟机代理(AM 代理)是受保护的轻型过程,用于管理 VM 与 Azure 结构控制器的交互. VM 代理有一个主要角色,目的是启用和执行 Azure 虚拟机扩展. VM 扩展可用于对虚拟 ...
- Azure Resource Manager 概述
应用程序的基础结构通常由许多组件构成:可能有虚拟机.存储帐户和虚拟网络,或 Web 应用.数据库.数据库服务器和第三方服务. 这些组件不会以独立的实体出现,而是以单个实体的相关部件和依赖部件出现. 如 ...
- ThreadX移植——STM32H7+MDK-AC6平台
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 在uCOS全家桶宣布开源之后被微软收购的ThreadX也开源了,真是喜大普奔,对于我们这些嵌入式行业从业者来说,能 ...
- 免费电子书:Azure Web Apps开发者入门
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:之前介绍过微软正在逐步出版一个名为Azure Essential的入门系列教程,最近刚 ...
- 设置将 Microsoft Azure 的网络基础结构以支持设置为灾难恢复站点
Prateek Sharma 云 + Enterprise 高级项目经理 Azure SiteRecovery (ASR)可以将Microsoft Azure用作您的虚拟机的灾难恢复站点. 当管理 ...
- 使用Windows Azure创建Windows系统虚拟机-上
创建虚拟机来运行Windows 本教程介绍了如何轻松创建运行Windows 的 Azure虚拟机(VM),用作来自Azure管理门户中映像图库的Windows 服务器映像.映像图库提供了多种图像,包括 ...
- 使用Windows Azure创建Linux系统虚拟机-上
创建虚拟机来运行Linux 当您在Azure管理门户中使用映像图库时,创建运行Linux的虚拟机很容易.本指南告诉您如何做到这一点,假设你没有使用过Azure. 注意: 即使你不需要使用过Azure虚 ...
- Azure cli使用arm创建多网卡虚拟机
登录 Azure CLI 并使用 Resource Manager 模式: azure config mode arm 在以下示例中,请将示例参数名称替换为你自己的值.示例参数名称包括 myResou ...
随机推荐
- 开源MES/免费MES/开源mes 生产管理流程
开源MES/免费MES/开源MES生产流程管理 一.什么是MES生产管理流程 生产管理系统(又称制造执行系统)是一种集成了计划.生产.质量控制.库存管理和材料申请等生产流程的管理系统.工厂生产管理流程 ...
- 欢迎 Mixtral - 当前 Hugging Face 上最先进的 MoE 模型
最近,Mistral 发布了一个激动人心的大语言模型: Mixtral 8x7b,该模型把开放模型的性能带到了一个新高度,并在许多基准测试上表现优于 GPT-3.5.我们很高兴能够在 Hugging ...
- Redis 打怪升级进阶成神之路(2023 最新版)!
前面我们学习:MySQL 打怪升级进阶成神之路(2023 最新版)!,然后我们就开始了 NoSQL 卷王之路.从第一篇文章开始,我们逐步详细介绍了 Redis 基础理论与安装配置.9 种数据类型和应用 ...
- 网站优化之favicon.ico
本文于2015年底完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 背景 某一天在办公室分析产品首页加载速度时,无意中从Chrome浏览器的 ...
- 简单介绍JDK、JRE、JVM三者区别
简单介绍JDK vs JRE vs JVM三者区别 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习, ...
- [极客大挑战 2019]EasySQL 1
[极客大挑战 2019]EasySQL 1 观察题目,发现为登录界面,判断这道题的考点是SQL注入. 知识点 万能密码 知识点原理 当用户尝试登录时 网站后台会进行SQL查询,比如 [select * ...
- vue 遍历的汉字显示不同的颜色
<template> <div> <div class="stars"> <span v-for="(star, index) ...
- 增长黑客招聘条件 JD
HubSpot招聘T型营销人员加入我们的营销团队.担任此职务后,您将成为第二个致力于HubSpot正在构建的新产品的营销人员.由于其高度机密,我们无法告诉您该产品是什么. 我们正在寻找符合以下条件的人 ...
- java进行数据库操作的并发控制的2种方法
本文分享自华为云社区<java进行数据库操作的并发控制>,作者:张俭. 在现代应用编码中,从数据库里面find出来,进行一些业务逻辑操作,最后再save回去.即: Person perso ...
- CodeArts TestPlan:一站式测试管理平台
摘要:华为云正式发布CodeArts TestPlan,这是一款自主研发的一站式测试管理平台,沉淀了华为30多年高质量的软件测试工程方法与实践,覆盖测试计划.测试设计.测试执行和测试评估等全流程. 本 ...