TinyOS操作系统开发技术及实践课件第4章平台移植.ppt

TinyOS操作系统开发技术及实践课件第4章平台移植.ppt

第4章 平 台 移 植         4.1 移植概述 4.1.1 名词概念   在具体移植之前,需要了解以下名词的概念:   平台(platform):是硬件设备以及运行在硬件设备上的可以给用户提供二次开发功能的软件和硬件总称。   发布平台:可以压缩打包的整个目录文件总称,有时也简称为平台,用户解压或直接复制后,在安装有TinyOS的系统下即可以进行TinyOS应用程序开发。   硬件平台:发布平台所支持的硬件总称,包括核心CPU和芯片外围的硬件资源。   芯片(MCU):硬件平台的核心CPU,如CC2530。   nesC编译器:TinyOS提供的可以把nc文件编译成C语言文件的工具程序。   编译工具链:也称为make系统,是make工具、Makefile脚本文件、nesC编译器等共工具的总称。   Makefile:包括直接以Makefile文件命名以及Makefile格式的可以被make工具解析执行的脚本文件总称。   本地编译器:可以将C文件编译成硬件平台可执行代码的工具,一般由芯片厂商提供。   程序烧写器:将可执行代码下载至硬件平台的工具,一般由芯片厂商提供。   以上概念之间的关系如图4-1所示。   从图4-1可以看出,本地编译器和程序烧写器一般不包含在平台中,一般是由芯片厂商或第三方厂商提供,如本书使用的IAR For 51是由IAR Systems公司提供的。 图4-1 与TinyOS移植相关的概念 4.1.2 平台目录   官方推荐使用“新的目录”作为新平台的发布目录(调试和发布安装都在Linux系统的“/opt/”目录下),并且参考TinyOS原来的目录建立发布目录。用户在新平台上进行开发,其实就是在这个发布目录下工作。一般情况下,一个新平台的目录结构及必要的文件如图4-2所示。 图4-2 新平台目录结构及必要的文件 4.1.3 平台建立实例   1. 建立cctinyos目录   在windows下打开cygwin的安装目录,然后在“cygwin\opt\”目录下建立cctinyos目录(这里以平台名作为发布目录名),结果如图4-3所示。   2. 建立平台目录框架   在“cctinyos”目录下分别建立“apps、doc、support、tos”子目录,结果如图4-4所示。 图4-3 建立cctinyos目录 图4-4 cctinyos平台目录框架        4.2 make系统  TinyOS程序的编译使用的是make工具,make工具通过解析Makefile文件(以及符合Makefile格式的脚本文件)查找参与编译的文件并调用nesC编译器,并进一步调用本地编译器和烧写器完成TinyOS程序的编译链接和下载执行工作(关于make工具及Makefile文件的编写方法请参考相关教材或参考本书系列教材《Linux操作系统教程》)。本小节浅析TinyOS的make系统工作原理,以便于理解TinyOS的移植过程。 4.2.1 make工作流程   TinyOS的make系统的工作流程如图4-5所示。 图4-5 make工作流程   上述编译过程涉及到以下几个重要文件:   Makefile文件:位于当前应用程序目录下,是make工具首先要解析执行的文件。   Makerules文件:TinyOS系统提供的系统Makefile文件,一般位于“tinyos-2.x/support/ make/”目录内。   平台名.target文件:位于发布平台目录的“support/make/”目录下,以平台名命名的文件(如cc2530.target),用于建立与平台相关的变量,并且提供平台名和编译生成目标。   芯片名.rules文件:位于发布平台目录的“support/make/芯片名/”目录下,是make工具要解析执行的主要用户级Makefile文件,具体实现真正的编译调用和程序烧写、下载调用。   .platform文件:位于发布平台目录的“tos/platform/芯片名/”目录下,用于指定要参与编译的TinyOS和发布平台目录,文件内容包含类似于C语言下的“#include”预处理语句。 4.2.2 系统环境变量   1. ?MAKERULES变量   根据前述make系统工作流程可知,所有的TinyOS应用程序目录下都必须有一个Makefile文件。该文件由命令行的“make 平台名”命令触发make工具解析执行,其内容一般如代码4-1所示。   【代码4-1】 Makefile     COMPONENT=顶层配件名     include $(MAKERULES) 其中,TinyOS规定,变量“MAKERULES”是由用户作为环境变量定义,并且指向Ti

文档评论(0)

1亿VIP精品文档

相关文档