[U-Boot-Users] standalone code

Hello,
I'm running u-boot-0.3.0 on an IBM PPC440GP EBONY board . The next stage is to port u-boot to our custom designed board. In the meanwhile I'm writing some hardware debug code that does not use any kernel. (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()... 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 . (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.
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? (2) What must I do to use my pointers whitout crashing the ppc.
Best regards,
Philippe Simal

On Thu, Aug 14, 2003 at 04:01:54PM +0200, Philippe Simal wrote:
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?
If you are only doing small work, you can add commands to u-boot. The hassle may be that you need to reflash u-boot to gain access to the new commands. On my dev board, I am able to download u-boot to SRAM and run without writing to flash. If you have this option it makes for rapid development.
Cheers.

Dear Philippe,
in message 007601c3626c$9e7d2ee0$10c8c8c8@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
participants (3)
-
Marc Singer
-
Philippe Simal
-
Wolfgang Denk