这部分是对contiki中cpu / cc253x目录中的文件进行的源码分析及使用要点总结。相信这个文档可以帮助大家提高工作效率,能有助于理解和使用contiki。若你使用的平台正巧是cc2530,那么你很幸运,这个文档正是cc2530的,可以不假思索的去信任文档中的一切说明。如果是使用的其他平台,contiki友好的文件命名方式,可以与此目录对照使用。具体内容如下:
1.8051def.h
定义有一些使用SDCC编译器所需的配置信息和一些宏函数,其中感觉重要的宏有:
(1)#define CC_NON_BANKED __nonbanked :使代码汇编后在内存的首页(0-7page,每页32KB)
(2)#define MAX_TICKS (~((clock_time_t)0) / 2) :最大时钟时间的一半
(3)#define CLOCK_CONF_SECOND 128 :每一秒的滴答次数
(4)#define ASM(x) __asm x __endasm :插入汇编指令
(5)#define DISABLE_INTERRUPTS() do {EA = 0;} while(0) :进制一切中断
#define ENABLE_INTERRUPTS() do {EA = 1;} while(0) :允许一切终端
(6)#define SOFT_RESET() do {((void (__code *) (void)) 0x0000) ();} while(0):软系统重启
2.cc253x.h
cc2530芯片特殊功能寄存器定义;
3.mtarch.h
为使系统的mt.c模块编译方便而编写的,mt.c是用来管理多线程的;
4.rtimer-arch.c/rtimer-arch.h
为支持contiki实时模型而编写的,实时依赖于特定的硬件平台。此实时模块为cc2530提供实时接口,具体包括接口如下:
(1)rtimer_arch_now() :返回当前时间;
(2)rtimer_isr(void) :溢出中断函数;
5.sfr-bits.h
一些cc2530特殊寄存器的MASK宏定义;
6.soc.c/soc.h
cc2530系统初始化,打开 prefetch mode;打开所有系统中断;
7.dev/
cc2530芯片内部外设的驱动程序,例如dma、uart、watchdong、cc2530-rf;