contiki系统分析二:linux下的编译

1. 编译器

由于CC2530的内核是一个增强版的8051单片机,在linux系统下面51单片机的编译器用的最普遍的是sdcc

http://sdcc.sourceforge.net/

在linux下面自己编译一下sdcc编译器,然后设置PATH路径即可.

在cpu/cc253x/Makefile.cc253x有定义,包括,编译,静态库生成,抽取符号表的工具都有.但是比GCC的工具链肯定会简单很多.

其中sdcc编译器的头文件到独立出来.在编译里的CFLAGS时指定一下-I参数.

最好指定一下TARGET参数.


2. Makefile文件


1. 项目文件中包含的Makefile, Makefile.target,

例如:examples/cc2530dk/

主要是指定这个项目所需的功能,然后指定platform

项目文件夹也是最终make时进入的文件夹


2. contiki主目录下:Makefile.include

target的判断,模块的裁剪

里面一些变量是通过Makefile的参数传进去.然后用-D带到编译器中去的.


3. Makefile.$(TARGET)

位于platform/$(TARGET)/下.其中$(TARGET)指的是特定的平台.例如cc2530dk

在platform下面还有一个文件需要注意platform/cc2530dk/contiki-conf.h, 它是用来做系统功能裁剪的配置文件.

另外还有一个project-conf.h,这个文件主要是用来实现某一项功能内部的配置的examples/cc2530dk/sniffer/project-conf.h.


4. Makefile.$(CPU)

位于cpu/$(CPU),  主要是指定CPU架构所需的编译器.及编译器内部的编译选项.








你可能感兴趣的:(contiki系统分析二:linux下的编译)