zoukankan      html  css  js  c++  java
  • 【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需要硬件计时器中断
    • 执行性能分析
    • 系统级跟踪
    • 通过许多标准的安全认证

    来源

  • 相关阅读:
    Windows程序调试系列: 使用VC++生成调试信息 转
    mysql基础
    mysql bug
    VS2010下配置Winpcap 开发环境
    WIN7 下面 装XP
    Iptables 指南 1.1.19
    mysql内核 innodb存储引警(卷1)配书 用VS 2003 编绎 mysql-3.23.49 源代码
    cmake
    Windows+VS2012环境下编译调试MySQL源码 转
    哈佛图书馆自习室墙上的训言 (自勉)
  • 原文地址:https://www.cnblogs.com/skullboyer/p/13022640.html
Copyright © 2011-2022 走看看