从源码深入接触ThreadX(1) --- 了解ThreadX

       前几天在翻看微信公众号时,意外发现ThreadX已经开源。通过了解,原来ThreadX的开发公司Express Logic在2019年4月被微软收购。经过了1年多的准备,微软将ThreadX包装成了azure-rtos并在github上开源。

       在国内嵌入式的圈子里,ThreadX可能还比较小众,大家更多的是使用之前就开放源代码的UCOS和FreeRTOS为主。当然,近两年随着大力的推广和新功能的迭代,国内的RT-Thread也越来越受关注。但在高安全产品领域内,比如汽车,工业设备,医疗设备,航空航天等领域内,ThreadX却是响当当的金字招牌。从他获得的一揽子安全认证就能看出这一点,很少有其他的RTOS能获得如此之全,安全等级之能高的认证,这一定是多年大量用户使用,不停迭代的结果。

       因此,这次ThreadX的开源对我来说是一个很好的机会,能够一睹ThreadX的芳容,了解它优秀的原因,了解它的运行机制,看看它的思路和机制是否能用于我们的日常工作中,提高我们自身软件的素养。

       由于在这之前没有接触过ThreadX,对它了解比较少,第一次接触到它的源码,这个系列博客属于记录阅读代码过程中的体会和理解。

       好吧,现在正式开始。ThreadX目前开源的主页为https://github.com/azure-rtos,底下有11个仓库

从源码深入接触ThreadX(1) --- 了解ThreadX_第1张图片

        其中比较重要的有以下几个:

        threadX:rtos所在仓库,threadX本体,最重要的仓库,其他的仓库都是依赖于这个仓库;

        filex:通过了各项安全认证的嵌入式文件系统;

        netxduo:网络协议栈,支持以太网相关的常用协议,同样获得了一沓子的安全认证;

        guix:图形界面(GUI)栈;

        getting-started:帮助新手快速上手的帮助repo;

        我们关注的自然是threadX这个仓库,首先需要把它clone到本地,由于github在国内链接速度较慢,我们可以在gitee上搜索threadX来查找别人已经转存到gitee的库,这样能明显提高下载速度。

        下完以后的目录结构如下图:

从源码深入接触ThreadX(1) --- 了解ThreadX_第2张图片

        common目录下是rtos主要的源码目录;

        port目录下提供了m0,m3,m4和m7的移植,可见主要是面对iot领域的。在我所在的汽车电子领域,arm还不是主流的mcu指令集,32bit单片机更多的是英飞凌的Aurix,瑞萨的RH850,NXP/ST的POWER PC这样的非arm指令集mcu。但这并不妨碍我们阅读源码来提高自己。

        samples目录下是使用threadX的例程。

        编辑器我是混合使用sourceinsight4和vscode,两者各有优势吧。

        这一篇主要就是一些准备工作和废话,下一篇就正式切入正题,来看一看common这个目录下的文件组成,然后选择一下第一个阅读的源码文件吧。

        

你可能感兴趣的:(ThreadX,mcu,rtos,安全,c语言)