【01】初识ThreadX

【01】初识ThreadX简介ThreadX是一个成熟的商用硬实时嵌入式操作系统,被广泛应用于消费电子、航空航天、通信、工业控制与医疗等应用领域中,至今已服务超过62亿设备。它以轻量级的规模,提供了良好的实时性、可靠性与易用性,是嵌入式开发中不错的RTOS选择。凭借良好的发展势头,其母公司ExpressLogic于2019年被微软收购。技术上,ThreadXRTOS提供了高级调度、通信、同步、定时器、内存…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

 

简介

微内核

资料链接

入门索引


简介

ThreadX是一个成熟的商用硬实时嵌入式操作系统,被广泛应用于消费电子、航空航天、通信、工业控制与医疗等应用领域中,至今已服务超过62亿设备。它以轻量级的规模,提供了良好的实时性、可靠性与易用性,是嵌入式开发中不错的RTOS选择。凭借良好的发展势头,其母公司Express Logic于2019年被微软收购。

技术上,ThreadX RTOS提供了高级调度、通信、同步、定时器、内存管理、中断管理等基础功能。以及微内核体系结构、抢占阀值调度、事件链接、执行概要、性能指标和系统事件跟踪等高级特性。

作为一款老牌成熟商用操作系统,ThreadX提供了多种授权方案,包含Single Product、Single Product – Extended Branding、Product Family License、Microprocessor License、OEM License,甚至还有Custom License存在。并且授权后会提供完整源码,不收取运行时费用,也没有任何隐藏收费款项。


微内核

ThreadX采用微内核设计思想。所谓微内核,顾名思义就是精简的内核。将一般宏内核(例如linux kernel)中集成的系统服务层分离出来,变成可以根据需求动态加入的选件。优点是扩展性更高,资源占用更低,便于优化。缺点是标准微内核只提供了系统调度与核心功能,需要根据项目需求实现相关驱动,开发难度较大。

很重要的一点,微内核如果要对系统进行升级,只要用新模块替换旧模块即可,不需要改变整个操作系统,类似标准linux kernel的驱动模块。此外,ThreadX不像传统的内核架构那样在内核上层层叠加驱动,而是将服务直接插入核心调度。这样做能够提供更高效的上下文切换,提高服务调用性能。


资料链接

官网:https://rtos.com/solutions/threadx/real-time-operating-system/

Compatibility for POSIX:https://rtos.com/solutions/threadx/compatibility-for-posix/

API&User Guide:https://rtos.com/solutions/threadx/api/


入门索引

    ThreadX官网上提供了详细的文档、Windows下开发套件、多线程Demo。简要罗列如下:

 

  • ThreadX_User_Guide.pdf

    用户手册,入门必看。ThreadX采用picokernel”微内核”框架实现,目前最新版本为Version 5。

    没有额外说明的话,后续博文均默认参考该版本。

 

  • GUIX_User_Guide.pdf

    ThreadX提供了GUIX作为图形界面解决方案。GUIX专为嵌入式设计,原生就支持许多工业级显示需求。可以采用GUIX Studio快速开发。

 

  • GUIX_Studio_User_Guide-1.pdf

    ThreadX提供了运行于Windows环境的快速UI开发套件GUIX Studio。可以快速开发GUIX相关的图形界面程序。

 

  • FileX_User_Guide-1.pdf

    ThreadX提供了FileX作为文件系统解决方案。FileX支持FAT12、FAT16、FAT32、exFAT格式,可接入不限数量的存储设备(例如多块flash)。是一款采用连续分配实现的(ps:文件系统有三种分配方法,连续分配、链接分配和索引分配),高度优化的精简文件系统解决方案。

 

  • NetX_User_Guide-1.pdf

    ThreadX提供了NetX作为TCP/IP栈。NetX采用Piconet“微网络”框架,还实现了零拷贝机制,UDP快速寻址,BSD Socket API兼容等吸引人的特性。

 

  • NetX_Duo_User_Guide-1.pdf

    NetX Duo是基于NetX和Piconet的高性能实时网络解决方案。作为参考,其运行程序大小一般为5KB~30KB。

 

  • ThreadX_SMP_User_Guide.pdf

    ThreadX提供了SMP解决方案,同样采用picokernel”微内核”框架。作为参考,其运行程序大小一般为5KB~20KB。

 

  • USBX_Device_Stack_User_Guide-1.pdf
  • USBX_Host_Stack_User_Guide-1.pdf

    ThreadX提供了USBX作为USB框架,目前支持1.1、2.0和OTG规范(到2020.02.24为止还不支持3.0)。该框架分为设备侧与总线侧,两侧具有同样的三层结构:Controller layer | Stack layer | Class layer。

 

  • TraceX_User_Guide.pdf

    TraceX是一个运行于Windows环境的ThreadX RTOS系统分析工具。它提供了图形化的在线调试手段,便于用户分析嵌入式目标上运行的ThreadX系统事件信息,诊断系统问题,进行程序调优。

 

  • thread_metric_test_suite.zip

    官方发布的基准性能测试套件,用于测定当前ThreadX RTOS性能。

 

  • ThreadX_Demo_for_Win32.zip

    官方提供的上手Demo,一个完整的ThreadX多线程项目代码,可以在Windows环境中直接调试运行。

 

