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需要硬件计时器中断

执行性能分析
系统级跟踪
通过许多标准的安全认证

来源