- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TinyOS操作系统开发技术及实践第4章 台移植
第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
您可能关注的文档
- The ClinicalSignificance of Echo Signal Attenuation on 回波信号衰减的临床意义.ppt
- THE CENTERS SMSU SMSU Southwest Minnesota State …该中心”里西南密苏里州立大学西南明尼苏达州立….ppt
- The Count of Monte Cristo TeacherWeb督山伯爵 teacherweb.ppt
- The Citric Acid Cycle Dr rer nat Rubin Gulaboski柠檬酸循粗面内质网gulaboski NAT鲁宾博士.ppt
- The Changing Arctic Climate as Observed from Space在北极地区气候变化从空观察.ppt
- THE CRACKUP该cackup.doc
- The Count of Monte Crsto Winter Park High School Wildcats基督山伯爵冬园高中野猫.ppt
- The CLEOc Detecor该cleoc探测器.ppt
- The Crucible Poisoning th Well坩埚中毒的好.ppt
- The Comic Srip as a Medium for Promoting Science Literacy 漫画作为一种媒介,促进科学素养.ppt
- Titasi Kompleksometri Complexometric Titrationtitrasi kompleksometri络合滴定法.ppt
- Title Activation of the left planum temporale in pitch 在距左颞平的激活标题.doc
- Titraions滴定法.ppt
- Titration Calculations in Immunohistochemisty滴定计算,免疫组化.ppt
- Titration Curves, Buffers and Indicator Theory滴定曲线,缓器和指标理论.ppt
- Titration of Acids and Bases Scott Buzby home酸和碱史葛芭兹比家居滴定.ppt
- Titration Curves of Strong and Weak Acids and Bases PowerPoint滴曲线的强和弱的酸和碱的PowerPoint.ppt
- Titration curves KSU滴定曲线KSU.ppt
- Title Speedand Acceleration sciencecochrane home标题的速度和加速度的科学循证医学家.ppt
- Titration Weak Acid by Strong Base过强碱滴定弱酸.ppt
文档评论(0)