]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - doc/html/upgrade-tinyos.html
2.0.2
[tinyos-2.x.git] / doc / html / upgrade-tinyos.html
index dec0395372ba37f5b99e4bc500676692b8004f37..116c85a860ef659a641c37ee51a17f101f5a7369 100644 (file)
@@ -2,13 +2,13 @@
 <html>
   <head>
 
-  <title>Installing TinyOS 2.0</title>\r
+  <title>Installing TinyOS 2.0.2</title>\r
   <link href="../stylesheets/tutorial.css" rel="stylesheet" type="text/css">\r
 </head>
   <body>
 
-    <div class="title">Upgrading from TinyOS 1.x to TinyOS 2.x</div>
-    <div class="subtitle">Last updated 5 November 2006</div>
+    <div class="title">Upgrading from TinyOS 1.x to TinyOS 2.0.2</div>
+    <div class="subtitle">Last updated 30 July 2007</div>
 <p>
 This document describes how to upgrade your TinyOS 1.x environment to
 a TinyOS 2.x environment. This requires that you not only install the 
@@ -157,11 +157,17 @@ only installing a 2.x tree, you can use <code>rpm -Uvh</code>.
 If you using the Cygwin version recommended
 in these install
 instructions, you should install the "Recommended" Windows/Cygwin
-nesC RPM. 
-Try installing it and if it does not work (e.g., you
-get strange errors when you try to execute it), this may be due
+nesC RPM.
+If you
+get strange errors when you try to compile TinyOS programs,
+such as the error message "the procedure entry point basename could not be located
+in the dynamic link library cygwin1.dll", this is likely due
 to a Cygwin version incompatibility: try the "Other" Windows/Cygwin 
-RPM (1.2.7a). 
+RPM. If you are using Cygwin and installing the nesC RPM 
+causes an error that the RPM was built for Cygwin, add the <tt>--ignoreos</tt>
+option.
+
+
 
 <p>
 
@@ -179,17 +185,24 @@ RPM (1.2.7a).
 <tr>
   <td>NesC</td>
   <td><a href="http://www.tinyos.net/dist-1.2.0/tinyos/windows/nesc-1.2.8a-1.cygwin.i386.rpm">nesc-1.2.8a-1.cygwin.i386.rpm</a></td>
-  <td><a href="http://www.tinyos.net/dist-1.2.0/tinyos/windows/nesc-1.2.8a-1.cygwin.i386.rpm">nesc-1.2.8a-1.cygwin.i386.rpm</a></td>
+  <td><a href="http://www.tinyos.net/dist-1.2.0/tinyos/windows/nesc-1.2.8b-1.cygwin.i386.rpm">nesc-1.2.8b-1.cygwin.i386.rpm</a></td>
   <td><a href="http://www.tinyos.net/dist-1.2.0/tinyos/linux/nesc-1.2.8a-1.i386.rpm">nesc-1.2.8a-1.i386.rpm </a></td>
   <td><a href=""></a><code>rpm -Uvh</code><br><code>rpm -Uvh --ignoreos</code> (if Cygwin complains)</td>
 </tr>
-
+<tr></tr>
 <tr>
-  <td bgcolor="#dddddd">tinyos-tools</td>
-  <td bgcolor="#dddddd"><a href="http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-tools-1.2.3-1.cygwin.i386.rpm">tinyos-tools-1.2.2-1.cygwin.i386.rpm</a></td>
-  <td bgcolor="#dddddd"><a href="http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-tools-1.2.3-1.cygwin.i386.rpm">tinyos-tools-1.2.2-1.cygwin.i386.rpm</a></td>
-  <td bgcolor="#dddddd"><a href="http://www.tinyos.net/dist-2.0.0/tinyos/linux/tinyos-tools-1.2.3-1.i386.rpm">tinyos-tools-1.2.2-1.i386.rpm</a></td>
-  <td bgcolor="#dddddd"><a href=""></a><code>rpm -ivh --force</code>&nbsp;(1.x tree)<br><code>rpm -Uvh</code>&nbsp;(no 1.x tree)<br></td>
+  <td bgcolor="#dddddd"><b>Tool</b></td>
+  <td bgcolor="#dddddd"><b>Windows/Cygwin</b></td>
+  <td bgcolor="#dddddd"><b>32-bit Linux</b></td>
+  <td bgcolor="#dddddd"><b>64-bit Linux</b></td>
+  <td bgcolor="#dddddd"><b>Command</b></td>
+</tr>
+<tr>
+  <td>tinyos-tools</td>
+  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-tools-1.2.4-2.cygwin.i386.rpm">tinyos-tools-1.2.4-2.cygwin.i386.rpm</a></td>
+  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/linux/tinyos-tools-1.2.4-2.i386.rpm">tinyos-tools-1.2.4-2.i386.rpm</a></td>
+  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/linux/tinyos-tools-1.2.4-2.i686.rpm">tinyos-tools-1.2.4-2.i686.rpm</a></td>
+  <td><a href=""></a><code>rpm -ivh --force</code>&nbsp;(1.x tree)<br><code>rpm -Uvh</code>&nbsp;(no 1.x tree)<br></td>
 </tr>
 
 </tbody></table>
@@ -231,8 +244,8 @@ recommend removing it before installing the new one with a forced install.</p>
 
 <tr>
   <td>TinyOS</td>
-  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-2.0.0-3.cygwin.noarch.rpm">tinyos-2.0.0-3.cygwin.noarch.rpm</a></td>
-  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/linux/tinyos-2.0.0-3.noarch.rpm">tinyos-2.0.0-3.noarch.rpm</a></td>
+  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/windows/tinyos-2.0.2-2.cygwin.noarch.rpm">tinyos-2.0.2-2.cygwin.noarch.rpm</a></td>
+  <td><a href="http://www.tinyos.net/dist-2.0.0/tinyos/linux/tinyos-2.0.2-2.noarch.rpm">tinyos-2.0.2-2.noarch.rpm</a></td>
   <td><tt>rpm -Uvh</tt> (to upgrade)<br>
       <tt>rpm -ivh</tt> (to install)<br>
       <tt>rpm -ivh --force</tt> (to force install)<br>
@@ -315,6 +328,22 @@ are going to use: <code>chmod 666 /dev/&lt;devicename&gt;<code>
 groups: </li>
 -->
 </code></code></li></ol>
+<li><p>Finally, if you have installed TinyOS 2.0.1, there is a bug in TOSSIM (which will be fixed in 2.0.2).
+The bug is in file <tt>tos/chips/atm128/sim/atm128_sim.h</tt>. Change these lines 22 and 23 from:
+
+<pre>
+#define _SFR_IO8(io_addr) _MMIO_BYTE((io_addr) + 0x20)
+#define _SFR_IO16(io_addr) _MMIO_WORD((io_addr) + 0x20)
+</pre>
+
+to
+
+<pre>
+#define _SFR_IO8(io_addr) _MMIO_BYTE((io_addr))
+#define _SFR_IO16(io_addr) _MMIO_WORD((io_addr))
+</pre>
+
+If you do not do this, then timers will not work correctly.
 
 </li></ul>
 <a name="tinyos1"><h1>Switching back to a TinyOS 1.x tree</h1></a>