
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