[Tinyos-help] TinyOS on MacOSX (Intel)

Philip Levis pal at cs.stanford.edu
Wed May 3 09:15:13 PDT 2006


On May 3, 2006, at 7:46 AM, Matt Welsh wrote:

> Hi all:
>
> I have searched the archives and have not found much information
> about running TinyOS on MacOS machines (Intel in my case).
> There is some information here:
> 	http://www.allthingsalceste.com/tinyos-on-mac-os-x/
>
> However, there are a few details missing on this page, such as how
> to get any of the Java tools to compile, how to receive packets over
> the serial port, etc.
>
> Wondering if anyone else who has dealt with MacOS can help out.
> I swear I have seen MacOS machines with motes plugged into them!
>
> 1) NesC does not seem to work; I simply get
>
> make: *** [exe0] Error 1
>
> This seems to be the same problem reported here:
>
> http://mail.millennium.berkeley.edu/pipermail/tinyos-help/2006-May/ 
> 016321.html
>
> I have not tried the fix suggested in the followup.

This fix has worked for me.


> 2) I am unable to compile the Java tools in net/tinyos because (you
> guessed it!) there is no javax.comm for MacOS. Took a look at RXTX but
> am unable to get RXTX-2.0 to compile; seems that RXTX-2.0 is a bit out
> of date. RXTX-2.1 might work but uses the gnu.io namespace so is  
> probably
> not compatible with the TinyOS tools.
>

I don't know a good answer to this. TinyOS 2.0 has thrown off RXTX/ 
javax.comm because of all of the issues and uses its own serial  
package (written by Cory Sharp). I haven't tried getting it working  
on OS X, however, and it isn't backwards-compatible with 1.x (there  
is a slightly different serial protocol).

> 3) The C-based Serial Forwarder in tools/src/sf compiles and seems to
> find the serial port; but subtle differences in the way the serial IO
> works on MacOS seem to be getting in the way of it working properly.
>
> In general it is frustrating that the TinyOS toolset depends so  
> heavily
> on these large, unwieldy, and non-portable Java libraries. I am not  
> sure
> what the TinyOS 2.x effort is doing but it would be far preferable to
> have a lean 'serial daemon' that interfaces to the serial port and  
> could
> be (ideally) readily ported across many platforms; then the Java tools
> only need to understand how to talk to the daemon over a socket.

I agree, that would be a useful tool. There are a few complexities,  
e.g., due to how 2.x formats serial packets, but I don't think they  
would be insurmountable. TEP 113 goes into the details. It would  
essentially be a single-client serial forwarder. Between fine-tuning  
the power management system, filling in the communication bus  
support, network protocols, tutorials, the compiler, storage, and  
moving TEPs out of draft, I think it's safe to say that the T2 WG has  
its hands full. It would welcome contributions, however: if someone  
wrote it and it worked well, I would check it in...

Phil


More information about the Tinyos-help mailing list