已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东铁路投资控股集团有限公司招聘45人备考题库含答案详解(研优卷)
- 2026国盛证券股份有限公司总部社会招聘15人备考题库(第六批)含答案详解(培优)
- 2026安徽滁州全椒县县属国有公司招聘47人备考题库含答案详解(满分必刷)
- 2026新疆新星人才发展有限公司代新疆红星建设工程(集团)有限公司招聘5人备考题库含答案详解(综合题)
- 2026年马鞍山市和县文化旅游体育局度校园招聘备考题库含答案详解(达标题)
- 2026四川德阳市江南高级中学教师招聘17人备考题库含答案详解(轻巧夺冠)
- 2026湖南长沙中职学校教师招聘48人备考题库含答案详解(能力提升)
- 2026招商基金管理有限公司招聘备考题库及答案详解(易错题)
- 2026小博士幼儿园招聘10人备考题库含答案详解(基础题)
- 《假如》教学设计
- 2024年巴西焊接耗材市场机会及渠道调研报告
- eras围手术期营养管理
- 面积单位间的进率课件说课稿
- 光电器件行业报告
- 汽车涂装工艺中的涂装线节能与耗能分析
- 贵州华金矿业有限公司选矿厂技改项目环境影响报告书
- 井场常见安全隐患100例课件
- 史学概论版课件
- YY/T 0316-2016医疗器械风险管理对医疗器械的应用
- GB/T 11869-2018造船和海上结构物甲板机械远洋拖曳绞车
- 变频器基础知识概述课件
评论
0/150
提交评论