- 本课程为精品课,您可以登录eeworld继续观看:
- CC2650设计相关 - RF内核、HAL、协议相关及实例 (2)
- 登录
- 课程目录
- 相关资源
- 课程笔记
我们现在来看一看 Eclipse
对我们的 contiki 进行开发的这样一个过程
我们首先呢需要在 Eclipse 官网上面
去找到它的一个Eclipse IDE for C/C++ dev
把它下下来然后把它装上去
同时呢我们需要安装
操作系统支持的 JLINK 的驱动
我们可以在 SEGGER 的官网上面找到它的驱动
在 JLINK debug probes 下面的 download
它里面有三个 windows os X和Linux
就是说 JLINK 本身的跨平台这个性能呢
这个属性呢还是相对其他的这样一种调试手段
要全面一些
那我们现在就已经安装了一个 Eclipse
我们打开它
打开它之后
我们首先需要安装一个 Eclipse JLINK 驱动插件
我可以在 windows 的 help 的
install new software 里面去找到它
因为我这里已经安装了
所以说我们可以看一看
它的一个安装的具体地址
在跟 GNU ARM Eclipse Plug-ins 下面这个地址
我们可以通过我们搜索引擎找到
然后把它填进去
安装之后呢我们就可以在 Eclipse 里面
集成我们的 JLINK 调试环境
现在呢我们来首先导入我们的 Contiki
找到 C/C++
Existing code as makefile project
把它导进来
这个地址呢代码地址
我们选择我们的 Contiki
项目名称它自动的就以 Contiki
做我们的项目名称
我们把它导进来
导进来之后我们可以看到
这里面整个的就是
我们的 Contiki 的一个代码数
这里面打箭头的这样一个符号呢
说明我们里面有一些文件是经过修改过的
跟 Git master 里面代码
有不相符的地方
有不相符的地方
首先呢我们为了我们的调试方便
我们需要把一些低功耗的东西
和一些看门狗的东西
把它先屏蔽掉
这里我们找到我们的 CPU 下面的 26xx
这里面 platform 26xx 项目的main里面
找到之后呢把这里面相关的
LPM init 这个低功耗的东西
把它暂时注释掉
把 watchdog 的东西把它注释掉
这个 energest 一个测试的东西把它注释掉
包括这里面的看门狗开始 喂狗
这个低功耗的东西
全部把它注释掉
注释掉的原因呢就是我们在 JLINK 调试的时候
不会由于低功耗的一些问题
而跳入到一些不可知的这样一个状态
我们这里呢
首先要在 windows 里面
有个 show view 打开我们的 make target
打开了这个一个视图
可以看到我们这个有一个项目名 contiki
它下面所有的目录都列在这里
我们首先来编译一个
我们的 router 打开一个例子
下面的 IPV6
下面的 rpl-router
首先建立一个 target
我们再建立一个 target 详细的
我们需要查看详细的详细的编译命令
同时用7个线程来对它进行编译
可以看到我们填着 clean target 等于这个
整个的目标作为 make 的参数传递给 make
也就是说它的效果等同于我们
在命令行里面进入到 IPV6
IPV6 router 这个目录里面
然后执行这一句
效果是一样的
然后我们 clean 之后呢我们再来 make
我们可以看到 make 也是相当于是
这里面呢我们需要在工程的它的属性里面
把我们的交叉编译环境给它整进去
可以看到我们在
property C++ builder
就环境里面添加一个 path
这是我安装的交叉环境这样一个地址
然后还有一个就是 Srec 工具的这样一个地址
我们把它放进去
我们可以看到它这里面就已经编译完成
因为我们希望的是 JLINK 能够对它进行调试
所以说我们还需要做一个改变
是在 CPU 下面的 makefile 里面
我们需要把我们的调试开关加进去
我们可以看到 makefile 里面
我们按右键来查看一下
compare 跟 master 之间的对比
我们可以看到它之前是
按照代码大小进行一些优化
O2 进行优化
这里我们呢就是统一的都把它打开调试
编译之后呢
我们可以在这个小爬虫里面
对我们的环境进行一个
我们得你先建立一个
SEGGER JLINK DEBUGGING 这样一个目标
点了之后你把这个名字命名成
名字命名成我们的 rpl-boarder-router
C++ app 里面我们可以查找他的 project
这里没有的话
我们可以直接填他的这样一个地址
那我们可以先填这个地址
这一步比较重要的是
我们要关闭它的 auto build 这样一个功能
auto build 这样功能
就是说他每一次在调试的时候
他希望他自己去
按照我们的一个 make
工程的 make 方式来自己编译
但是我们这里面在每一个不同的项目里面
我们有自己的 make
并且我们有自己的一个调整
一个mate target
所以说我们这里把它关掉自动编译
我们选择的是手动编译方式
我们看 debug 里面
这些东西都没有什么改变
这个 device name
先填上我们的 CC2650F128
这是我们的芯片
interface 选择 JTAG
由于我们没有 semihosting 和 SWO
所以说我们可以把它关掉
其他的没有什么
JLINK JDB server
这个是我们之前说的
JLINK 驱动的安装环境
啊它最后呢是指向的是我安在本地上的
gdbserver 这个东西
其他的没有
没有什么可以改变的
这些东西都可以保留
原始的东西
然后我们打开我们的板的 debug
我们就可以看到我们现在
一些 JLINK 的一些信息
这里面的一些烧录信息
Download 这样一些烧录信息
那我们可以看到我们第一行
已经停在了我们的 main 这个地方
这里面呢 TI_lib_vimx_mode_set
这些东西呢都是 TI 的一些 ROM 函数
我们也只能找到他的一些使用的方式
但是具体的源代码我们是看不到的
这个样子呢
我们可以对这个 router
进行一个全速的运行
全速运行的情况下
我们在第一块
这个开发板上面吧
烧入了我们的 router 路由器
所以我们在第二块开发板上面
需要烧入我们的一些应用
这里呢我们需要找的是
example 下面的 26xx 下面的
web_demo这个应用
同样呢我们和刚才一样
现在建立两个这样一个 make target
他们两个是也是一模一样的
这里我们先把它清掉
那这个调试我们把它关掉
然后编译它
如果是我们按照
makefiled-g 就是调试开关
这样的方式去定义的话
这个项目本身的那个大小就有点超标
就是我们就把这个优化打开
优化打开之后
关掉重新再编译
关掉之后呢
我们可以把这个 JLINK 换一个板子
换一个板子之后呢
我们也是在这个 debug 里面
建立一个 web demo 这样一个项目调试的一个东西
名字我们把它写成 CC26xx-web-demo
application 主要还是选择
26xx 下面的 web-demo.elf
同样也把这个地方把它关掉
其他的都跟上一个是一样的
把板子打开
因为我们之前没有加任何调试信息
这地方我们就看不到代码
但是我们可以看到这里
他是把这个确实 read
Download 全都把它烧进去了
课程介绍
共计11课时,3小时7分49秒
猜你喜欢
换一换
推荐帖子
- (MSP430分享)不可多得的宝贵资料整理
- uCOS-II在MSP430的移植功能详细说明 利尔达科技有限公司 MSP430基础程序集合 MSP430培训手册 MSP430 系列超低功耗单片机基础与教学实验 华东师范大学 MSP430实验...
-
reayfei
微控制器 MCU
- 问一个关于调用CAN模块的库函数的问题
- 各位有没有用过TM4C系列单片机的CAN模块,在进入中断的时候是要读取CANINT寄存器的吧?用来确定当前的中断源。但是我看了一遍TIveware库函数关于CAN模块的使用说明,好像没有找到这一个库函数,就是专门读取CANINT寄存器的,求大神解答一下! ...
-
shiqiaocanxue
微控制器 MCU
- 【晒样片】+ 我的一次最顺利的样片申请
- 本帖最后由 wgsxsm 于 2015-1-24 13:25 编辑 悄悄的样片来了,居然没有收到美女的电话确认。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22号下午快下班时,美女管理员 @maylove 让我确定现在样片能不能免费申请了,当时由于比较忙,只好说声抱歉。 23号仔细看了一下...
-
wgsxsm
TI技术论坛
- C2000 RMS计算求指点
- 简单来说这段代码是用来做FIR+RMS计算的。FIR的部分是直接用TI的例程的。RMS算法部分是自己写了。 AD采集得到数据由CLA读取中断和采样结果,并且进行数字滤波。 RMS算法的部分就是每次滤波完的数据都求一次平方,并且累加。同时设定某一个阀值Vth,当电压超过Vth时认为是采样满了一个周期,得到将所得平方和开放求平均开方得到有效值。再输出到CLA的通讯RAM中。代码如下,内含错误若干。...
-
a828378
微控制器 MCU