I have a "initialisation.c" file that defines the start function, My
support/make/isense.target file looks like:
___________________________________________
PLATFORM = isense
CFLAGS += $(TOSDIR)/platforms/isense/initialisation.c
$(call TOSMake_include_platform,JN513X)
isense: $(BUILD_DEPS)
@:
___________________________________________
I think that the C file is interpreted like an assembly file because when I
compile I have now:
___________________________________________
[EMAIL PROTECTED] /cygdrive/c/jennic/cygwin/opt/tinyos-2.x/apps/Null
$ make isense
mkdir -p build/isense
compiling NullAppC to a isense binary
ncc -o build/isense/main.exe -Os -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-a
ll -target=isense -fnesc-cfile=build/isense/app.c -board= -DIDENT_PROGRAM_NAME=\
"NullAppC\" -DIDENT_USER_ID=\"Mejda\" -DIDENT_HOSTNAME=\"MEJDA\" -DIDENT_USER_HA
SH=0x9dac3aceL -DIDENT_UNIX_TIME=0x4765662fL -DIDENT_UID_HASH=0x211aa43aL /opt/t
inyos-2.x/tos/platforms/isense/initialisation.c -I. -DOR1K -g -Os -Wall -fomit-f
rame-pointer -msibcall -mno-entri -mno-multi -mno-setcc -mno-cmov -mno-carry -mn
o-subb -mno-sext -mno-ror -mno-ff1 -mno-hard-div -mhard-mul -mbranch-cost=3 -msi
mple-mul -mabi=1 -march=ba1 -mredzone-size=4 -DPCB_DEVKIT2 -DEMBEDDED -DLEAN_N_M
EAN -DSINGLE_CONTEXT -DCHIP_RELEASE_5131 -Iinclude -I/opt/tinyos-2.x/tos/chips/J
N5139R1/Platform/DK2/Include -I./Source -I/opt/tinyos-2.x/tos/chips/JN5139R1/Com
mon/Include -I/opt/tinyos-2.x/tos/chips/JN5139R1/Chip/JN513xR1/Include -I -I/opt
/tinyos-2.x/tos/chips/JN5139R1/Chip/Common/Include NullAppC.nc -lm
/opt/tinyos-2.x/tos/platforms/isense/initialisation.c:2: error: expected '=', ',
', ';', 'asm' or '__attribute__' before 'void'
/opt/tinyos-2.x/tos/platforms/isense/initialisation.c:15: error: expected '=', '
,', ';', 'asm' or '__attribute__' before 'void'
make: *** [exe0] Error 1
___________________________________________
can someone please tell me how to call a C file in .target ?
----- Message d'origine ----
De : Kevin Klues <[EMAIL PROTECTED]>
À : [EMAIL PROTECTED]
Cc : mejda chouaieb <[EMAIL PROTECTED]>; [email protected]
Envoyé le : Dimanche, 16 Décembre 2007, 1h55mn 53s
Objet : Re: Re : Tr : Re : [Tinyos-help] linking problems
Take a look at how imote defines their start function in
tos/platforms/intelmote2/toscrt0.s assembly file.
And then see how this gets compiled in with everything else in
support/make/intelmote2.target
Kevin
On Dec 14, 2007 7:20 PM, Michael Schippling <[EMAIL PROTECTED]> wrote:
I'm sorry, but there's been too much water under the bridge for me...
What I was trying to say, and it seems to be somewhat true, is that
you need a symbol named "_start" that tells the link/loader where to put
the very first executable instruction in 'physical' memory. I believe
there was an invisible .o that did this for UNIX compiles back in the day,
and I forget what it's name was...but it was automagically included
in every compile. If this is not covered in the TOS "porting"
"documentation" then you may need to do some code archaeology on
existing platforms, down to the .asm level. The ELF linker doc may
have something to say about it too.
MS
mejda chouaieb wrote:
> I didn't really understand if this warning comes from TinyOS or from the
> Toolchain !
> II'm porting TinyOS to Jennic JN5139R1 microcontroller and i'm compiling for
> my new platform called iSense which is based on the JN5139R1 microcontroller,
> it seams to compile the Null application but I still have this warning that
> is very important. I wrote the functions that starts Jennic.
> as follows:
> -------------------------------------------------------------------------------------------
> PUBLIC void AppColdStart() {
> HAL_GDB_INIT();
> HAL_BREAKPOINT();
> /* Register peripheral callbacks */
> u32AppApiInit( NULL, NULL, NULL, NULL, NULL, NULL);
> u32AHI_Init();
> }
> PUBLIC void AppWarmStart() {
> AppColdStart();
> }
> ------------------------------------------------------------------------------------------
>
> every thing is related to this Makefile line :
> _________________________________________________________________________________________________________________
> $(NCC) -o $(MAIN_EXE) $(OPTFLAGS) $(PFLAGS) $(CFLAGS) $(WIRING_CHECK_FLAGS)
> $(COMPONENT).nc $(LIBS) $(LDFLAGS)
> _________________________________________________________________________________________________________________
> when I compile the Null application I have :
> [EMAIL PROTECTED] /cygdrive/c/jennic/cygwin/opt/tinyos- 2.x/apps/Null
> $ make isense
> mkdir -p build/isense
> compiling NullAppC to a isense binary
> ncc -o build/isense/main.exe -Os -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d
> -Wnesc-a
> ll -target=isense -fnesc-cfile=build/isense/app.c -board=
> -DIDENT_PROGRAM_NAME=\
> "NullAppC\" -DIDENT_USER_ID=\"Mejda\" -DIDENT_HOSTNAME=\"MEJDA\"
> -DIDENT_USER_HA
> SH=0x9dac3aceL -DIDENT_UNIX_TIME=0x476341cfL -DIDENT_UID_HASH=0x8c7e27ebL -I.
> -D
> OR1K -g -Os -Wall -fomit-frame-pointer -msibcall -mno-entri -mno-multi
> -mno-setc
> c -mno-cmov -mno-carry -mno-subb -mno-sext -mno-ror -mno-ff1 -mno-hard-div
> -mhar
> d-mul -mbranch-cost=3 -msimple-mul -mabi=1 -march=ba1 -mredzone-size=4
> -DPCB_DEV
> KIT2 -DEMBEDDED -DLEAN_N_MEAN -DSINGLE_CONTEXT -DCHIP_RELEASE_5131 -Iinclude
> -I/
> opt/tinyos-2.x/tos/chips/JN5139R1/Platform/DK2/Include -I./Source
> -I/opt/tinyos-
> 2.x/tos/chips/JN5139R1/Common/Include
> -I/opt/tinyos-2.x/tos/chips/JN5139R1/Chip/
> JN513xR1/Include -I -I/opt/tinyos- 2.x/tos/chips/JN5139R1/Chip/Common/Include
> Nu
> llAppC.nc -lm
> /ba-elf/bin/../lib/gcc/ba-elf/4.1.2/../../../../ba-elf/bin/ld: warning:
> cannot f
> ind entry symbol _start; defaulting to 00000000
> compiled NullAppC to build/isense/main.exe
> 360 bytes in ROM
> 4 bytes in RAM
> ba-elf-objcopy --output-target=ihex build/isense/main.exe
> build/isense/main.ihex
> writing TOS image
> [EMAIL PROTECTED] /cygdrive/c/jennic/cygwin/opt/tinyos- 2.x/apps/Null
> $
> ___________________________________________________________________________________
> I'm really confused and I couldn't fix this warning since 2 weeks, so if some
> one has an idea or if someone can explain to me what happen when this
> makefile line is used it will be great. because when I commit it out I have
> no more this warning as follows:
> _____________________________________________________________________________________
> $ make isense
> mkdir -p build/isense
> compiling NullAppC to a isense binary
> #ncc -o build/isense/main.exe -Os -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d
> -Wnesc-
> all -target=isense -fnesc-cfile=build/isense/app.c -board=
> -DIDENT_PROGRAM_NAME=
> \"NullAppC\" -DIDENT_USER_ID=\"Mejda\" -DIDENT_HOSTNAME=\"MEJDA\"
> -DIDENT_USER_H
> ASH=0x9dac3aceL -DIDENT_UNIX_TIME=0x476344dfL -DIDENT_UID_HASH=0xaad354f0L
> -I. -
> DOR1K -g -Os -Wall -fomit-frame-pointer -msibcall -mno-entri -mno-multi
> -mno-set
> cc -mno-cmov -mno-carry -mno-subb -mno-sext -mno-ror -mno-ff1 -mno-hard-div
> -mha
> rd-mul -mbranch-cost=3 -msimple-mul -mabi=1 -march=ba1 -mredzone-size=4
> -DPCB_DE
> VKIT2 -DEMBEDDED -DLEAN_N_MEAN -DSINGLE_CONTEXT -DCHIP_RELEASE_5131 -Iinclude
> -I
> /opt/tinyos-2.x/tos/chips/JN5139R1/Platform/DK2/Include -I./Source
> -I/opt/tinyos
> -2.x/tos/chips/JN5139R1/Common/Include -I/opt/tinyos-
> 2.x/tos/chips/JN5139R1/Chip
> /JN513xR1/Include -I -I/opt/tinyos-2.x/tos/chips/JN5139R1/Chip/Common/Include
> N
> ullAppC.nc -lm
> compiled NullAppC to build/isense/main.exe
> 360 bytes in ROM
> 4 bytes in RAM
> ba-elf-objcopy --output-target=ihex build/isense/main.exe
> build/isense/main.ihex
> writing TOS image
> _____________________________________________________________________________________
>
>
> Thanks
> ----- Message d'origine ----
> De : Michael Schippling <[EMAIL PROTECTED]>
> À : mejda chouaieb < [EMAIL PROTECTED]>
> Cc : [email protected]
> Envoyé le : Vendredi, 14 Décembre 2007, 18h48mn 09s
> Objet : Re: Tr : Re : [Tinyos-help] linking problems
>
> My guess would be that there is a 'hidden' main() component
> that sets the entry address "_start". The tos/system/RealMain.nc
> might have something to do with this, but probably something needs
> to be defined into the compiler or assembler to tie it all together...
>
> Of course, if your controller's entry address IS 0x0000,
> it's might JustWork(TM) as is.
>
> MS
>
> mejda chouaieb wrote:
>> Hello,
>> i´m trying to compile the Null application, I type ´make isense´
>> when I compile because my new platform is called isense
>> yes when I commit out this line the program is not compiled. what do
>> you mean by a problem with the software setup?
>> I didn´t try to compile Blink right now, I want first to compile the
>> Null application for that platform.
>> Thanks
>>
>>
>>
>> ----- Message d'origine ----
>> De : Urs Hunkeler <[EMAIL PROTECTED]>
>> À : mejda chouaieb < [EMAIL PROTECTED]>
>> Cc : [email protected]
>> Envoyé le : Vendredi, 14 Décembre 2007, 9h58mn 07s
>> Objet : Re: [Tinyos-help] linking problems
>>
>> Hi,
>>
>> You probably won't get any errors anymore because the program is not
>> being compiled. I would guess that this line is the single most
>> important line in the whole Makefile :-)
>>
>> I don't know the detailed meaning of this line, but the $(LDFLAGS) is
>> usually the set of flags specific for linking.
>>
>> Your warning seems to indicate a problem with your software setup. What
>> is the exact command you use to compile? What application are you
>> trying
>> to compile? Do you manage to compile the Null application for the
>> desired platform? If so, what about Blink?
>>
>> Cheers,
>> Urs
>>
>>
>> mejda chouaieb schrieb:
>>> Hello All,
>>> can someone please expalin to me the meaning of this line and if
>> something for linking is present here :
>>> $(NCC) -o $(MAIN_EXE) $(OPTFLAGS) $(PFLAGS) $(CFLAGS)
>> $(WIRING_CHECK_FLAGS) $(COMPONENT).nc $(LIBS) $(LDFLAGS)
>>> because when i copile for my new platform I have a linking error from
>> the toolchain:
>>> /ba-elf/bin/../lib/gcc/ba-elf/4.1.2/../../../../ba-elf/bin/ld:
>> warning: cannot find entry symbol _start; defaulting to 00000000
>>> and when I put # in front of this line this warning disappears !!!
>>> Thanks for help
>>
>>
>>
>>
>>
>>
>>
>> ____________________________________________________________________________________________
>> Yahoo! Mail innove : interface hyper pratique, messenger intégré,
>> couleurs - http://mail.yahoo.fr
>>
>>
>>
>>
>>
>>
>> _____________________________________________________________________________
>>
>> Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail
>> http://mail.yahoo.fr
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
--
Platform: WinXP/Cygwin
TinyOS version: 1.x, Boomerang
Programmer: MIB510
Device(s): Mica2, MicaZ, Tmote
Sensor board: homebrew
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
~Kevin
______________________________________________________________________________
Yahoo! Mail : un mail innovant avec Messenger compatible Windows Live +
stockage illimité. http://mail.yahoo.fr_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help