6LowPan 开发之开山篇

本文参考:

http://blog.csdn.net/xukai871105/article/details/9204101

1.基本概念

1) instant contikit    Ubuntu contiki linux 安装包

2) SDCC   8051 C 交叉编译器

2.安装instant contiki

2.1 下载Instant Contiki

contiki-2.6/contiki-2.7

文件大小约为2.0G,解压后约为5.0G,请下载之前准备好硬盘空间。

2.2 安装VMWare Player

VMWare Player为免费软件,可以放心使用。

2.3. 进入Instant Contiki.

请注意,密码为user

2.4 剩余问题

【未安装SDCC】

Instant contiki其实就是ubuntu,在ubuntu的基础上安装了cooja和msp430的编译环境,可以说instant contiki是一个完善的开发环境,但是并没有安装SDCC,而CC2530正需要SDCC的支持才可以完成编译。

【无法设置共享目录】

需要解决共享目录问题,否则instant contiki的make生成的hex文件无法通过smartRF Flash Programmer下载至目标板,为了解决这个问题需要安装vmware-tools。(或者设置共享目录,通过复制粘贴也可以实现”共享“)

3.定制SDCC

在开始定制SDCC之前,有以下几点需要说明,这也是上文提到的细节错误。如果不熟悉linux中从源代码安装软件,可以尝试从源代码安装python,源代码安装apache,练习两次那么安装SDCC就熟练多了。

【1】使用sudo apt-get install sdcc指令安装SDCC,在instant contiki中无法完成cc2530的编译,所以需要下载SDCC的源代码进行编译,这个过程本质为一个定制SDCC的过程。

【2】下载的并不是安装包,而是SDCC的源代码。简单的说这些SDCC的源代码可以编译成一个SDCC安装包。

【3】关于SDCC的版本编号,建议安装7100版本,虽然最新的版本为8447,但是实际安装的过程存在问题。

contiki-wiki中说明,SDCC的版本7102到8719存在问题,最新可用的版本为8737(截止2014年4月)。

【4】关于文件目录。在下面的具体过程中需要多次切换文件目录,一般的情况下第三方软件下载于opt目录。

3.1 必要的前提准备

3.1.1 安装Boost C++ Libraries

指令:sudo apt-get install libboost-graph-dev

3.1.2 安装srecord

指令:sudo apt-get install srecord

以上两个部分安装的过程中都有可能出现下载速度非常缓慢的情况,如果您今天心情好,可以耐心等待;如果您今天心情不好,请改天再试试。如果你实在无法忍受请修改ubuntu软件源

3.2 下载SDCC源代码

3.2.1 调整目录至opt

在下载SDCC源代码之前,最好把目录调整为opt。(SDCC源代码包随便您放在哪里目录)

指令:cd /opt

3.2.2 通过SVN命令下载SDCC

接着使用svn命令获得位于sourceforge的sdcc源代码,其中7100为版本号,建议使用该版本

指令:sudo svn co -r 7100 https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc/

【特别注意】SDCC的版本7102到8719存在问题,最新可用的版本为8737(截止2014年4月)

【技巧提示】虽然在控制台中无法使用ctrl-c和ctrl-v,但是可以使用右击+paste,这样可以加快输入的速度并避免错误。

【技巧提示】SVN为版本库管理工具,相关的工具还包括HG和GIT。

下载完之后,可以在opt/sdcc目录下看到以下文件:

图1 opt/sdcc文件夹内容

时间: 2024-12-18 13:30:30

6LowPan 开发之开山篇的相关文章

【DevOps】团队敏捷开发系列--开山篇

随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测试.发布更加快捷.频繁.高效和可靠. 本系列教程目录 本系列将详细讲解Devops落地细节.将构建整个持续集成与交付的一整套体系与流程.对于未来要开篇的系列博文列表如下: [DevOps]团队敏捷开发系列(一)--开山篇 [DevOps]团队敏捷开发系列(二)--版本控制之道Git [DevOps]

WCF开山篇__图片传输

WCF开山篇__图片传输 一.  简介 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序接口,可以翻译为Windows通讯接口,它是.NET框架的一部分,由 .NET Framework 3.0 开始引入,与 Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库.WCF由于集合了几乎由.

Android Metro风格的Launcher开发系列第二篇

前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开讲! Launcher主体框架实现: Launcher主体框架我选用的是大家所熟悉的ViewPager控件,因为ViewPager

Python开发【第一篇】:目录

本系列博文改编自武沛齐老师的原创博文,主要包含  Python基础.前端开发.Web框架.缓存以及队列等内容 ,用于学习记录成长!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python

在三星smart TV上开发widget-入门篇

一个 Smart TV 应用至少包含以下几部分: index.html 文件 应用程序的入口. config.xml 文件 这个xml文件放在应用结构的根目录,包含安装应用程序所需要的信息. JavaScript 文件 主要作用是控制应用程序的行为. CSS 文件 定义应用程序的布局,样式. Image 文件 图像资源. 示例应用 接下来会实现一个简单的应用程序,这个应用只包含了显示文本和打印遥控器的事件的功能. 实现config.xml文件 实现index.html文件 实现JavaScrip

DNN模块开发之利器篇:七种武器

我们在进行DNN模块开发时经常需要调用Dotnetnuke.dll中的方法函数,模块开发用到DNN的方法函数会让你的开发更加得心应手,下面我们就来介绍一下. 1) PortalModuleBase 所属命名空间:DotNetNuke.Entities.Modules 这是一个开发DNN模块所必须继承的基类,标志性的基类,在此基类中,你可以得到DNN所为你封装的一些模块基本信息,毋需你多费周折,其中包括当前用户UseID,UserInfo,TabID,ModulePath,ModuleConfig

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

快速Android开发系列网络篇之Android-Async-Http

快速Android开发系列网络篇之Android-Async-Http 转:http://www.cnblogs.com/angeldevil/p/3729808.html 先来看一下最基本的用法 AsyncHttpClient client = new AsyncHttpClient(); client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onSucce

【转载】Android Metro风格的Launcher开发系列第二篇

前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开讲! Launcher主体框架实现: Launcher主体框架我选用的是大家所熟悉的ViewPager控件,因为ViewPager