contiki系统分析二:linux下的编译
Posted 王玉成的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了contiki系统分析二:linux下的编译相关的知识,希望对你有一定的参考价值。
1. 编译器
由于CC2530的内核是一个增强版的8051单片机,在linux系统下面51单片机的编译器用的最普遍的是sdcc
在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下的编译的主要内容,如果未能解决你的问题,请参考以下文章