# CC2650 Contiki 开发环境搭建 对于Contiki 6Lowpan所有开发资源,我们建议直接从[官方](http://www.contiki-os.org/)推荐链接下载,同时我们维护一个百度云盘的链接。方便大家下载。 - [Contiki ](http://www.contiki-os.org/) - [Contiki-GitHub](https://github.com/contiki-os/contiki) ## 下载安装 ### 下载Instant Contiki **Instant Contiki**是VMware的虚拟机镜像文件,Contiki已经部署好所有6LowPan交叉编译、仿真环境,同时打包好工具、源码到这个**Instant Contiki**镜像文件。所以我们只需要下载后解压,并且尝试VMware虚拟机软件打开。 大文件(3个G),如果[官方链接](https://sourceforge.net/projects/contiki/files/Instant%20Contiki/)下载速度比较慢,尝试我们百度云盘下载,下载后直接解压。接下来,我们只需要在安装虚拟机打开编译运行。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/extract_files.png) > **注意**:解压路径不要包含空格、中文等字符。 ### 安装 VMWare 虚拟机 对于虚拟机,为了不必要麻烦,建议同我们版本保持一致。直接双击安装`VMware-workstation-full-12.1.0-3272444.exe` ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vware_install0.png) 一路Next。成功安装VMware后,我们双击桌面图标启动软件。选择**打开虚拟机**->刚才Contiki的解压路径选择打开。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vware_open.png) ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vware_install1.png) 在启动**InstantContiki3.0**前,我们先配置网络连接为桥接模式,方便同Windows进行SSH远程连接实现文件共享。右键选择**InstantContiki3.0**->设置(S),配置后我们选择**开启此虚拟机**。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vware_network.png) 成功启动Ubuntu后,我们需要在此界面输入密码:`user` ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/start_up.png) > **提示**:成功输入密码进入桌面后,我们可以选择Ctrl+Alt+Enter进入退出全屏模式,一旦点击虚拟机桌面,我们鼠标/键盘设备将被虚拟机独占 使用,退出该使用,按住Ctrl+Alt按键。将鼠标放置屏幕顶端会出来VMware菜单。 成功进入桌面后,我们首先确定网络连接状态。确定其正常桥接了Windows的网络适配器,并且成功分配IP,并且能够正常访问Internet。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vmware_connection_info.png) ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/vmware_connection_info2.png) 记住以上IP,我们尝试在Windows命令窗口(Win+R CMD)ping虚拟机。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/win_ping.png) 正常访问连接后,我们打开桌面`Terminal`,用户`user`的`contiki`路径下保存Contiki 所有源码。 ```shell cd /home/user/contiki ls -al ``` ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/contiki_source.png) Contiki源码通过Git进行版本管理,Clone远程地址https://github.com/contiki-os/contiki。 当前版本不一定是最新,我们先尝试更新。 ```shell git submodule sync && git submodule update --init ``` 这里我们尝试编译进入到`contiki/examples/cc26xx` 编译我们第一个例程。 ```shell cd contiki/examples/cc26xx make TARGET=srf06-cc26xx BOARD=launchpad/cc2650 ``` 成功编译后,在我们当前目录会生成一个*.bin,这就是我们硬件的可执行文件。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/compile_succed.png) 接下来,我们讨论如何将bin拷贝到Windows进行下载。 ### 安装SSH工具 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, ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/ssh_config.png) > **注意**:这里端口号固定为22,IP地址是我们虚拟机桥接Windows分配的IP地址。 成功配置后,我们点击连接,同时需要输入我们`Usert`用的密码`user`。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/ssh_connect.png) 成功连接后,我们启用文件传输工具,下载刚才的成功编译的*.bin。 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/trans_files.png) 我们直接通 ![](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/ssh_download.png) ### FlashProgrammer2 Flash Flash Programmer 2 是一款Windows离线编程工具,利用它我们可以将虚拟机编译的的*.bin直接烧写到我们CC2650 Flash固化。 ## Troubleshooting ### Coojia 编译失败 ![Coojia 编译失败](http://www.leconiot.com/md_res/cc2650/get_started/development_environment_set_up/images/coojia_build_failed.png) ``` 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 ``` ### CC26x0 编译错误,提示找不到ioc.h ``` 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**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.