




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TinyOS在CC2430平台上的移植与实现,课题研究背景,由于无线传感器网络节点的硬件资源有限,使得节点上的嵌入式操作系统必须在有限的硬件资源下实现对节点的高效管理。TinyOS就是针对现代无线传感网络而设计的操作系统,能够突破传感器存储资源少的限制,可有效地运行在无线传感器网络上并去执行相应的管理工作。,移植方案,TinyOS 移植首先要考虑的问题是开发环境与工具链的选择。由于nesC 预处理器生成的代码是配合gcc 生成的,但是gcc 编译器并不支持8051,因此需要寻找专门的8051 编译器进行TinyOS 的移植和开发。,开发环境,TinyOS-2.x 可以在Linux 和Windows XP 两种平台下安装配置。在Windows XP 平台下需要能提供Linux命令界面的Cygwin工具。本平台采用了Windows XP 下的配置,用Cygwin模拟Linux环境,nesC编译器为nesC 1.3.1, 8051 编译器 Keil uVision2。,编译工具链,NesC 程序经过编译后生成app.c 文件,它包含了运行TinyOS 应用程序所需要的全部代码,但是该文件不能直接编译到8051 平台上运行,因此需要对输出文件app.c 进行修改。通过语法编辑脚本对app.c 进行变换生成App_mangled.c 作为Keil 编译器的输入,生成app.hex 后通过仿真器写入CC2430芯片运行。,App.hex,App.nc,App.c,App_mangled.c,nesC,MangleAppc,Keil,仿真器,CC2430,所需软件,Java开发环境:JDK1.5;8051 编译器:Keil uVision2;下载工具:Setup_SmartRFProgr_1.7.1.exe;Unix模拟环境:Cygwin;NesC编译工具:nesc-1.3.1-1.cygwin.i386.rpm;TinyOS相关工具:tinyos-deputy-1.1-1.cygwin.i386.rpm;tinyos-tools-1.4.0-3.cygwin.i386.rpm;tinyos-2.1.1-3.cygwin.noarch.rpm;网络仿真工具:graphviz-1.10.exe。,所需硬件,硬件平台CC2430 内核为8051仿真器,移植过程1搭建开发环境,按图示步骤安装完成后,配置环境变量,检测环境是否搭建成功。,移植过程2移植配置,D:cygwinopttinyos-2.x- contribdikumcs51tosplatforms 文件夹中创建CC2430文件夹,其中有平台定义文件,头文件;D:cygwinopttinyos-2.x-contribdikumcs51supportmake 中创建CC2430em.target;D:cygwinopttinyos-2.xcontribdikumcs51supportmakemcs51 中创建mcs51.rules;D:cygwinopttinyos-2.x-contribdikumcs51toschipsmcs51 中创建mcs51hardware.h。,移植过程3移植测试,输入命令:$ cd tinyos-2.x-contrib$ source diku/env$ cd diku/common/apps/BT$ make cc2430em,每次重新启动Cygwin后如果要编译,需要运行此命令。,移植过程3移植测试,最后在BTbuildcc2430em下生成了app.hex文件,这表明编译成功了。使用SmartRF04 Flash Programer 软件和仿真器,将app.hex文件下载到cc2430平台上。此时芯片上的一个小灯在不停的快速闪烁,这说明TinyOS已经成功移植到CC2430平台上来了。,TinyOS 编程语言,TinyOS 最初是用汇编和 C 语言编写的。但科研人员进一步研究发现,C 语言不能有效、方便的支持面向传感器网络的应用和操作系统的开发。为此,他们对C语言进行了一定的扩展,提出了支持组件化编程的nesC(C language for network embedded systems)语言,目的就是为了支持TinyOS 的模块化编程模式,把组件化/模块化思想和基于事件驱动的执行模型结合起来。TinyOS和基于TinyOS的应用程序基本上用nesC编写,与以前相比,应用开发的方便性和应用执行的可靠性都得到了提高。,nesC编程,nesC语言介绍nesC编程基本概念接口(interface)模块(module)组件(configuration、components)命令(command)、事件(event)、任务(task),nesC语言介绍,nesC语言一种在C基础上扩展的编程语言,主要用于传感器网络的编程开发加州大学伯克利分校研发人员开发的这套nesC编程语言用nesC编写的微型操作系统TinyOS目前国内外很多大学和机构利用这一平台进行相关问题的研究,nesC语言介绍,TinyOS专用语言类C语言组件编程事件驱动自己的编译器编译生成C程序镜像,可移植性强编写用户程序方便,nesC编程基本概念,1、结构和内容的分离:程序由组件构成, 它们装配在一起 (“ 配线 ”) 构成完整程序。2、根据接口的设置说明组件功能。接口可以由组件提供或使用。被提供的接口表现它为使用者提供的功能,被使用的接口表现使用者完成它的作业所需要的功能。3、接口有双向性:它们描述一组接口供给者 (指令)提供的函数和一组被接口的使用者(事件)实现的函数。4、组件通过接口彼此静态地相连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度欢乐谷景区设施改造升级及新型游乐设备采购合同
- 2025年预算单位公务卡支付结算与金融机构深度合作协议
- 2025年互联网金融服务广告投放及用户通知服务合同
- 2025年绿色环保设备制造与采购合作协议
- 2025年社区食堂食材供应及食品安全知识普及服务合同
- 2025年智能医疗设备全国代理加盟协议书范本
- 2025年智能物流远程运输车队设备采购服务协议
- 2025年京津冀地区绿色建筑项目投资合作协议范本
- 2025年专用冶金铣刨机租赁服务及期限费用动态调整协议
- 2025年北京定制化小客车租赁及高端保养服务标准范本
- 食堂工人培训课件
- 2025届江苏省苏州地区学校英语八年级第二学期期末联考试题含答案
- 【艾瑞咨询】2024年中国健康管理行业研究报告494mb
- 胸痹的中医治疗
- 人流术后的护理及健康宣教
- 财务岗位笔试题目及答案
- 兵团两委考试试题及答案
- DB31/T 636.1-2018会议经营与服务规范第1部分:会议服务机构等级划分与评定
- 创新素养评价体系:核心素养框架下的关键指标研究
- 夫妻房屋加名协议书
- 《大脑中动脉解剖结构》课件
评论
0/150
提交评论