【为什么要移植IAR】
通过移植Contiki到IAR环境,可以很清晰的查看contiki操作系统的细节,同时IAR开发环境支持CC2650在线仿真,这对于WSN网络是十分有用的。
【开发环境】 window IAR for ARM 7.4
【移植】
在contiki for IAR的移植分以下两步:
一,首先新建工程 CC2650,然后按照contiki的文件框架添加文件夹包含源文件以及头文件,基本框架如图所示:
二,IAR和GCC的编译方式不同,这样需要利用makefile文件进行相应的头文件包含。
设置相应的宏配置
【关于细节】
1,在contiki中并没有放入cc26xx的函数库,需要在官网上下载CC26xxWare
2,编译提示time.c文件重名,因为很不巧,CC26xxWare中time.c和contiki中的sys/time.c源文件重名,这里我把CC26xxWare中的文件改成了TI_timer.c
....\cpu\cc26xx-cc13xx\lib\cc26xxware\driverlib\TI_timer.c
复制代码
3,还是重名,不过比较隐蔽,提示
Error[Pe020]: identifier "BUTTON_SENSOR_VALUE_STATE" is undefined F:\CC2650\contiki-CC2650\examples\cc26xx\cc26xx-demo.c 402
复制代码
在cc26xx-demo.c中明明包含
#include "button-sensor.h"
复制代码
这是因为编译器比较笨,在工程中有两个button-sensor.h文件,系统自带有一个,cc26xx platforms也有一个,在头文件中偏偏又同样的设置。
可以修改一个进行区分
#ifndef _BUTTON_SENSOR_H_
#define _BUTTON_SENSOR_H_
复制代码
编译后占用资源
66 867 bytes of readonly code memory
2 350 bytes of readonly data memory
13 840 bytes of readwrite data memory
Flash=2 350+ 66 867=68KB
RAM=13 840=14KB
复制代码
|