全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. TinyOS1.1 概要TinyOS应用程序都是有一个或多个组件链接起来,从而形成一个完整的可执行程序。组件中实现了功能接口,同时也能使用其它组件提供的接口。在接口定义中可以申明命令函数和事件函数,命令函数由接口提供者实现,事件函数由接口使用者实现。对于一个组件而言,如果它要使用某个组件接口中的命令,它必须实现这个接口的事件。一个组件可以使用或提供多个接口以及同一个接口的多个实例。组件有两种类型:模块(module)和配置(configuration)。模块提供应用程序代码,实现一个或多个接口;配置则是用来将其它组件装配起来,将各个组件所使用的接口与其它组件提供的接口连接在一起,进行导通。每个应用程序都由一个顶级配置所描述,其内容就是将该应用程序所用到的所有组件导通起来,形成一个有机整体。TinyOS应用程序必须包含Main 组件,Main组件是首先被执行的一个组件。确切的说,在TinyOS 中执行的第一个命令是Main.StdControl.init(),接下来是Main.StdControl.start()。Main组件完成以下功能:芯片初始化,外围电路初始化,操作系统调度数据结构初始化,子组件初始化,启动子组件件,进入调度死循环从而将控制权交给操作系统,一旦没有任务可以调度就进入休眠状态以降低系统功耗。TinyOS的调度系统是TinyOS系统的核心部分。它采用先进先出的排队策略,任务之间不可以抢占,但是中断可以抢占任务,中断是否可以抢占中断则是应用程序自己控制的。即如果中断处理程序进入中断以后执行了关中断的操作,那么这个中断将是不可抢占的,否则在服务的过程中就有可能被抢占掉。另外还要注意,在中断服务程序里面是可以创建任务的。1.2 在Cygwin下的安装或者参考/m/user_content.aspx?id=244569/index.php/Installing_TinyOS_2.1.1下载:/dist-1.2.0/tools/windows/在/etc/bash.bashrc文件中增加以下内容:export TOSROOT=/opt/tinyos-2.xexport TOSDIR=$TOSROOT/tosexport CLASSPATH=C:cygwinopttinyos-2.xsupportsdkjavatinyos.jarexport CLASSPATH=$CLASSPATH;.export MAKERULES=$TOSROOT/support/make/Makerulesexport PATH=/opt/msp430/bin:/opt/jflashmm:$PATH安装以下软件包软件包先下载到cygwin的某一个目录下,然后在终端安装。安装也可用如下命令:Rpm ivh ignoreos *.rpm:rpm -ivh -ignoreos c:/downloads/avr-binutils-2.17tinyos-3.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/avr-gcc-4.1.2-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/avr-libc-1.4.7-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/avarice-2.4-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/avr-insight-6.3-1.cygwin.i386.rpmrpm -ivh -force -nodeps c:/downloads/avrdude-tinyos-5.6cvs-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/nesc-1.3.1-1.cygwin.i386.rpm这一句一直出现conflict,后来改为Uvh貌似对了rpm -ivh -ignoreos c:/downloads/tinyos-deputy-1.1-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/tinyos-tools-1.4.0-3.cygwin.i386.rpmUvhrpm -ivh -ignoreos c:/downloads/tinyos-2.1.1-3.cygwin.noarch.rpmrpm -ivh -ignoreos c:/downloads/msp430tools-base-0.1-20050607.cygwin.i386.rpm rpm -ivh -ignoreos c:/downloads/msp430tools-python-tools-1.0-1.cygwin.noarch.rpm rpm -ivh -ignoreos c:/downloads/msp430tools-binutils-2.16-20050607.cygwin.i386.rpm rpm -ivh -ignoreos c:/downloads/msp430tools-gcc-3.2.3-20050607.cygwin.i386.rpm rpm -ivh -ignoreos c:/downloads/msp430tools-libc-20080808-1.cygwin.i386.rpm rpm -ivh -ignoreos c:/downloads/xscale-elf-binutils-2.15-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/xscale-elf-gcc-3.4.3-1.cygwin.i386.rpmrpm -ivh -ignoreos c:/downloads/xscale-elf-newlib-1.11.0tinyos-1.cygwin.i386.rpm修改执行/usr/bin/tos-install-jni文件:change: for lib in $tinyoslibdir/*-$bits.dll to for lib in $tinyoslibdir/*.dll/usr/bin/tos-install-jni修改/usr/bin/python2.5-config文件:change: /tmp/python.6884/usr/bin/python2.5.exe to /usr/bin/python2.5.exe编译Blink测试是否安装成功:cd /opt/tinyos-2.x/apps/Blinkmake telosbmake mica2make micazmake micaz sim1.3 Blink程序结构Blink.nc文件configuration Blink implementation components Main, BlinkM, SingleTimer, LedsC; Main.StdControl - SingleTimer.StdControl; Main.StdControl - BlinkM.StdControl; BlinkM.Timer - SingleTimer.Timer; BlinkM.Leds - LedsC;BlinkM.nc文件module BlinkM provides interface StdControl; uses interface Timer; interface Leds; 因为它提供了StdControl 接口,所以它必须实现StdControl.init(),StdControl.start()及StdControl.stop()等命令,因为它使用了Timer接口,所以它必须实现Timer.fired()事件implementation command result_t StdControl.init() call Leds.init(); return SUCCESS; command result_t StdControl.start() / Start a repeating timer that fires ever
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿企业管理论文范文
- 2025年沈阳师范大学研究生入学考试822语文课程与教学论考试大纲
- 南京航空航天大学硕士研究生培养方案总则
- 硕士论文格式标准
- 大学论文格式要求(手抄)
- 本科生毕业论文具体内容和撰写要求
- 2025~2026学年浙江省金华市兰溪市北师大版(小升初)数学检测试卷【附解析】
- 2025年河南省高考语文作文考前预测题及范文分析
- 浅谈中小企业招聘存在的问题及对策
- 合并Barrett食管的胃黏膜肠上皮化生与异型增生随访与干预方案
- WB/T 1087-2018煤炭仓储设施设备配置及管理要求
- GB/T 2566-2010低煤阶煤的透光率测定方法
- GB/T 13871.5-2015密封元件为弹性体材料的旋转轴唇形密封圈第5部分:外观缺陷的识别
- A4版2022山东物理高考答题卡word版
- 华为战略绩效PBC标准模板(华为)
- 矿井顶板灾害防治
- 三级安全培训记录表 (个人档案)
- 2023门球竞赛规则电子版图文并茂
- 全民健康信息综合管理平台实施方案
- T-CAMET 04017.6-2019 城市轨道交通 全自动运行系统规范 第6部分:初期运营基本条件
- 哔哩哔哩财务估值模型
评论
0/150
提交评论