[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