[U-Boot-Users] Failed to run "hello world" 1.1.6 example on AT91RM9200EK

hi,
From Denx, i have downloaded and installed eldk properly.
I have downloaded u-boot 1.1.6 and proceeded as follow :
- make at91rm9200dk_config - make all
the compilation process does not lead to any error. i have all the executable files in /examples.
Unfortunately, when i try to load and run the "hello world" executable on the board, it leads to nothing.
i ve tried to load it at 40000 and execute it at 40004 as said in the doc, i ve also tried to load it at 20000000 and start it at 20000000 and 20000004 but nothing works.
I ve also tried to load u-boot 1.1.6 image on the board following the instructions given in tha flash programming AN but nothing happens ("decompressing image" is displayed and nothing else) Only the 1.1.1 provided on ATMEL CD can be loaded properly.
Any idea ?
Baz.

In message 10308910.post@talk.nabble.com you wrote:
i ve tried to load it at 40000 and execute it at 40004 as said in the doc, i
...and that doc was for an ARM system, are you really sure about that?
ve also tried to load it at 20000000 and start it at 20000000 and 20000004 but nothing works.
And why do you think 20000000 would be a better address for ARM?
Any idea ?
I see at least thre different options for you:
1) You just have a look at the messages that are printed when building and linking your SA application; the start address of the text segment is easily visible there. 2) You could try and look at the source code, for example in "examples/Makefile"... 3) You could (warning, terror starts here) read the documentation, especially a part nobody reads: the FAQ. See http://www.denx.de/wiki/view/DULG/MyStandaloneProgramDoesNotWork [Agreed, a headline of "My standalone program does not work" is really difficult to find if you are looking for problems why your standalone program does not work...]
;-)
Wolfgang Denk

Wolfgang,
thanx for your answer. It turned my into a tiny worm, but that is the game ;-) I must say that i am not very familiar with embedded dev (you've seen it i guess ;-) )
Effectively, i have missed the FAQ, i surrender. I have spent a lot of time in this problem and there's a lot of source of documentation on the web (AT91, mailing lists, ...) that i missed the most obvious.
In message 10308910.post@talk.nabble.com you wrote:
i ve tried to load it at 40000 and execute it at 40004 as said in the doc, i
...and that doc was for an ARM system, are you really sure about that?
No.
ve also tried to load it at 20000000 and start it at 20000000 and 20000004 but nothing works.
And why do you think 20000000 would be a better address for ARM?
Yes, it is the start of RAM banks. U-boot is loaded at 21F000000 (i don t now exactly why it is not loaded at 20000000)
Any idea ?
I see at least thre different options for you:
- You just have a look at the messages that are printed when
building and linking your SA application; the start address of the text segment is easily visible there.
i will check it, can OBJDUMP ma be an help ? i
- You could try and look at the source code, for example in
"examples/Makefile"...
i have done it but u-boot makefile are very generic, it is difficlt to read them for a rookie like me ;-)
- You could (warning, terror starts here) read the documentation,
especially a part nobody reads: the FAQ. See http://www.denx.de/wiki/view/DULG/MyStandaloneProgramDoesNotWork [Agreed, a headline of "My standalone program does not work" is really difficult to find if you are looking for problems why your standalone program does not work...]
I have read it now ;-) i will test it today.
Thanx again for the time you spend (or waste) to help me. Baz.

Dear Sebastien,
in message 10317276.post@talk.nabble.com you wrote:
It turned my into a tiny worm, but that is the game ;-)
That was definitely not my intention...
- You just have a look at the messages that are printed when
building and linking your SA application; the start address of the text segment is easily visible there.
i will check it, can OBJDUMP ma be an help ? i
Just check the compiler messages for the "examples" files.
- You could try and look at the source code, for example in
"examples/Makefile"...
i have done it but u-boot makefile are very generic, it is difficlt to read them for a rookie like me ;-)
Well, did you check "examples/Makefile" ? Right at the beginning it reads:
ifeq ($(ARCH),arm) LOAD_ADDR = 0xc100000 endif
I have read it now ;-) i will test it today.
Good luck!
Thanx again for the time you spend (or waste) to help me.
You are welcome.
Best regards,
Wolfgang Denk

Wolfgang,
i followed your advice :
Well, did you check "examples/Makefile" ? Right at the beginning it reads:
ifeq ($(ARCH),arm) LOAD_ADDR = 0xc100000 endif
And replaced the load address to point to 0x20000000, which is the start of RAM banks on the 9200EK. After tftp loading at 20000000 the hello world application worked fine. I also tried to boot directly (btw of u-boot) this application, previously stored in flash, by changing the "start" env variable, and it also worked fine.
I could not load u-boot 1.1.6 in my board, but it seems to be not compliant with it (i ve read some posts about patches that must be applied but i don t know how). However, loading u-boot 1.1.6 is not mandatory to be done for me, i just wanted to start booting custom code (in few words, we are trying to port a component-based OS to that platform).
So, thank you very much for your help !
PS : i just wonder if it should be possible to duplicate the 9200DK board conf and override the load_address for examples, it is just an idea but i am not very sure the include order of makefiles allows that.
Baz.
participants (2)
-
Baz0unga
-
Wolfgang Denk