下一篇我们来搭建Windows端ThreadX学习开发环境。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215930.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 修正Thinkphp 3.2 分页Page类以支持URL路由

    修正Thinkphp 3.2 分页Page类以支持URL路由

    2021年10月28日
    31
  • 这篇不讨好任何人的回忆录,记录了我从双非学校到BAT/TMD六offer的原因

    这篇不讨好任何人的回忆录,记录了我从双非学校到BAT/TMD六offer的原因注:给我想个新名字好不好呀,采用了直接发百元红包!没别的,想让大家认识兔兔rabbit,说一下自己的经验教训,应该会对很多人有帮助。一、前言在今年,我要毕业了,基本结束了大学生活,踏入了工作环境,觉得是时候写一个总结,给这段时光一个交代,也让多年后的我,还能回忆起这段经历,不忘初心。想起小学作文有个结构叫“总分总”,那我就先来简单的总结一下这两个环境吧。二、我的学校和工作学校,说实话,出了省就很少人知道的学校,学生基本和一流互联网公司无缘,如果范围缩小到后端开发,我觉得可以把基本去掉.

    2022年9月15日
    0
  • ps -el_scalp revitalizer

    ps -el_scalp revitalizerkworker通过ps命令查看进程状态时,可以查看到kworker相关,大部分格式都是kworker/u2:0或者kworker/0:0H,查看资料得知:内核中有很多kworker,有绑定cpu的和不绑定cpu的,它支持cpu的hotplug时work的迁移。u:是unbound的缩写,代表没有绑定特定的CPU,kworker/u2:0中的2是wor…

    2022年9月25日
    0
  • 顺序OleDbCommand命名参数,你了解不?

    顺序OleDbCommand命名参数,你了解不?   接触到一个老的项目,里面大量使用OleDbConnection进行数据库操作,在执行SQL块语句时,对它的顺序参数、命名参数很不了解。据说不能使用命名参数,但我这里试验了一下,好像是可以的,只是对参数的顺序还是有要求。看看你能知道下面的输出结果吗?   测试环境:OleDbConnection+Oracle10G   using System;using System.Data…

    2022年5月19日
    36
  • sql中的升序和降序的区别_数据库中的降序

    sql中的升序和降序的区别_数据库中的降序select*from表名orderby字段名desc//降序select*from表名orderby字段名asc//升序降序:select*fromemporderbyempiddesc;//按empid这一列的值降序来排列查询出emp表升序:select*fromemporderbyag…

    2022年10月22日
    0
  • phpstorm激活码2021 07_在线激活

    (phpstorm激活码2021 07)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号