【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网页光栅化_光栅净化

    网页光栅化_光栅净化资料:https://blog.csdn.net/luoshengyang/article/details/51348829总结来说,分块的光栅化过程包含了以下三个主要的步骤:1.根据分块的可见性,将它们划分到不同的Bin中。2.根据内存限制策略,从优先级较高的Bin中选集出需要光栅化的分块。3.为每一个需要光栅化的分块分配光栅化内存…

    2022年10月21日
    0
  • c语言反三角函数有哪些,反三角函数公式有哪些?

    01反三角函数公式包括1、arcsin(-x)=-arcsinx。2、arccos(-x)=π-arccosx。3、arctan(-x)=-arctanx。4、arccot(-x)=π-arccotx。5、arcsinx+arccosx=π/2=arctanx+arccotx。6、sin(arcsinx)=x=cos(arccosx)=tan(arctanx)=cot(arccotx)。7、当x∈…

    2022年4月8日
    179
  • python3.9多线程_python创建多线程

    python3.9多线程_python创建多线程什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其

    2022年7月30日
    20
  • css 滤镜之AlphaImageLoader「建议收藏」

    css 滤镜之AlphaImageLoader「建议收藏」CreateTime–2017年12月25日17:05:37Author:Marydonie滤镜特效之AlphaImageLoader作用:用于设置背景图片特效样式使用条件:IE8及以下

    2022年7月3日
    16
  • Python之字典添加元素

    Python之字典添加元素手动推荐知识点字典创建->创建字典(7种方式)删除元素->字典删除元素(6种方式)修改元素->字典修改元素(4种方式)遍历元素->字典遍历元素(4种方式)查找元素->字典查找元素(3种方式)本文使用代码book_dict={“price”:500,”bookName”:”Python设计”,”weight”:”250g”}第一种方式:使用[]book_dict[“owner”]=”tyson”说明:中.

    2022年6月17日
    41
  • MFC进度条控件(六)

    MFC进度条控件(六)程序功能:点击按键进度条前进到满格。(一)初始化//TODO:在此添加额外的初始化代码 m_progress.SetRange32(0,100);//设置进度条最小和最大值按键函数入口双击按键(二)按键函数voidCMFCday5ADlg::OnBnClickedButton1(){ //TODO:在此添加控件通知处理程序代码 SetTimer(1,100,NULL);//设置定时器1,每次计时100毫秒就定时到 GetDlgItem(IDC_BUTTON1)-&g

    2022年7月27日
    4

发表回复

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

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