概述
1、参考:https://riot-os.org/api/group__boards__openmote-cc2538.html
里面有OpenMote-CC2538 原理图,RIOT开源操作系统介绍
2、The CC2538, at the core of the OpenMote-CC2538, is a SoC from Texas
3、RIOT开源操作系统的源代码:https://github.com/RIOT-OS/RIOT
其官网:https://www.riot-os.org/#download
RIOT是面向开发者的,开源的,适合物联网的操作系统。它的背后没有某个公司的支持,而完全是由社区驱动。
- 标准的C/C++编程
- 标准的gcc编译环境
- 可以跑在8位,16位和32位的嵌入式系统上
- 部分的POSIX接口兼容(以后的目标是全兼容)
- 支持在Linux/Unix的虚拟机上运行
- 实时性,快速的中断响应(~50 clock cycles)
- 微内核,组件都可以动态加载,并且通过message来实现服务
- 极小开销的多线程支持(< 25 bytes per thread)
- 丰富的网络支持:6LoWPAN,IPv6,RPL,CoAP and CBOR
- 高精度的定时器
- 丰富的工具 (System shell, SHA-256, Bloom filters, …)
RIOT 架构框图
RIOT的CPU的IP驱动基本都有一套统一接口,但是没有任何抽象层,被放在源代码的cpu\periph中。这意味着在做新的平台支持时,你要注意驱动的接口要和API文档里的一致,比如ADC的adc_init(), adc_read()。源代码的drivers则放着板级的驱动,比如NXP的MMA8541,利用i2c统一接口来访问。
GNRC(Generic network stack)网络协议栈,它实现了从MAC层一直到传输层的各种协议,如6LowPan,IPv4/v6,RPL,TCP/UDP。并且这些不同的协议栈之间通过netapi统一接口开放给用户。对于应用层来说,GNRC提供了conn和socket两种API。在安全方面,貌似802.15.4这层没有加入AES的支持,只提供tinyDTLS在应用层给用户使用。由于RIOT的POSIX的部分兼容性,及提供BSD socket的接口,很多应用都可以方便的移植过来,在pkg/你能找到例如libcoap,openwsn这样的应用。
最后
以上就是酷酷香菇为你收集整理的OpenMote-CC2538 + RIOT 物联网新平台的全部内容,希望文章能够帮你解决OpenMote-CC2538 + RIOT 物联网新平台所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复