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