[U-Boot-Users] standalone code

Wolfgang Denk wd at denx.de
Thu Aug 14 20:48:07 CEST 2003


Dear Philippe,

in message <007601c3626c$9e7d2ee0$10c8c8c8 at philippesimal> you wrote:
> 
> In the meanwhile I'm writing some hardware debug code that does not use
> any kernel. 

It wouldbe great if you contributed such code as part  of  the  post/
stuff.

> (1)First I tried to run it as a standalone program just like the 'hello
> world' example. The problem is that I do not have access to the drivers
> used by u-boot. I only can use some system calls like mon_printf()...

Please  update  your  U-Boot  sources.  We  reworked  the  standalone
applications code, so it now not only works on all architectures, but
also   allows  for  easy  extension.  See  doc/README.standalone  for
details.

> So I tried to link my debug code directly to the u-boot code with an
> entry point just before the call main_loop() in board.c.
> This works fine except that I cannot use function pointers used in my
> debug menu .

You can, but you have to manually  relocated  them,  or  use  dynamic
initialization.

> (2)I know this has something to do with the code relocation from flash
> to sdram so I tried to relocate all my pointers. Ok that didn't work.

It is trivial to fix. See how  all  the  other  static  pointers  get
relocated (basicly, just add gd->reloc_off).

> So my questions are, (1) is it possible to make a standalone pease of
> software that runs in sdram with the full use of the u-boot drivers?

Yes, easily.

> (2) What must I do to use my pointers whitout crashing the ppc.

See above.

Hope this helps.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"Obviously, a major malfunction has occurred."
              -- Steve Nesbitt, voice of Mission Control, January 28,
                 1986, as the shuttle Challenger exploded within view
                 of the grandstands.




More information about the U-Boot mailing list