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需要硬件計時器中斷
- 執行性能分析
- 系統級跟蹤
- 通過許多標准的安全認證
【來源】