- 5
- 0
- 约1.56万字
- 约 91页
- 2018-06-30 发布于四川
- 举报
tinyos操作系统开发技术及实践(西电版)第四章平台移植
第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
您可能关注的文档
- hse兼职教师培训课件-基层hse工作手册.ppt
- hr面试问题的设计和评判.ppt
- ibm—pc汇编语言(⑥子程序结构).ppt
- ibm—pc汇编语言(⑤ 循环与分支程序设计).ppt
- icu品管圈成果汇报(付莉).ppt
- ie(industrialengineering)動作經濟原則.ppt
- ie训练教材—新qc七大手法.ppt
- impact计划会ppt(经理用).ppt
- internet项目2internet接入技术.ppt
- investments投资学(博迪bodie,kane,marcus)chap004mutualfundsandotherinvestmentcompanies.ppt
最近下载
- 雪地胎的选用与更换-2024年世界职业院校技能大赛一等奖展示PPT.pptx VIP
- 一种提高线性聚乙烯膜料耐候性及拉伸性能的复合助剂及其制备方法.pdf VIP
- 【新教材】人教版(2024)七年级下册英语教学计划.docx
- 2026年中国厨房剪市场调查研究报告.docx
- 第一单元第二课《山水合璧》教案 湘美版2025美术七年级下册.pdf
- 2026年月日历表 (每月一张 A4可打印).pdf VIP
- 智能体应用发展报告(2025).pdf VIP
- 企业微信使用管理规范及注意事项.docx VIP
- 基于ANSYS的感应加热数值模拟分析-机械制造及其自动化专业论文.docx VIP
- 2025年交通运输部所属事业单位招聘真题.docx VIP
原创力文档

文档评论(0)