[Tinyos-help] Beginners help

Philip Levis pal at cs.stanford.edu
Sat Dec 23 14:50:18 PST 2006


On Dec 23, 2006, at 11:23 AM, Peter Mueller wrote:

> Hi,
>
> I'm new to tinyos (but not to uCs etc).
>
> I followed the installation guide for the 2.x version and installed  
> cygwin from the package offered on tinyos.net
>
> Installation seems to be ok. Only tos-check-env reported a wrong  
> dot version (mine is newer).
>
> But when I try to compile the Blink example for the tinynode  
> several pages of errors appear. I don't believe they are tinynode  
> related. But indicate a general problem of my installation. Here  
> the first lines of output:
>
>
> $ make tinynode
> mkdir -p build/tinynode
>     compiling BlinkAppC to a tinynode binary
> ncc -o build/tinynode/main.exe -Os -Os -mdisable-hwmul -mstrict- 
> align -Wall -Wsh
> adow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=tinynode -fnesc- 
> cfile=build/tiny
> node/app.c -board=  -fnesc-dump=wiring -fnesc-dump='interfaces(! 
> abstract())' -fn
> esc-dump='referenced(interfacedefs, components)' -fnesc- 
> dumpfile=build/tinynode/
> wiring-check.xml BlinkAppC.nc -lm
> /cygdrive/c/Temp/cczxLXV0.s: Assembler messages:
> /cygdrive/c/Temp/cczxLXV0.s:4: Error: junk at end of line, first  
> unrecognized ch
> aracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:6: Error: unrecognized symbol type ""
> /cygdrive/c/Temp/cczxLXV0.s:6: Error: junk at end of line, first  
> unrecognized ch
> aracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:7: Error: expected comma after name  
> `McuSleepC' in .
> size directive
> /cygdrive/c/Temp/cczxLXV0.s:8: Error: unknown opcode `mcusleepc 
> $dirty:'
> /cygdrive/c/Temp/cczxLXV0.s:10: Error: junk at end of line, first  
> unrecognized c
> haracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:11: Error: unrecognized symbol type ""
> /cygdrive/c/Temp/cczxLXV0.s:11: Error: junk at end of line, first  
> unrecognized c
> haracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:12: Error: expected comma after name  
> `McuSleepC' in
> .size directive
> /cygdrive/c/Temp/cczxLXV0.s:13: Error: unknown opcode `mcusleepc 
> $powerstate:'
> /cygdrive/c/Temp/cczxLXV0.s:15: Error: junk at end of line, first  
> unrecognized c
> haracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:18: Error: unrecognized symbol type ""
> /cygdrive/c/Temp/cczxLXV0.s:18: Error: junk at end of line, first  
> unrecognized c
> haracter is `$'
> /cygdrive/c/Temp/cczxLXV0.s:19: Error: expected comma after name  
> `McuSleepC' in
> .size directive
> /cygdrive/c/Temp/cczxLXV0.s:20: Error: unknown opcode `mcusleepc 
> $msp430powerbits
> :'
> /cygdrive/c/Temp/cczxLXV0.s:114: Error: unrecognized symbol type ""
> /cygdrive/c/Temp/cczxLXV0.s:114: Error: junk at end of line, first  
> unrecognized
> character is `$'
> /cygdrive/c/Temp/cczxLXV0.s:118: Error: unknown opcode  
> `msp430dcocalibp$timermic
> ro$overf'
> /cygdrive/c/Temp/cczxLXV0.s:120: Error: unknown pseudo-op:  
> `.l__framesize_msp430
> dcocalibp'
>
> My compiler (on cygwin):
> $ ncc --version
> ncc: 1.2.1
> nescc: 1.2.7b
> gcc: gcc (GCC) 3.3.3 (cygwin special)


You don't have the TinyOS distribution of the MSP430 toolchain (or  
it's using another installation).

When nesC generates a C file for the native C compiler, it uses $ in  
its name-mangling to make sure that C can't work around component  
encapsulation. The GNU assemblers don't allow this by default, but  
have a simple compile-time flag to allow it. So the TinyOS  
distributions are just the standard source trees with the $ option set.

Phil


More information about the Tinyos-help mailing list