2.1 初学者重要提示
1、 ThreadX是小型RTOS的巅峰之作,通过了各行各业的安全认证,并且大部分都是最高安全标准。作为中间件的USBX文件系统也通过了各种安全认证。
2.2 Express Logic公司介绍
ThreadX的作者是William lamie(同样是Nucleus RTOS的原始作者,于1990年发布)。1996的时候成立了Express Logic,并于1997发布首版ThreadX RTOS。
ThreadX4发布于2001年,ThreadX5发布于2005年,ThreadX6发布于2020年。
FileX – ThreadX的嵌入式文件系统于1999年发布首版。
NetX – ThreadX的嵌入式TCP / IP网络协议栈于2002年发布首版。
USBX – ThreadX的嵌入式USB协议栈于2004年发布首版。
2009年推出了适用于SMP多核环境的ThreadX。
2011年发布支持动态应用加载的ThreadX Modules。
GUIX – ThreadX的嵌入式UI于2014年发布首版。
Microsoft在2019年4月18日以未公开的价格购买了Express Logic。
2.2.1 ThreadX内核
ThreadX几乎是小型RTOS的巅峰之作,不管你之前用的那个OS,如果有精力建议还是学习下。62亿电子设备采用,是其它RTOS无法逾越的高山。ThreadX的产品涵盖了各种领域,包括NASA的多个太空探测项目,飞机自动驾驶仪系统,火星侦察轨道器等。
ThreadX及其所有中间件的安全认证等级,至今没有一款小型RTOS可以与其匹敌。这么多安全认证,公司要入大量财力,人力和物力才可以完成,早前Micrium的一篇文章还谈过这个问题,投入了太多资金和人力了,还与风河的VxWorks做了简单对比。
(1)医疗 - FDA510(k),IEC-62304 Class C,IEC-60601,ISO-14971
(2)工业 - UL-1998,IEC-61508 SIL 4
(3)运输/铁路 - EN50128 SIL 4,BS50128, 49CFR236,IEC-61508
(4)航空航天设备 - DO-178B,ED-12B,DO-278
(5)汽车 - IEC-61508 ASIL D
(6)核应用 - IEC-61508
(7)家电 - UL/IEC 60730/60335
规格如下:
2.2.2 NetX网络协议栈
ThreadX的网络协议栈对其它网络协议栈几乎是碾压性优势。一张图,几乎涵盖了我们日常项目大部分应用:
各个行业的安全认证:
物联网协议方向安全认证:
加密库也做了认证:
2.2.3 GUIX图形界面
GUIX用于图形界面设计,功能强劲,特别是配套的图形界面开发软件GUIX Studio,可以添加设置各种主题,各种界面效果,各种字体展示,各种图片格式设置,真的是一条龙,非常方便。而且GUIX有各种安全认证。
GUIX通过了医疗认证IEC-62304 Class C,汽车认证IEC-61508 ASIL D,工业认证IEC-61508 SIL 4和运输/铁路认证EN50128,表明GUIX可用于安全关键型系统。
规格如下:
2.2.4 FileX文件系统
ThreadX的文件系统非常强劲,通过了各行各业的高等级安全认证。其它文件系统别说安全认证了,安全措施都不多,甚至没有。
规格如下:
2.2.5 LevelX擦写均衡保护层
LevelX为NAND和NOR型Flash提供擦写均衡支持,并且对于NAND型,还支持ECC校验和坏块管理。
由于NAND和NOR型Flash擦除次数是有限的,因此均匀分配闪存使用至关重要。这通常称为擦写均衡,LevelX为此而生。LevelX向用户提供一个逻辑扇区阵列,这些逻辑扇区映射到LevelX内部的物理闪存。应用程序可以将LevelX与FileX结合使用,也可以直接读取/写入逻辑扇区。LevelX专为容错而设计。Flash更新是分多个步骤进行的,每个步骤都可以中断。在下一次操作期间,LevelX自动恢复到最佳状态。
2.3 ThreadX USBX简介
USBX 是一种高性能的USB Host、Device和OTG嵌入式协议栈。USBX 与ThreadX完美配套,适用于所有支持ThreadX的处理器。 与ThreadX一样,USBX 也采用占用空间小、性能高的设计,特别适用于需要与 USB 设备对接的深度嵌入式应用程序。
USBX Host/Device嵌入式USB 协议栈是工业级的嵌入式USB解决方案,专门设计用于深度嵌入式应用程序、实时应用程序和 IoT 应用程序。USBX提供Host、Device和 OTG 支持以及广泛类支持。 USBX 与 ThreadX 实时操作系统、FileX 嵌入式 FAT 兼容文件系统、NetX 和 NetXDuo 嵌入式 TCP/IP网络协议栈完美配套。凭借所有这些以及占用空间极小、执行速度快、易于使用的优势,USBX 已成为需要建立 USB 连接的、要求最高的嵌入式 IoT 应用程序的理想选择。
2.3.1 内存需求
USBX 的占用空间小,只需占用 10.5 KB 闪存和 5.1 KB RAM 来提供 USBX Device CDC/ACM 支持。 要提供 USBX Host CDC/ACM 支持,它至少需要占用 18 KB Flash和 25 KB RAM。
与 ThreadX 一样,USBX 的大小会根据应用程序实际使用的服务自动裁剪。无需复杂的配置和生成参数,使开发人员能够更轻松地实现。
2.3.2 USBX的USB规范认证
已使用 USB IF 标准测试工具 USBCV 对 USBX 设备堆栈进行严格的测试,以确保完全符合 USB 规范以及与不同主机系统的互操作性。 此外,USBX OTG 协议栈已由位于中国台湾的独立测试实验室 Allion 进行验证和认证。
2.3.3 USBX 支持的USB厂商
USBX 支持主流的 USB 标准,例如 OHCI 和 EHCI。
USB主机控制器:
USBX 支持 Atmel、Microchip、Philips、Renesas、ST、TI 和其他供应商提供的专有分立 USB 控制器。USBX 还支持同一应用程序中的多个Host控制器。
USB设备控制器:
USBX 支持 Analog Devices、Atmel、Microchip、NXP、Philips、Renesas、ST、TI 和其他供应商提供的流行 USB Device控制器。
知识补充:
通用主控制器接口(UHCI): 由 Intel 生产,适用于 USB 1.0 和 USB 1.1。使用 UHCI 时需要得到 Intel 的许可。该控制器支持低速模式和全速模式。
开放主控制器接口(OHCI): 由 Compaq、 Microsoft 和 National Semiconductor 生产, 适用于 USB 1.0 和 1.1。该控制器支持低速模式和全速模式, 并且它的效率比 UHCI 更高, 因为可以执行更多硬件功能。
扩展型主控制器接口(EHCI): 在 USB-IF 要求发布单一主控制器规范后,已经生产了该控制器,它适用于 USB2.0。 EHCI 仅支持高速传输,并且将低速和全速传输委托给 OHCI 或 UHCI 控制器执行。
2.3.4 USBX设备类支持
USBX 设备支持大多数流行类,包括 CDC/ACM、CDC/ECM、DFU、HID、PIMA (PTP/MTP) (w/MTP)、RNDIS 和 STORAGE。此外还支持自定义类。
2.3.5 USBX主机类支持
USBX 主机支持大多数流行类,包括 ASIX、AUDIO、CDC/ACM、CDC/ECM、GSER、HID(键盘、鼠标和远程控制)、HUB、PIMA (PTP/MTP)、PRINTER、PROLIFIC 和 STORAGE。
2.3.6 USBX自定义类支持
USBX 主机和设备支持自定义类。USBX软件包中提供了一个自定义类示例。
2.3.7 USBX的Pictbridge支持
USBX 在主机和设备上都支持Pictbridge 实现。Pictbridge 位于PIMA (PTP/MTP) 类的顶层。 PictBridge 允许将数码照相机或智能手机直接连接到打印机,而不使用 PC,从而可以直接使用特定的 Pictbridge 感知打印机进行打印。 当相机或手机连接到打印机时,打印机为 USB 主机,照相机为 USB 设备。 然而,在使用 Pictbridge 时,相机显示为主机,而且命令是从相机驱动的。 相机是存储服务器,打印机是存储客户端。 相机是打印客户端,打印机是打印服务器。Pictbridge 使用 USB 作为传输层,但依赖于 PTP(图片传输协议)作为通信协议。
2.3.8 API命名规则
FileX的函数命名规则是:Noun-verb naming convention (名词动词命名约定)。根据这个命名规格,我们实际看下个API,比如:fx_file_allocate ,前缀tx,名词file_,动词allocate。再看下面API截图(部分函数截图):
基本也都符合这个命名规则。
2.3.9 USBX的主机类API资源占用
USBX的 API遵循名词-动词命名约定。 所有 API 带有前导 ux_host_*,可以识别出它们是 USBX API。 所有阻塞 API 具有可选的线程超时。
2.3.10 USBX的设备类API资源占用
USBX的 API遵循名词-动词命名约定。 所有 API 带有前导 ux_device_*,可以识别出它们是 USBX API。 所有阻塞 API 具有可选的线程超时。
2.3.11 快速推向市场
USBX易于安装,学习,使用,调试,验证,认证和维护。因此,根据嵌入式市场预测专家(EMF)的调查,ThreadX在过去七年中一直是领先的上市时间RTOS。调查一致显示,使用ThreadX的设计中有70%可以按时投放市场-超过了所有其他RTOS。
可以快速推向市场的原因:
高质量文档。
完整的源代码。
易于使用的API。
高级特性。
广泛的第三方工具集成–特别是IAR。
2.3.12 高质量源代码
从一开始,ThreadX就被设计为工业级RTOS,并附带完整的C源代码。ThreadX源代码在质量和易于理解方面树立了标杆。此外,一个函数一个源文件的方式,大大方便用户查阅浏览。
ThreadX遵守严格的编码规范,包括要求每行C代码都必须有有意义的注释。此外,ThreadX源码已通过最高标准的认证。
2.4 ThreadX各行各业应用案例
ThreadX官网给出了航空航天,工业,汽车,医疗,消费电子,物联网,片上系统等方向的具体案例 : https://rtos.com/x-ware-showcase/
以消费电子方向为例,三星,NEST,HTC等都是其客户,对应的产品也非常多。并且这些产品的直接使用ThreadX全套,基本ThreadX有的,就不再使用第三方组件:
2.5 ThreadX论坛
针对ThreadX,专门建立了论坛版块:
http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12。
当然,大家也可以上USBX的官方Github开源地址提交问题:
https://github.com/azure-rtos 。
2.6 总结
关于ThreadX USBX就跟大家介绍这么多
上一篇:【STM32H7】第3章 ThreadX USBX协议栈移植到STM32H7
下一篇:【STM32F407】第1章 ThreadX USBX初学准备工作
推荐阅读最新更新时间:2024-11-12 10:21
推荐帖子
- 芯片il300-b的文档
- 请问论坛里面的各位朋友:需要用il300-bdip-8vishay这个芯片。不知道谁有,能不能给发一份。着急用;电子邮件地址是:872310481@sina.com芯片il300-b的文档原帖由真实的自我于2008-10-2115:06发表请问论坛里面的各位朋友:需要用il300-bdip-8vishay这个芯片。不知道谁有,能不能给发一份。着急用;电子邮件地址是:872310481@sina.com 是这个么?是这个?
- 真实的自我 电源技术
- 在农村创意多,哈哈
- 在农村创意多:空中农夫:实现自动收割,自动运输,自动浇水,自动采摘,自动送递等多项功能。无线放牧设备:放在牲畜身上可以具体知道它们的位置,防止丢失,还有越界报警,跑到地里吃东西就报警。无线自动浇水机:可以飞的那种。也可以是固定的那种。在农村创意多,哈哈这玩意儿是已经做出来的吗?还是准备找人做的?在想呢。:)空中农夫确实很好。农村现在人少。南方的农村又无法大规
- damiaa 创意市集
- 怎样复习单片机
- 马上就要期末考了,真不知道怎么去复习。虽然有看一点书,但就是不会归纳知识点。看书没什么重点,而且平常也是看看程序。怎样复习单片机建议你们老师开卷考试。有很多东西不需要背的老师应该会说一个大概范围的,没有范围没法儿复习,单片机的范围太广了。。。马上就要考试了呵呵可是还有很多程序不会写啊。看一遍书,笔记,作业。想想上课讲的东西真是不好弄啊怎么还能考具体的寄存器吗哈哈想想现在还有为大学考试担忧的真还有点欣慰啊,我们上大学的时候很多同学都是平时不上课,考试时候瞒天过海一
- oldhouse05 嵌入式系统
- VxWorks实时操作系统-VxWorks系统培训教材
- 教材简单介绍:课程设计------------------------------------------------培训分四个部分进行讲解:嵌入式实时操作系统VxWorks。VxWorks操作系统功能和使用方法。如何使用VxWorks搭建嵌入式系统。如何测试基于VxWorks的嵌入式设备以及案例分析。-------------------------------------------------课程介绍-----------------------------------
- zhaonaiqiang 实时操作系统RTOS
- 论文
- 基于FPGA的多路开关稳压电源的设计论文你自己准备怎么弄啊?自己想了吗?或者老师有什么要求啊你这样写写大家怎么帮你啊
- messiceding@126 FPGA/CPLD
- 【Follow me第二季第3期】 EK-RA6M5开发板开箱以及预编译程序测试
- 很开心能够参与【Followme第二季第3期】活动,这期开发板的厂商来自于瑞萨公司,其型号是RA6M5,通过活动页面,了解到这块开发板功能十分强大。一、开箱首先通过得捷商城进行下单,大约等个10来天收到了从美国发来的板子、开发板包装精美,有一块开发板、两根USB线、一根网线。二、预编译程序测试开发板上默认有四个LED灯亮,其中LED5是电源指示灯,LED4白色、LED2是绿色灯、LED1是渐变的蓝色,一亮一灭。按照开发板手册,在ek-ra6m5-
- swzswz DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- 【DDS模块】AD9834
- LTC1174 降压转换器的典型应用电路
- LTC3887 的典型应用——具有数字电源系统管理功能的双路输出多相降压型 DC/DC 控制器
- 五卡切换的PCB IC卡
- 全硅稳压器的典型应用
- DM163029,用于 PIC16F917 MCU 的机电一体化演示套件
- 当 LTC2377CMS-16 中启用数字增益压缩时,使用 LT6350 的典型应用被配置为接受 ±10V 输入信号,同时运行一个 5.5V 单电源
- 使用 FAN7930 进行边界传导模式功率因数校正 (PFC) 的设计考虑
- STM32Devkit
- FCDC 00159,用于 OTP 应用的精密可切换 Vout 稳压器