Hi,
   Thanks for your response, im certainly initialising by calling app_startup ( ) ;

   My Program Looks like:

  int hello_world (int argc, char * argv [ ])
  {
       int ch ;

       app_startup(argv);
       printf ("Example expects ABI version %d\n", XF_VERSION);
       printf ("Actual U-Boot ABI version %d\n", (int)get_version());

       printf ("Do you want to execute all the tests\n") ;
       printf ("Enter Y to yes or any other key to exit:") ;

       while (!tstc())
                 ;
       ch = getc ( );

       if (ch == 'Y' || ch == 'y') {
              printf ("Executing tests\n") ;
              tests ( ) ;
       }
           
       printf ("Returning back to u-boot\n") ;
       printf ("\n\n") ;

      return (0) ;
 }


 When i return back, I dont get the u-boot prompt.  I need to restart the board.

  I get the print Returning back to u-boot.


  Am i missing something before return?.



On 11/18/06, Wolfgang Denk < wd@denx.de> wrote:
In message < 8bf247760611170016n2bc309dbhf0d44e10c03d2e01@mail.gmail.com> you wrote:
>
>  I had posted a query regarding hanging of u-boot when a return is made from
> a standalone application.

Did you really follow the required steps? See the documentation!

>  Do we need to do something "Special" before returning back?.

Yes, you must initialize your app.

>  All im doing is
>
>   while (!tstc())
>                 ;
>   ch = getc ( );
>   printf ("Returning\n") ;
>
>   return (0) ;

I don't see any call to app_startup(), nor do I see any checking of
get_version() results...

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
A Freudian slip is when you say one thing but mean your mother.