2015年快要到年底了,今年半导体企业出了很多的事情。做为运行在芯片上的嵌入式实时操作系统RT-Thread,希望国内芯片厂家多多发力,RT-Thread会大力支持国内(32位)芯片厂家,让BSP分支列表里出现越来越多的国内芯片。这次发布的版本应该是年底RT-Thread v2.1.0正式版前的最后一个版本,这个版本相对上一个版本更多的是一些bug修正,然后就是更多的分支移植支持。
开发板集合:stm32f7-disco、更新成电容屏的lpc4088、龙芯、wrtnode2r
v2.1.0 beta这个版本加入了对龙芯1C300处理器的支持,而使用龙芯1C300处理器的智龙v2开发板分支主要由南京chinesebear来负责,包括了多个串口的支持等。后续还会在智龙v2开发板上与开源龙芯进行多项合作,包括硬件驱动、内核优化、功能扩展等功能,希望能够成为龙芯处理器平台上的专用安全、硬实时操作系统版本。
龙芯1C300+SDIO wifi无线网卡
另外一份新加的移植是针对新的ARM Cortex-M7芯片(stm32f7-disco)移植。这份移植最初由 小农 提交,后经过 Arda 和bernard的整理而成。在Cortex-M7上确实出现了一些和M3/4不一样的东西,例如cache相关的操作。因为cache的存在,它既带来了外存极大的性能提升,也带来了一些特殊操作(例如DMA)上需要对cache额外注意以避免数据一致性的问题。由于ST官方开发板stm32f7-disco功能比较齐全(SDRAM、RJ45以太网、TF卡、4.3寸液晶电容触摸屏、音频等),并且价格也还不错,所以后续在stm32分支上,可能主要会侧重到stm32f7-disco硬件平台上。在这份平台上,会把开发板上相关的硬件驱动配置完全,所以如果您有stm32f7-disco,可以一起来开发这个平台!
和MPU(微处理器)相关的,还有由weety贡献的dm365移植。同时也可以预披露下后续会有一份针对网络摄像头芯片方案移植出现(应该还在v2.1.0这个分支上)。这份分支也用到了POSIX相关的接口(例如pthread)。POSIX兼容接口又一次体现出了它的作用,为移植一些原来和Linux程序有一定关系的程序移植提供了便利性。不管是龙芯1C,stm32f7-disco还是dm365,以及后续的网络摄像头分支,都是微处理器方面的体现。它们都不再仅仅是一个微控制器,而是在当前SoC化背景下,性能、资源、成本的体现。摩尔定律依然还在半导体领域发挥着指挥棒的作用!
版本的具体更新情况可以参见github上的更改 记录文件 。因为这次也修正了几个比较重要的bug,所以这次也发布了RT-Thread 1.2.5升级版(修正了:文件系统中文件操作出错时的fd处理bug;mkdir/lseek出错时的fd处理bug;以及lwIP移植中的多任务保护问题)和2.0.2升级版。如果您还在使用RT-Thread 1.2.x系列版本,请记得升级。
随着时间推移到下半年,今年的2.1.0开发分支也将逐渐收尾,按照这个分支预先设立的roadmap情况,依然还有如下的特性未完成:
更全的POSIX兼容接口支持。当前beta版本主要解决的是read/write操作不能够用于BSD socket的问题。当然除了这个之外也有一部分接口不能兼容,例如没有POSIX signal接口。signal这个接口可能会是一个比较犯难的问题,这个依赖于要在RT-Thread线程管理基础上进行安全的实现。而system接口,目前已经支持了(虽然RT-Thread是一款线性地址空间的实时操作系统,但它确实支持了这类似执行外部应用的API接口:-) )。完善的select接口。目前select接口还仅局限于BSD socket接口,如果要让select也去对设备文件描述符进行操作,它就抓瞎了。所以后续的完善点也主要是针对设备文件描述符进行支持和完善。完善的termios、stdin功能接口。让命令行操作终端能够和一个标准的TTY更兼容(不是社区小伙伴也移植了vi编辑器么!)。
因为这些POSIX兼容接口的关系,可能部分功能特性会和编译器相关了,例如:如果您需要更多的POSIX特性,那么请使用GNU GCC编译及其内置的newlib C库。如果是armcc、iar编译器,大约可以保留一份基本的POSIX特性(例如pthread、文件系统接口以及BSD socket接口等)。通过类似的方向调整,当使用GNU GCC编译时,RT-Thread也许可能成为MPU(微处理器)上需要RTOS时的最佳开源嵌入式实时操作系统之一!当然明年依然还会在这个POSIX方向上继续走得更深入些:如何在低资源占用率上,也能够有比较齐全的POSIX功能特性等。我们还会力求RT-Thread操持着小巧,启动速度快等的优点。
双核双系统是一个令人感兴趣的方向,所以今年6月份在深圳的嵌入式沙龙上围绕着双系统做了一个 《Gemini》 的主题介绍。目前放出来的Gemini更多说的是SoC的双核或多核,两者通过共享内存、VBUS组件的方式进行通信。如果更泛泛些,其实也可以是板载的分离多芯片系统,例如ARM Cortex-A8 + Cortex-M3/4 MCU等。这个时候多片系统可以通过SPI、USB、双口RAM等方式连接起来进行双方的通信、交互。
在这个过程中,wrtnode团队也恰好有这样的多芯片创客开发板,在经过双方团队接触后,wrtnode确定在MCU上运行一份RT-Thread,然后另外一颗CPU芯片运行着linux openwrt系统,双方通过SPI的方式连接起来。wrtnode团队已经在这样的架构上进行了部分的开发: stm32 @ wrtnode2r 希望这份wrtnode2r能够尽快面世!
随着今年快结束,在抓紧完成今年预定目标的情况下,也在考虑着明年的方向。
物联网将是今后的重要方向,在未来,到2020年,预计将有数十亿,甚至上百亿的设备上线,设备不再是单纯的设备,而是一个个网络化设备。单纯的设备只能完成孤立的简单工作,联网的设备则能够产生无数的数据,并让人、物连接起来进行互动。类似百度IoT战略说的:连接是基础,智能是关键,数据是价值!
毫无疑问,物联网方向将是明年的重点方向,RT-Thread都能够在微控制器架构(一定的连接性,资源比较受限)或微处理器架构(可具备多种连接方式,资源相对丰富,功能性也可以更多)上提供统一的、平滑的快速启动,多连接特性,甚至是具备智能交互、语音交互、图像交互的基础系统软件平台(一些Wi-Fi、2G/3G支持情况,因为厂商代码的缘故,可以联系RT-Thread服务公司获得支持)。
门槛这个词依然需要反复提及到,今年原计划push更多的网络端辅助工具,不过还是不给力!这个必然得是再加强才是。今年下半年主要做的是对原有rt-thread.org网站的一次大幅改版,把老旧的网站替换成蝉知, 新的网站 风格。同时针对初学者的 《玩转嵌入式多任务程序设计》 书籍也在推进过程中,希望纸质书籍能够在明年通过出版社正式面世。
书籍配套的开发板
RT-Thread的服务公司上海睿赛德电子科技有限公司致力于帮助传统企业在物联网大潮中转型升级,基于开放的RT-Thread嵌入式操作系统,为传统企业提供专业和完善的IoT平台,解决方案和技术服务,以“硬件 + 软件 + 服务“的模式帮助传统企业实现产品的智能化,网络化和平台化,目前服务公司已经为数十家智能家电,家居,新能源,电力,水利,交通,工业等行业内的龙头企业提供了物联网解决方案和相关技术服务;
相关的商务合作可通过下列方式联系我们,微信号:q18102027,邮箱:business@rt-thread.com
RT-Thread v2.1.0 beta版本、v1.2.5稳定版本、v2.0.2稳定版本都可以通过百度的网盘下载到:
http://pan.baidu.com/s/1gdIaAQ3