Hi Luca, If you copy your answers also to the TinyOS mailing list (reply all), then others can see our discussions and might solve similar problems or could contribute their ideas.
From the output that you provide it seems that you have compiled c_code.c separately, which gives you a c_code.o. This c_code.o seems to include a main method, which conflicts with the main method in the TinyOS program. A library or object file that is not the main program should not have a main method. It also appears that you compiled the c_code.c file for a different platform (most likely to run on your PC). The microcontroller on the telosb mote is not compatible with your PC, and the code needs to be compiled with a special version of gcc to generate binary code executable on the MSP430 microcontroller. You could recompile the code with msp430-gcc, or you could simply copy the C function into the NesC file where you need it. Cheers, Urs On 10/08/2010 11:00 AM, Luca Pellanda wrote: > Hi urs, > > I wrote myself the function, it's the classic hello word.. > I wanted to include in the Blink app to see if I can compile with c code > without problem.. I edit the c_code.h and the c_code.c and also included > the "c_code.h" on the top of BlinkM.nc... > > when I start make telosb this is the output... > > rom...@romolo-laptop:/opt/tinyos-1.x/apps/Blink_functionC$ make telosb > mkdir -p build/telosb > compiling Blink to a telosb binary > ncc -o build/telosb/main.exe -O -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d > -Wnesc-all -target=telosb -fnesc-cfile=build/telosb/app.c -board= > -I%T/lib/Deluge > -Wl,--section-start=.text=0x4800,--defsym=_reset_vector__=0x4000 > -DIDENT_PROGRAM_NAME=\"Blink\" -DIDENT_USER_ID=\"romolo\" > -DIDENT_HOSTNAME=\"romolo-laptop\" -DIDENT_USER_HASH=0xed3257d1L > -DIDENT_UNIX_TIME=0x4caedca7L -DIDENT_UID_HASH=0xe305626aL > -mdisable-hwmul -I/opt/tinyos-1.x/tos/lib/CC2420Radio Blink.nc -lm c_code.o > c_code.o: In function `main': > (.text+0x98): multiple definition of `main' > /tmp/cc7iwT9s.o:app.c:(.text+0x60): first defined here > msp430-ld: Warning: size of symbol `main' changed from 314 in > /tmp/cc7iwT9s.o to 25 in c_code.o > msp430-ld: warning: unknown architecture of input file `c_code.o' is > incompatible with msp:16 output > msp430-ld: section .interp [000053cc -> 000053de] overlaps section .data > [000053cc -> 000053db] > make: *** [exe0] Error 1 > > > Thanks for the help... > > luca > > > 2010/10/8 Urs Hunkeler <[email protected] <mailto:[email protected]>> > > Hi Luca, > > What kind of C-function do you refer to? Is it a library function > (which library?) or a function you wrote yourself? If you wrote the > function yourself, is it in a separate file? Maybe if you post the > exact output you get from trying to run Make we can better > understand what is causing your problems. > > Cheers, > Urs > > > > On 10/08/2010 10:31 AM, Luca Pellanda wrote: > > Hi guys, > > I'm new to the tinyOs word so I write here in search of help.. > > I read all the previous post on the use of function C in nesc app. I > have however some difficult to compile... (probabily because of my > inexperience in the edit of makefile). > So I want to ask if there is someone who have a example of a > little app > with the call to c funtion and post it (especially the make file > modified). I searched everywhere but I didn't find any. > > Thanks for the help > > Luca > > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
