- 本课程为精品课,您可以登录eeworld继续观看:
- CC2650DK-6LoWPAN开发环境搭建(上)
- 登录
- 课程目录
- 相关资源
- 课程笔记
大家好
今天我给大家介绍 CC2650DK-6LoWPAN
开发环境的搭建
好 我们来看一下准备工作
首先我们需要一个 Linux
Linux的环境
那我们可以用虚拟机或者实体机都可以
只要有一个Linux就可以了
接下来我们需要 contiki 的源码
和交叉编译器
最后我们需要一个 srecord 的工具
那我们讲一下这个 srecord 的工具
主要是用于一些编译之后的文件的格式转换
那这也是必不可少的
如果没有这个工具的话
你的用官方的 contiki 的源码中的 make 的话
它会提示报错
Linux 环境 这个看个人喜好
选择一款 Linux 桌面环境即可
在下使用的是 VirtualBox
运行 Ubuntu 作为日常的开发环境
那如果对 Linux 不太熟悉的话
我建议在后续的操作中
大家结合搜索引擎
对一些命令来加以理解
那后续可能会提供 IDE 的开发方式
比如说 IAR Embedded Workbench
那这样的话可能大家熟悉起来会快一点
接下来呢我们要克隆源码
克隆源码
我们这 contiki 官方的
git 代码仓库的
主站是这个这样一个地址
那这样的话我们可以在一些搜索引擎中
都可以搜索到的
那我们这里打开给大家看一下
是这样一个地址
找到之后呢
那这是 official git 代码仓库
分类 contiki 的
operating system 的一些简单的介绍
好 我们这里需要注意一个东西
那就是我们要进入这个 platform
找到我们的 smartRF06-CC26xx 的
那我们这里可以看到一些
Getting started with contiki for TI CC26xx
一些说明文档
那这个文档是非常重要的
我建议大家去好好的去看一下
那我们接着到 smartRF06 里面去看一下
简单就这几个文件
那接着我们来看一下 cpu
CPU 里面的 CC26xx
那我们看到这个 library
那我们这个 library 里面其实是空的
但是我们可以通过这里的指引
找到有一个另外一个代码仓库
那我们可以看到这是一个专门针对
contiki OS 的 CC26xx 的这样一个驱动库
那如果你需要一个完整版本的
你可以从 TI 去下载这个驱动库
那我不知道 TI 下载的这个驱动库
能不能直接放在这里编译过去
所以我建议大家这里直接使用
这里这个代码仓库提供的源码
那我们在克隆的时候需要注意
先去克隆 contiki 的源码
接着我们进入到 CPU CC26xx library 下面去
把这个 CC26xx 为这个空的文件夹删掉
然后我们直接在这个地方
在这个路径下面去克隆
另外一份源码就直接就是
它就相当于就克隆到你需要的地方了
那么在克隆的时候
我们需要注意一个要克隆 path
这克隆 path 可以理解为你当前
开发 CC2650DK 的这样的一个工作目录
这里也讲了
我们要进入到这个 CC26xx library
就是 cpu 的这个目录下面去
把这个空的文件夹删掉
然后去在这个位置就克隆
CC26xxware 的驱动的那个代码
那我们这里我的克隆 path ...C2650DK
也就是说我进入了 C2650DK
这个目录下面去
我去克隆 Contiki 的源码就可以了
那这个就是我的克隆的路径
也就是我的工作目录了
那后面我们都会用到的
你克隆在哪
你就是把你的这里全部介绍到的
克隆 path 全部替换成你自己的就可以了
CC26xx 我们那个库
库克隆的另外一个驱动的代码
是在这个位置去克隆
需要注意这个这一点就可以了
这里可以看到我们的一个代码仓库的
一个代码的截图示意图
主要就是两个源码可能下来就可以了
继续看
这样的话我们把源码克隆下来了
我们可以用命令来看一下我们的代码数
它有一些 apps cores cpus dev doc examples
等等 platform tools
那其实每一个文件夹下面
每个文件夹都是很有用的
就是说大家在后续的学习中
去一点点地了解了解它
接下来我们要安装我们的交叉编译器
比如说我们常说的工具链
那这个地址呢 是 launchpad
就 TI 专门针对 launchpad.net
这样一个网址上
我们可以找到 gcc-arm-embedded
这是一个优化过的 gcc 的编译器
也是很适合 TI 的一系列的 M3 M4 的开发
那我们选择这样的一个文件进行下载
比如 Linux 的也是最新的
4.9 的 2015 年的 Q2 0609
6 月份的比较新的
我们安装比较简单
就解压到你的安装路径就可以了
用 C 去嵌接到你的安装路径就可以了
这个是基本的 Linux 参数
希望大家不了解的去熟悉一下
那这个 install-path
就是你工具链想要安装的路径
那执行的命令是这样子的
我们可以 如果你不是很清楚的话
你直接把这个命令打进去
那 your-install-path
就是你的 path
这里修改一下就可以了
其他的都是一致的
然后解压完成之后
我们还要添加环境变量
然后我们输入以下内容
保存后退出
我们直接把它保存到这个 bashrc 中
那我们可以如下的来告诉这个环境变量
CC2560_toolchain_home
home 是什么呢
就是你安装的路径
然后后面是跟上我们这个编译器的名字
也就是我们之前下载的那个 .tar 的那个名字
这个是要一致的
你下载的什么版本的
这里就是什么样的一个文件名
因为他是在里面的
你可以直接去
your install path 里面去看
它解压出来的这个名字
这个文件夹的名字是什么
因为它是这个文件夹后面的 bin
我们可以看到后面 path
是带上这个 bin 的
其实它真的是在这个 bin 里面的
你可以直接把这个
写在这里也是可以的
就不要这一行也可以的
这种就是通用型的
然后重启终端
我们来检查工具链
那我们直接敲入 -v 来检查我们的版本
那这里我们也是检查了我们的版本 -v
我们可以看到这个版本 3.9.3 20510529
接下来我们要安装 Srecord 这个工具
那这个安装也比较简单
我是 Ubuntu 的
直接 apt-get install srecord 就可以了
那项目的主页在这里
大家如果想了解的话
可以去看一下
那简单的说这个工具
主要就是将 .hex 格式的文件
就是 i16hex
就是英特尔的 16 进制的 hex 文件
转化成标准的 hex 格式的文件
我们看一下这里
这个是我们安装之后的
工具链的版本
我们可以去这样去检测
那这样的话我们的工具链就已经安装完成了
我们接着讲
我们这里呢以两个简单的项目
来介绍一下如何去编译我们的 contiki 编码
那首先我们用一个最简单的 hello world
来讲解如何去编译 如何去下载
其次我们讲一个针对 CC2650 的 6loWPAN 的
这样一个应用的 demo
首先 hello world
那我们首先呢是要进入这个 contiki 源码的
examples/hello-world 当中
这里的 your-clone-path
就是你克隆 contiki 的源码的那个路径
那这个后面我就不讲了
直接就是这个hello world
那编译的时候我们 make target
我们要把这个 target 指定
指定成什么呢
就是我们的 SmartRF06CC2650
那这里的话
在我们的 make target 中
已经指定了他的固定的文件名称
就是 srf06-CC26xx
那后面跟的就是我们编译的目标文件
hello world
那我们也可以通过下面的方法保存
到 makefile.target 这种
make target=srf06-cc26xx savetarget
这样下次就可以直接用 make 来编译了
而不需要去指定 target
因为这个 target 已经被
指定到这个 makefile.target 当中
我们可以看出 make 最后会执行以下两条命令
也就是我们的那个 srec 命令
就是一些 hex 文件的转化
还有一个就是我们的 bin 文件的生成
我们这里可以看一下
看一下这是一个编译的结果
我们发现它编译出来了
编译出来之后
我们可以看到它有一个 bin 文件
还有 hex 文件
其实我们这里用 bin 文件就可以了
有个题外话这里说一下
关于 contiki 的 makefile 结构
我们这个需要参考
contiki/readme-building.md
这样的一个说明
那这里面讲的是比较详细的
它主要涵盖的一些内容
我这里简单的给大家说一下
那 make file 的项目
项目的 make file 在项目的目录下
也就是我们的一个 example 下面
比如说我们的hello world
这下面是有一个直接的 make file 的
那这个就是他的
你 make 的时候 直接找到了 makefile
那接着我们可以看到
另外一个就是 makefile.target
那就是我们的平台的
这个 target 是当前平台的名称
那是它主要是呢是什么作用呢
就是特殊平台的编译规则
在平台的子目录下 platform
那我们可以看到 platform
platform 下面我们有一个 srf06-CC26xx
那这个就是和我们前面的那个指定 target 时候
就是直接就对应上
就是这样一个统一的名称
makefile.CPU 就是另外一种 makefile
那他是 CPU 是当前平台使用的
CPU MCU 的结构名称
CPU 结构编译规则
就是CPU的那个编译规则
在 CPU 结构目录下面
与 CPU CC26xx 那在CC26xx 下面
会有个 makefile
是针对 26xx 的
它会以点什么什么的形式告诉你
它这个 CPU 就是当前使用平台的
这样一个名称
那最后还有还有一类 makefile 就是
makefile.app 那这个 APP 呢
是应用的名称
APP 下面的的应用的编译规则
也就是说我们这个应用要依赖哪些规则
它每个应用都有它自己独立的 makefile
那这个的话我们可以阅读源码中去了解它
关于下载呢
其实我们可以采用
SmartRF flash programmer 2 进行下载
那它可以通过调试和串行接口
对德州仪器基于 ARM 的
低功耗射频无线 MCU 中的闪存进行编程
CC2650DK 中就集成了 XDS100V3 的调试接口
我们详细的可以参考这个网址
我们下载的过程是怎样的呢
就是首先连接上我们的设备
打开这个什么 SmartRF flash programmer 2
第一步我们先刷新找到我们的设备
找到设备之后呢
我们可以看到这里有些设备信息
就是我们连接的是哪一个芯片
已经识别到了
识别了之后
我们接下来要选择我们的 hex 文件给他
那最后我们要做的一些动作
那我们先擦除 编程 然后校验
最后我们启动它
最终我们可以在这里
在状态栏看到它是否成功
那这个是我们烧写完 hello world 之后
那个一些调试信息
那么可以看到 starting contiki 2.6 版本
然后 driver lib 的版本
然后以及我们的平台 smartRF06EB-CC26xx EB module
使用的是CC2650
那最后我们看到可以看到
它打印出了 hello world
课程介绍
共计11课时,3小时7分49秒
猜你喜欢
换一换
推荐帖子
- 请教大家,TI_RTOS(Sys/bios) 中创建HWI与430硬件如何对应?
- 如题,例如静态创建一个HWI var hwi1Params = new Hwi.Params(); hwi1Params.instance.name = "hwi1"; hwi1Params.arg = 0; Program.global.hwi1 = Hwi.create(51, "&iUsbInterruptHandler", hwi1Params); 1、这个51就是中...
- chinasunjia123 微控制器 MCU
- pic16f877 tm0使LED每隔10ms闪亮代码
- /* * File: main.c * Author: ssais * * Created on 2018年9月19日, 上午8:54 */ #include #define LED RB0 #define TO_10MS 100 char A; void __interrupt() ISR(void); void main() { ...
- Jacktang 微控制器 MCU
- 拆了个可编程电源,上面用了不少TI的芯片
- 本帖最后由 dontium 于 2015-1-23 11:09 编辑 2颗16位DA,一颗24位AD; 不过这电源老坏; 有一个叫的蓉儿朋友,买了他们的电子负载,不到1天就坏了,不过幸好返修包邮费;不过厂家的态度挺好的; 曾经的经历: 有一次刚好客户过来参观,用了这家公司的电源,给这台电源通了AC220V后,电源竟然无缘无故冒烟; 打开看后,里面的电容爆了,后来询问厂家,厂家说中间有一...
- music_586 模拟与混合信号
- TMS320F28035 双向 400V-12V DC/DC 转换器设计
- 双向 400V-12V 直流/直流转换器参考设计通过基于微控制器的方式实现了一种隔离式双向直流/直流转换器。具有同步整流的相移全桥 (PSFB) 以降压模式控制从 400V 总线/电池到 12V 电池的能流,而推挽级则以升压模式控制从低压电池到高压总线/电池的反向能流。此实施方案使用位于低压侧的德州仪器 (TI) 32 位微控制器 TMS320F28035 来实现对双向...
- Jacktang 微控制器 MCU