运行BSD?基于MIPS架构的PIC32微控制器的故事

当人们提到开源软件的时候,很多人会想到GNU/Linux操作系统和其庞大的开发者社区。然而,还有其它几个开源软件项目值得我们同样去关注,其中一个就是BSD操作系统——它是一个类Unix操作系统(如FreeBSD,OpenBSD,NetBSD)的集合,可以自由的开发和部署。如今部分BSD也已经融入到移动端和PC级的操作系统,例如苹果公司的OS X和iOS操作系统。

基于PIC32MX的RetroBSD

五年前, Serge Vakulenko启动了RetroBSD项目,作为一个MIPS开发工程师,他想知道在技术上是否有可能将16位的2.11版本BSD操作系统移植到PIC32微控制器上。结果证明不仅完美兼容,而且经过修改后的系统包含一些列的外设驱动,如GPIO,UART,SPI,LCD等。

不久便引起更多人的注意,而且RetroBSD演变成为一个独立的平台,并且应用到实际的项目中,如气象数据收集。几个月前有人在Hackaday.io网站上发布了一个RetroBSD的应用Demo,有超过3500次的点击量和27个关注者。

运行在基于MIPS架构的PIC32MX MCU上的RetroBSD操作系统

运行在基于MIPS架构的PIC32MX MCU上的RetroBSD操作系统

在本月初,DIY电子厂商Olimex推出了PIC32-RETROBSD,它是一款新的开发板卡,专门用于移植RetroBSD操作系统。这个开源套件包括一个PIC32MX微控制器且证明了MIPS架构的优越性,可以让开发者运行基于Unix开发的复杂操作系统,RAM容量要求可以低到128KB,同时还包含C编译器。

Olimex推出的PIC32-RETROBSD开发板卡,可运行类Unix操作系统

Olimex推出的PIC32-RETROBSD开发板卡,可运行类Unix操作系统

基于PIC32MZ的精简BSD(LiteBSD)

当推出PIC32MZ系列微控制器后,Serge开始调研是否有机会再一次创造奇迹。在此我非常激动的告诉大家他已经将更强大的4.4版本BSD操作系统移植到这系列微控制器上,并且启动LiteBSD项目。PIC32MZ MCU拥有512KB的RAM,开发人员可以使用LiteBSD运行更加复杂的软件应用。

目前大约有200KB的内存空间可供用户使用,由于TLB机制和分页支持这个数量可以是两倍,甚至是三倍。LiteBSD内核拥有全属性的网络TCP/IP模块,以太网驱动已经可以正常使用了。为ChipKITWiFIRE板卡开发的Wi-Fi无线驱动正在开发中(目前已经完成80%的工作量)。

运行在PIC32MZ MCU上的LiteBSD操作系统

运行在PIC32MZ MCU上的LiteBSD操作系统

除此之外,RetroBSD内核已经更新,让各种驱动采用同样的组织形式,这样就可以轻松在LiteBSD和RetroBSD间转换。这应该在一定程度上减少了驱动开发人员的工作量。

LiteBSD操作系统与MIPS架构的结合将会成为目前正在发展的物联网(IoT)市场中一个强有吸引力的全新的解决方案。除了PIC32系列微控制器,开发人员同样可以选择其他平台,例如三星ARTIK1开发套件,Creator Ci20和Ci40开发板卡,或者采用Ingenic X1000 SoC平台。

对于LiteBSD操作系统仍然还有很多工作要做,如C编译器,共享库,以及提升VM子系统,添加IPv6支持等。如果你想参与进来,可以访问主工程界面,查看建议使用的开发板卡列表。

原文链接:
http://blog.imgtec.com/mips-processors/can-it-run-bsd-the-story-of-a-mip...

声明:
本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利

--电子创新网--
粤ICP备12070055号