前几天在翻看微信公众号时,意外发现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:rtos所在仓库,threadX本体,最重要的仓库,其他的仓库都是依赖于这个仓库;
filex:通过了各项安全认证的嵌入式文件系统;
netxduo:网络协议栈,支持以太网相关的常用协议,同样获得了一沓子的安全认证;
guix:图形界面(GUI)栈;
getting-started:帮助新手快速上手的帮助repo;
我们关注的自然是threadX这个仓库,首先需要把它clone到本地,由于github在国内链接速度较慢,我们可以在gitee上搜索threadX来查找别人已经转存到gitee的库,这样能明显提高下载速度。
下完以后的目录结构如下图:
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(1) — 了解ThreadX分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10330.html