contiki 源码分析之CPU(二)(cpu / cc253x)

来源:互联网 发布:必应词典 mac 编辑:程序博客网 时间:2024/05/17 04:22

        这部分是对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;
0 0