linux下,基于cc2538的contiki平台搭建

本文详细介绍了如何在Ubuntu 14.04环境下,基于Contiki操作系统搭建针对cc2538芯片的开发平台,包括设置串口下载、配置rom启动、修改配置文件、安装交叉编译器和下载工具等步骤。
摘要由CSDN通过智能技术生成

先说一下背景吧,contiki是集成了ipv6协议,然后融合无线传感器网络技术,最终形成了自己的一套独特的。无线类型的,具有ipv6特点的,低功耗,低速率的通信协议—-6lowpan。在我看来,说白了,就是一种协议栈,与大家熟悉的zigbee协议栈一样,我潜意识里称它为ipv6协议栈(为了便于理解,就管它叫ipv6协议栈了)。contiki源码是在linux下开发的,如果不是因为它封装了ipv6协议栈,鬼才会用contiki系统呢,还不如研究资料多的FreeRtos去。一开始,想把contiki移植到IAR上,毕竟在windows平台下开发,资源多一些,也比较熟悉这个环境,可以在线仿真,调试。花了差不多一个月,断断续续的往IAR下移植contiki,主要是基于硬件cc2538(网上有移植好的案例,是基于stm32平台的,没人搞cc2538),程序是可以正常编译链接了,但仿真时,有些中断进不去,程序不是按正常的流程执行。为了应急,只能去那个没有在线仿真,看程序到底执行到那一步的话,只能靠串口打印了解的linux平台了。
回归正题,下面就详细介绍ubuntu14.04下,基于contiki的cc2538平台搭建。
(1)windows下的配置
Contiki源码中,为cc2538提供了bsl的下载方式,即串口下载,并且在为我们提供了cc2538的下载工具—cc2538-bsl.py。而从TI提供的关于cc2538的官方手册—cc2538 Rom User’s Guide知,cc2538有两种启动方式:flash启动和rom启动。前者主要是针对仿真器下载时使用,后者主要是为bsl下载使用。TI提供的源码中,都是将cc2538配置成了flash启动,那么,我们在使用bsl下载前,需要将其配置为rom启动。这其中,主要是对寄存器Boot Loader Backdoor配置。Boot Loader Backdoor寄存器各位表示的意义,如图1-1和图1-2。

图1-1 Boot Loader Backdoor寄存器图1-2 Boot Loader Backdoor寄存器
需要注意的是Boot Loader Backdoor是一个32位的寄存器,目前TI只开发了前八位的功能,其他位作为预留。这其中最关键的是对宏的配置:#define BOOTLOADER_BACKDOOR_DISABLE 0xf3FFFFFF 只需要将其前八位配置为f3即可,这样,就是能了rom启动,并且通过PA3管脚为低来控制是程序下载还是程序运行。具体代码如下,只需要把它复制到main函数的前面,用IAR下载到cc2538里面即可。

/**********************flash_acc ********************/
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值