error: Failed dependencies:
nesc >= 1.1.1 is needed by tinyos-1.1.14Jul2005cvs-1
when I try to install tinyos?/tmp/ccFOvuiZ.s: Assembler messages: /tmp/ccFOvuiZ.s:10: Error: unknown opcode `disablecou' /tmp/ccFOvuiZ.s:12: Error: unrecognized symbol type "" ...or
/tmp/ccrlquXA.s: Assembler messages: /tmp/ccrlquXA.s:111: Error: `,' required /tmp/ccrlquXA.s:111: Error: constant value required /tmp/ccrlquXA.s:111: Error: garbage at end of linewhen I try to compile an application?
... Verifying: flash flash error at address 0x500: file=0x80, mem=0xff flash error at address 0x501: file=0x93, mem=0xff
Blink.nc:74: component Main not found Blink.nc:68 component StdControl not found ...when I compile?
cnt_to_leds, but the lights don't blink. Why not?TinyOS is an event based operating environment designed for use with embedded networked sensors. More specifically, it is designed to support the concurrency intensive operations required by networked sensors with minimal hardware requirements. There are hundreds of TinyOS projects throughout the world. See the Related Work page for a fraction of them (and if you'd like to send a link to other related work, send it to kwright@cs.berkeley.edu.
The programming language of TinyOS is stylized C that uses a custom compiler 'NesC'. The source for NesC as well as TinyOS are available on SourceForge.
TinyOS was initially developed by the U.C. Berkeley EECS Department, and is distributed under the disclaimer below.
We have support for "offline simulation", i.e. running virtual motes on your computer.
The software that you will need to develop and run TinyOS is included in the Linux RPMs or Windows Installshield Wizard for TinyOS. You can find pointers to the respective installation packages at http://webs.cs.berkeley.edu/tos/download.html.
You need a parallel and a serial port on your machine to be able to communicate and program the motes. There is an ethernet programming board and other new communications options currently (12/03) in development. Check with Crossbow, the manufacturer of the Berkeley Mote hardware, to see what are the latest and greatest options available.
The concurrency concept requires some effort to get used to but it's essentially C. Proficiency and/or experience with GNU development tools is a plus, but not mandatory.
We recommend that you start with the manufacturer-provided Getting Started / Quick Start guides and then proceed to the TinyOS tutorials.
Copyright 2001 The Regents of the University of California (Regents).
All Rights Reserved.
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without written agreement is hereby granted, provided that the above copyright notice and the following two paragraphs appear in all copies of this software.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
The most recent snapshot release is 1.1.15 which is a CVS snapshot released July 29, 2005. Please see the Download page for the differences between snapshot and major releases. Hardware platforms presently supported include telos, telosb, tmote and micaz as well as the mica and mica2 platforms.
Tinyos 2.0.0 Beta Release was released on February 10, 2006. You can find more information on tinyos.net: TinyOS 2.0 Beta Release .
There are two approaches you can take: first, you can be sure to always send from the address that you're joined with. This option, however, isn't always practical given the number of email addresses people have these days. A more flexible solution is to subscribe using several email addresses and set all but one of those subscriptions to not receive mail.
To take the latter approach, first join tinyos-help with all of the addresses that you might use. (You can join from the tinyos-help info page -- see below.) Next, configure all but one of these subscriptions to not receive mail. To set a subscription to not receive mail, go to the tinyos-help list's info page: http://mail.millennium.berkeley.edu/mailman/listinfo/tinyos-help . Scroll down to the bottom of the page where you'll see a text field next to a button that says 'Unsubscribe or Edit Options'. Follow the directions and put the email address that you'd like to configure to receive no mail and click the button. On the configure page, set the Mail Delivery to 'Disabled' by checking the 'Disabled' checkbox. To make this change permanent, click the "Submit My Changes" button at the bottom of the page.
This information applies to all the tinyos mailing lists.
You can also email information/suggestions to kwright@cs.berkeley.edu . Lastly, you can also email suggestions to any of the appropriate TinyOS mailing lists off the support page .
This is really a bug in the Installshield setup as we also recommend putting javax.comm.properties in JAVAHOME/jre/lib. The upshot is that you can ignore that warning if you're certain you have a JAVACOMM 2.0 installation.
$ chmod -R a+rw tinyos-1.xThe above will make the tinyos-1.x directory and all the files in it accessible for reading and writing for all users. You can adapt the permissions to your security policy. See 'info chmod' for more information on the chmod command.
TinyOS uses RPMs to distribute TinyOS and it's subcomponents and tools for several reasons:
If you'd like to find out more about RPMs, please see www.redhat.com and search for 'rpm manual'.
Do this:
To reinstall gcc, click on the setup.exe that you used to upgrade Cygwin,go through the screens until you can choose packages to keep, upgrade, install. Find gcc and click on the 'Keep' until it says 'Reinstall'.
error: Failed dependencies:
nesc >= 1.1.1 is needed by tinyos-1.1.14Jul2005cvs-1
when I try to install tinyos.
If you do not want to upgrade NesC, you could install the rpm using the --nodeps argument but we do not recommend that.
/tmp/ccFOvuiZ.s: Assembler messages: /tmp/ccFOvuiZ.s:10: Error: unknown opcode `disablecou' /tmp/ccFOvuiZ.s:12: Error: unrecognized symbol type "" ...or
/tmp/ccrlquXA.s: Assembler messages: /tmp/ccrlquXA.s:111: Error: `,' required /tmp/ccrlquXA.s:111: Error: constant value required /tmp/ccrlquXA.s:111: Error: garbage at end of linewhen I try to compile an application?
NesC 1.2 and beyond, however, does not install this patched assembler for you. Instead, the patched assembler can be found in the binutils RPM available for your platform. You can find these binutils RPMS for the MSP430, AVR, and xscale platforms here: http://www.tinyos.net/dist-1.2.0/tools/. To ensure compatibility within compiler toolsets, you should upgrade all of your compiler tools (gcc,binutils,libc) with the rpms found in the above source repository. They are named by platform.
... Verifying: flash flash error at address 0x500: file=0x80, mem=0xff flash error at address 0x501: file=0x93, mem=0xff
If you are using a MIB500, this could be caused by a number of things, most of which relate to the use of the parallel port to program the mote. First, be sure that the mote is connected to the parallel port as you expect; that is, be sure it's firmly seated in the port/cable and, if using a cable, be sure the cable is firmly seated in the port. You might try removing the parallel cable from your setup to see if the cable is causing the problem.
Next, peruse the following document for hints on how to fix the problem UISP, Mote Programming and Mote Fuse or buy the MIB510 board from Crossbow that uses the serial port. Our understanding from Crossbow is that the MIB510 price for low quantities for domestic users is $95.
These flash errors can also be a symptom of a condition whereby the atmel128 (the mote's chip) fuses can become incorrectly programmed. If you have already received these errors and then find that you're receiving the error "...Probably the wiring is incorrect or target might be damaged...", you can read, check, and set your fuses properly with a JTAG board and AVR Studio. If you don't own a JTAG board and AVR Studio and you think that your fuses may have become compromised while programming the mote unsuccessfully, contact Crossbow for advice.
$ export TOSDIR=/home/kwright/src/tinyos-1.x/tosYou can check what ncc thinks is the tosdir by using the -print-tosdir option. See the nesc documentation in doc/nesc for more information. See more information about TOSDIR in this faq here.
Blink.nc:74: component Main not found Blink.nc:68 component StdControl not found ...when I compile?
You can choose from these fixes:
setenv TOSDIR /home/kwright/src/tinyos-1.x/tos
$TOSDIR = /cygdrive/k/tinyos-1.x/tos
which java returns a path which includes something similar to /cygdrive/your-system-drive/jdk1.4.1_02/j2sdk1.4.1_02/bin/java. In linux, be sure it returns a 1.4 JDK. If it doesn't, find where you've installed your 1.4 jdk and add
c:\jdk1.4.1_02\j2sdk1.4.1_02\jre\lib\ext\comm.jar
The way you've specified the class on the command line does not match what the class itself thinks it is called. The compiled java class might include a path in its name. For example, the class defined in tools/net/tinyos/oscilloscope/oscilloscope.java has the classname tools/net/tinyos/oscilloscope/oscilloscope. For example, to run the oscilloscope tool, you can cd to tools/java and type java net/tinyos/oscilloscope/oscilloscope .
PROGRAMMER_EXTRA_FLAGS = -dlpt=3
Hint: Just look at the definitions for a while and it will all make sense.
addr 2 bytes type 1 byte group 1 byte length 1 byte payload 29 bytes crc 2 bytesThe trick was that since the addr field is not needed on a serial link, they made the first character 126, which happens to be the HDLC framing byte. Readers look for 126 and assume that the next 35 bytes are the rest of the TOS message.
The new format adds some additional framing bytes:
sync 1 byte (HDLC framing byte: 126) proto 1 byte (packet type: 66) previous_tos_message (36 bytes) sync 1 byte (HDLC framing byte: 126)The trick here is that within the previous_tos_message all instances of the HDLC framing byte (126) and the HDLC escape bytes (125) must be escaped. To escape a byte, the byte is replaced with a two byte sequence. The first byte of the sequence is the HDLC escape byte (125), and the second byte is the original byte xored with x20. Since the first byte of the previous_tos_message is always a 126, it must always be escaped, adding a byte to the length of the message.
Code for the CC1000 radio stack can be found in this TinyOS directory: tos/platform/mica2/CC1000*
Summaries:
1.1.0 version (also in 1.1.1 and 1.1.2)
CC2420 (used in the MicaZ and Telos platforms)
-----------------------------------------------
Support for the CC2420 radio was introduced in TinyOS 1.1.7. The
CC2420 uses B-MAC. However, the CC2420 radio does not have the Low
Power Listening functionality; it does have the MacControl and
MacBackoff interfaces but, again, the underlying functionality is not
implemented.
The Zigbee standards are only available to Zigbee Alliance members; that is, they are not open-source.
Zigbee is not a MAC protocol, an operating system, or a hardware platform.
Here is the Zigbee Alliance website: http://www.zigbee.org/en/index.asp
The CC2420 radio stack does not support the full IEEE 802.15.4 standard; instead it provided B-MAC primitives and sends 802.15.4-compliant packets, but does not implement the 802.15.4 MAC protocol.
The IEEE 802.15.4 (formally called "IEEE 802.15.4 WPAN Task Group 4") web site is here: http://www.ieee802.org/15/pub/TG4.html
Your user directory doesn't exist on the sourceforge cvs server until you ssh directly into it. Once you ssh into the server directly, your directory will be created and then you can check out source.
Try something like this:
ssh -l cvs.tinyos.sourceforge.net
Enter your sourceforge password when asked. Because of the restricted
shell, you'll be logged out of cvs.tinyos.sourceforge.net immediately,
but the directory will still have been created.
Note that this does not apply to using the 'anonymous' username to check-out files.
CntToLeds, but the lights don't blink.This means either you are reading from the wrong port, or that the correct port is currently being used by another application. Check to see if some other software is currently occupying the port (your Palm desktop software, etc.)
If you're using Linux make sure that your current user has read/write access to the port.
Mica2: The strength field (TOS_Msg->strength) of the TOS_Msg structure is filled in with data from the radio's Received Signal Strength Indicator (RSSI) pin. The RSSI data is inversely proportional to the signal's strength. You can find out exactly how to interpret the RSSI data by looking at the RSSI Output section of the Chipcon CC1000 radio's datasheet:
http://www.chipcon.com/files/CC1000_Data_Sheet_2_1.pdf
Mica: It is possible to get the signal strength field on the Mica's RFM radio, but the code in the tree does not support that functionality; the code in the tree leaves the strength field equal to 0. However, there are implementations out there that do support the strength field though they're for older versions of code. For an example, see this archived help message: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/2003-March/001018.html and the RFM TR1000's datasheet: http://www.rfm.com/products/data/tr1000.pdf
-dserial=/dev/ttyUSB0