RIOT (操作系统)
RIOT 是一个适用于物联网装置的低内存占用操作系统。它是一个在LGPLv2下释出的开源软件。
开发者 | Martin Lenders、Benjamin Valentin、Alexandre Abadie |
---|---|
编程语言 | C、C++ |
操作系统家族 | 嵌入式操作系统 |
运作状态 | 活跃 |
原始码模式 | 开放原始码 |
当前版本 |
|
支持平台 | TI MSP430, ARM7, ARM Cortex-M0-M0+-M3-M4, Atmel AVR, MIPS32r2 |
内核类别 | 微内核 |
许可证 | LGPLv2 |
官方网站 | www |
仓库 |
背景
编辑它最初是由柏林自由大学(FU Berlin),法国国家资讯与自动化研究所(INRIA)和汉堡应用科技大学(HAW Hamburg)一同开发的。RIOT的内核基本上是从FireKernel继承的;[2] 这个内核原本是为传感器网络开发的。
技术资讯
编辑RIOT是基于微内核架构的。[3] 和其他低内存占用的系统(如TinyOS和Contiki)不同, RIOT允许使用C语言和C++语言编写应用程式,而且提供完整的多线程和实时响应解决方案。[4]
RIOT可以在8位单片机(比如AVR ATMega),16位单片机(比如MSP430)和32位单片机(比如ARM Cortex)上运行。[5] RIOT也可以作为一个Linux或macOS进程运行,这样就能使用诸如GNU编译器合集(GCC),GNU调试器,Valgrind,Wireshark等标准调试工具。RIOT符合一部分POSIX标准。
RIOT提供多种通信协议栈,[6]包括了IPv6、6LoWPAN和内容中心网络。它还支持RPL、[7]UDP、TCP和CoAP。
原始码
编辑RIOT的原始码在GitHub可见。一个国际化的开源社区负责其原始码维护。
另请参见
编辑参考文献
编辑- ^ https://github.com/RIOT-OS/RIOT/releases/tag/2024.04.
- ^ A Real-Time Kernel for Wireless Sensor Networks Employed in Rescue Scenarios, in Proceedings of the IEEE 34th Conference on Local Computer Networks (LCN), October 2009.. IEEE. 2013-10-20 [2014-05-18]. (原始内容存档于2013-11-09).
- ^ RIOT OS: Towards an OS for the Internet of Things, in Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM), April 2013 (PDF). IEEE. 2013-04-15 [2014-05-18]. (原始内容存档 (PDF)于2014-05-19).
- ^ Betriebssysteme für eingebettete Systeme im Internet der Dinge: Freie Fahrt für Experimentierfreudige, published in iX Developer Magazine, Special Issue on Embedded Software. Heise.de. 2014-02-14 [2014-05-18]. (原始内容存档于2014-06-17).
- ^ Avec RIOT, l’Internet des objets tient son OS temps reel open source. lembarque.com. 2014-04-09 [2014-05-18]. (原始内容存档于2014-05-16).
- ^ Simply RIOT: Teaching and Experimental Research in the Internet of Things, in Proceedings of the 13th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), April 2014. ACM. 2014-04-15 [2014-05-18].
- ^ "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", IETF Request For Comments 6550, March 2012. IETF. 2012-03-01 [2014-05-18]. (原始内容存档于2014-09-20).