Hi Guys, I found this in the u-boot FAQ (is there anything that thing can't answer? :D)
http://www.denx.de/wiki/view/DULG/MyStandaloneProgramDoesNotWork Of course, Jason's solution is also nice. Thanks for that! Regards, - Richard Retanubun Jens Gehrlein wrote: > Hi Jason, > > McMullan, Jason schrieb: >> On Wed, 2008-06-25 at 07:44 +0200, Jens Gehrlein wrote: >>> I have the same problem. When I modify the source code the compiler >>> may or may not rearrange the functions. It is not guaranteed, that >>> the main function always starts at the same address. >>> >>> How can this be solved? Is it possible/meaningful to put the main >>> function into a separate linker segment? Any suggestions? >> >> The simplest way I've found is to make the following C file: >> >> --- _start.c --- >> void _start(void) >> { >> extern int main(int argc, char **argv); >> char *args[] = { "myprogramname", "-foo", "bar", /* etc. etc. */ }; >> main(sizeof(args)/sizeof(args[0]), args); >> /* Wait forever after the program ends */ >> for (;;); >> } >> ----------------- >> >> Then, link '_start.o' before *any* other objects in your link step. >> >> Voila! The text entry should be _start! >> >> Feel free to add BSS initialization, etc. in _start as needed. > > Very nice. Thank you for this tip! > > Best Regards, > Jens ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ U-Boot-Users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/u-boot-users
