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

 

來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM