对于Contiki 6Lowpan所有开发资源,我们建议直接从官方推荐链接下载,同时我们维护一个百度云盘的链接。方便大家下载。
Instant Contiki是VMware的虚拟机镜像文件,Contiki已经部署好所有6LowPan交叉编译、仿真环境,同时打包好工具、源码到这个Instant Contiki镜像文件。所以我们只需要下载后解压,并且尝试VMware虚拟机软件打开。
大文件(3个G),如果官方链接下载速度比较慢,尝试我们百度云盘下载,下载后直接解压。接下来,我们只需要在安装虚拟机打开编译运行。
注意:解压路径不要包含空格、中文等字符。
对于虚拟机,为了不必要麻烦,建议同我们版本保持一致。直接双击安装VMware-workstation-full-12.1.0-3272444.exe
一路Next。成功安装VMware后,我们双击桌面图标启动软件。选择打开虚拟机->刚才Contiki的解压路径选择打开。
在启动InstantContiki3.0前,我们先配置网络连接为桥接模式,方便同Windows进行SSH远程连接实现文件共享。右键选择InstantContiki3.0->设置(S),配置后我们选择开启此虚拟机。
成功启动Ubuntu后,我们需要在此界面输入密码:user
提示:成功输入密码进入桌面后,我们可以选择Ctrl+Alt+Enter进入退出全屏模式,一旦点击虚拟机桌面,我们鼠标/键盘设备将被虚拟机独占 使用,退出该使用,按住Ctrl+Alt按键。将鼠标放置屏幕顶端会出来VMware菜单。
成功进入桌面后,我们首先确定网络连接状态。确定其正常桥接了Windows的网络适配器,并且成功分配IP,并且能够正常访问Internet。
记住以上IP,我们尝试在Windows命令窗口(Win+R CMD)ping虚拟机。
正常访问连接后,我们打开桌面Terminal
,用户user
的contiki
路径下保存Contiki 所有源码。
cd /home/user/contiki
ls -al
Contiki源码通过Git进行版本管理,Clone远程地址https://github.com/contiki-os/contiki。 当前版本不一定是最新,我们先尝试更新。
git submodule sync && git submodule update --init
这里我们尝试编译进入到contiki/examples/cc26xx
编译我们第一个例程。
cd contiki/examples/cc26xx
make TARGET=srf06-cc26xx BOARD=launchpad/cc2650
成功编译后,在我们当前目录会生成一个*.bin,这就是我们硬件的可执行文件。
接下来,我们讨论如何将bin拷贝到Windows进行下载。
SSH 是一个扩平台的远程登录会话协议,利用它,我们可以轻松实现在Windows上面访问Ubuntu虚拟机,同时轻松实现、Terminal远程连接。文件共享
在虚拟机上面,我们直接安装SSH服务端,在线更新,确保网络连接。
sudo apt-get install openssh-server
#键入密码 user
Windows安装 SSHSecureShellClient-3.2.9.exe
,成功安装后打开SSH Secure Shell Client
->Profiles->Add Profile->输入名字->Edit Profile,
注意:这里端口号固定为22,IP地址是我们虚拟机桥接Windows分配的IP地址。
成功配置后,我们点击连接,同时需要输入我们Usert
用的密码user
。
成功连接后,我们启用文件传输工具,下载刚才的成功编译的*.bin。
我们直接通
Flash Flash Programmer 2 是一款Windows离线编程工具,利用它我们可以将虚拟机编译的的*.bin直接烧写到我们CC2650 Flash固化。
BUILD FAILED
/home/user/contiki/tools/cooja/build.xml:199: The following error occurred while executing this line:
/home/user/contiki/tools/cooja/apps/mspsim/build.xml:29: -
----------------
Could not find the MSPSim build file. Did you run "git submodule update --init"?
----------------
第一次下载编译Contiki 源码需要git更新,同时保持子模块也最新版本。所以会编译报错。
# 确保使用最新的 cc26xxware
$ git submodule sync && git submodule update --init
user@instant-contiki:~/contiki/examples/cc26xx$ make TARGET=srf06-cc26xx BOARD=srf06/cc26xx
CC cc26xx-demo.c
In file included from ../../platform/srf06-cc26xx/./contiki-conf.h:420:0,
from ../../core/./contiki.h:38,
from cc26xx-demo.c:79:
../../platform/srf06-cc26xx/srf06/cc26xx/board.h:58:17: fatal error: ioc.h: No such file or directory
#include "ioc.h"
更新最新的cc26xxware软件。
# 确保使用最新的 cc26xxware
$ git submodule sync && git submodule update --init
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。