public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] How to specify the starting function of a U-boot standalone application.
@ 2008-06-24 21:45 richardretanubun
  2008-06-25  5:44 ` Jens Gehrlein
  0 siblings, 1 reply; 5+ messages in thread
From: richardretanubun @ 2008-06-24 21:45 UTC (permalink / raw)
  To: u-boot

Hi Guys,

I am writing a u-boot standalone application and are having difficulty 
understanding how it decides the function to execute when
I used to "go <start addr>+4" command.

In my application I have something like this...

the filename is my_test.c

/* Function prototypes */
int main (int argc, char *argv[]);
void do_func_a (int argc, char *argv[]);
void do_func_info (void);

int main (int argc, char *argv[])
{
    app_startup (argv);

    ....
    do_func_info();

    do_func_a(argc, argv);

    return(0);
}

void do_func_a(int argc, char *argv[])
{
    ....
}

void do_func_info(void)
{

}

When I go go <start addr>, the execution jumps straight to 
do_func_info() and the application finishes. (which is just a bunch of 
printf).

How do I ensure that when compiled, the my_test.bin places the main 
function at the "go" point?

I have tried re-ordering the function bodies around, moving main as the 
last function and thus removing all the function prototypes.
I tried name matching the "main" function to the file name, none seems 
to help.

Thank you so much for all your help.

Richard Retanubun.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-06-27 16:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-24 21:45 [U-Boot-Users] How to specify the starting function of a U-boot standalone application richardretanubun
2008-06-25  5:44 ` Jens Gehrlein
2008-06-25 13:42   ` [U-Boot-Users] How to specify the starting function of aU-boot " McMullan, Jason
2008-06-25 13:57     ` Jens Gehrlein
2008-06-27 16:08       ` richardretanubun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox