美文网首页
Apache Mynewt起航——配置与安装

Apache Mynewt起航——配置与安装

作者: 罗超_ronios | 来源:发表于2019-01-09 11:40 被阅读0次

关于Apache Mynewt

Mynewt是由Apache基金会发起的一个开源IoT项目,目前最新版本为1.5.0。
Mynewt是一个专注于物联网应用的实时操作系统,包括低功耗蓝牙无线传输协议NimBLE。Mynewt提供基础的实时操作系统以及嵌入式中间件、闪存文件系统、网络堆栈以及嵌入式应用程序支持。

本专栏将从Mynewt的底层开始一步一步和大家一起学习这个新的系统,这期间将会涉及到Mynewt的newt工具、newtmgr管理工具、操作系统内核、BLE知识、BLE Mesh网络以及基于Mynewt操作系统的超宽带(Ultra Wide Band, UWB)定位系统设计。
由于后期会涉及BLE以及UWB等内容的开发,这里我们直接使用Decawave官方的DWM1001开发模块,该模块使用nRF52832+DW1000的结构,既能够支持蓝牙相关功能,又支持超宽带的应用与开发。

Mynewt安装

关于Mynewt的安装,Apache基金会主要提供了两种安装方式:原生安装以及Docker安装。

选项1(推荐):安装Newt工具,MyNewt OS实例(用于模拟目标),开发嵌入式软件的工具链(如GNU toolchain)。

选项2:一个配置以及运行Mynewt的简单、独立的方式,当然有一定的局限性。Newt工具和工具链在一个独立的Docker容器中已经包含,只需要将其安装到你的电脑上。
但是,这不是一个长期的选项,对于嵌入式系统开发而言,可能不能支持所有有用的、关键的特性。例如,Docker工具包中可用的USB设备映射,在新版本的Docker版本中将不再可用,此外采用Docker的方式通常将比原生安装会慢。

Linux原生安装

最新的Debian包存放在一个私有的APT仓库: https://github.com/JuulLabs-OSS/debian-mynewt,要使用apt-get安装,首先需要添加仓库以及公钥。

$ wget -qO - https://raw.githubusercontent.com/JuulLabs-OSS/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -

将二进制和源文件仓库添加到mynewt.list的apt源列表文件:

$ sudo tee /etc/apt/sources.list.d/mynewt.list <<EOF
>deb https://raw.githubusercontent.com/JuulLabs-OSS/debian-mynewt/master latest main
>EOF

更新可用包:

$sudo apt-get update

若出现错误,原因为需要使用Ubuntu的1704版本,因此只有更换方法,离线安装:

install_error
$sudo apt-get install newt

注意:若出现编译错误(如丢失sys/mman.h),需要保证有32位的glibc:

$sudo apt-get install gcc-multilib

方法2:手动下载安装

$ wget https://raw.githubusercontent.com/JuulLabs-OSS/binary-releases/master/mynewt-newt-tools_1.5.0/newt_1.5.0-1_amd64.deb
$ sudo dpkg -i newt_1.5.0-1_amd64.deb
# 也可以直接在提供的tools目录下找到newt_1.5.0-1_amd64.deb安装文件

检查newt安装

$which newt
/usr/bin/newt
$newt version
Apache Newt version: 1.5.0
#newt命令可以查看newt的详细信息
$newt

参考资料:
1、http://mynewt.apache.org/latest/get_started/docker.html
2、Mynewt设置与开始

相关文章

网友评论

      本文标题:Apache Mynewt起航——配置与安装

      本文链接:https://www.haomeiwen.com/subject/gqpwrqtx.html