Contiki 源代码结构
Contiki 是一个高度可移植的操作系统,它的设计就是为了获得良好的可移植
性,因此源代码的组织很有特点。 本节简单介绍 Contiki 的源代码组织结构
以及各部分代码的作用。
Contiki 源文件目录可以在 Contiki 官网下载的源代码中找到。 打开 Contiki
源 文 件 目 录 , 可 以 看 到 主 要 有 apps、core、cpu、doc、examples、
platform、tools 等目录。下面将分别对各个目录进行介绍。
1)Core:此目录下是 Contiki 的核心源代码,包括网络(net)、文件系统
(cfs)、 外部设备( dev)、 链接库( lib)等等,并且包含了时钟、
I/O、ELF 装载器、网络驱动等的抽象;
2)Cpu:此目录下是 Contiki 目前支持的微处理器,例如 arm、avr、sp430
等等。如果需要支持新的微处理器,可以在这里添加相应的源代码;
3)Platform:此目录下是 Contiki 支持的硬件平台,例如
mx231cc、micaz、 sky、 win32 等等。 Contiki 的平台移植主要在这个目录
下完成。
这一部分的代码与相应的硬件平台相关
4)Apps:此目录下是一些应用程序,例如 ftp、 shell、 webserver 等等,
在项目程序开发过程中可以直接使用。 使用这些应用程序的方式为,在项目
的 Makefile 中,定义 APPS = [应用程序名称]。在以后的示例中会具体看到
如何使用 apps;
5)Examples:此目录下是针对不同平台的示例程序。Smeshlink 的示例程
序也在其中;
6)Doc:此目录是 Contiki 帮助文档目录,对 Contiki 应用程序开发很有参考
价值。使用前需要先用 Doxygen 进行编译;
7)Tools:此目录下是开发过程中常用的一些工具,例如 CFS 相关的
makefsdata、 网络相关的 tunslip、 模拟器 cooja 和 mspsim 等等。
为了获得良好的可移植性,除了 cpu 和 platform 中的源代码与硬件平台相关
以外,其他目录中的源代码都可能与硬件无关。 编译时,根据指定的平台来
链接对应的代码。
评论0