[U-Boot-Users] Re: U-boot for board bring-up

Dear John,
in message C7FFFEA58B43D311920D0004ACE5333F10E4F5E0@amer25.avnet.com you wrote:
Bringing up a board is fraught with uncertainty -- I don't know if the fab house has the UARTs on right, if there are cold solder joints (or solder blobs) underneath a BGA, if the DRAM config is anywhere near correct, etc. So for the very first software I put on a board, I am very very cautious. In the past I've used our firmware for this purpose, since (a) it is very simple, and (b) I understand it inside out which is important when the hardware may be flaky.
Now, for our upcoming 440GX evaluation board, I'm considering putting U-boot on the board right from the start. Reasons I'm uncertain about this are (a) U-boot is production-quality software, quite adequate for reliable hardware. What are your experiences debugging it when the hardware *isn't* reliable? (b) I'm not as familiar (yet)
U-Boot has been designed for board bring up. This is what we do all the time. There are many things that make the U-Boot code more complicated on first glance, but help a lot when working on green hartdware.
For example, many people have asked why we run such a complicated init sequence; they suggested to wrtie a small assembler routine to initialize RAM, copy U-boot to it, and only then start the "real" code - the reason I didn't implement it this was was that I always want to have a serial console working as soon as possible, to be able to see what's going on. RAM initialization is one of the most difficult issues (in the sense that this is where most people complain about problems), so I want to have full debug support including printf() available.
And so on.
I agree that you have to understand the code, ideally in and out, but then you will see that U-Boot is pretty well suited for board bringup.
Reasons to go with U-boot are (a) it's known to work on another 440GX board, and (b) hopefully I shouldn't have to reinvent very much at all.
Both is correct.
Do either of you have any thoughts? If you were trying to run some code on a doubtful board, would U-boot be the first thing you would try to run?
For me: yea, without any second thought.
Best regards,
Wolfgang Denk
participants (1)
-
Wolfgang Denk