
Hi Carmine,
On Mon, 15 Apr 2013 13:16:24 +0200, Carmine Garripoli garripoli.carmine@gmail.com wrote:
Hi everybody, I'm an electronics engineering student and i'm very passionated about embedded systems. I would like to design my own totally custom board. Supposing that i've already choosen an ARM microprocessor supported by linux kernel, ram and nand flash and i've designed my board, i would like to know if there is a generic guide for "u-boot porting". I've already done a search on the net for "uboot porting guide" but 99,9% of material i found sounds like "...if your board is similar to another already existing", "....use command make <boardname>_config with similar board" etc. etc. Now does a general porting guide for uboot exist somewhere?
If you mean a step-by-step recipe starting from the ground up, no, you won't find this I think. Really, the simplest and, in my experience, most efficient method, is indeed to study how support for a similar board was added.
I would suggest cloning the official git tree and then either looking for commits that have "add support to" in their summary, or doing a 'git log' on files specific to a given board; the oldest commit logged should be the one where support for this board was added. These support addition commits will show you which files were specifically modified and added, which should give you a starting point for preparing your own support patch.
This does not mean that you should start supporting every feature and the (watch)dog, though! You should start simple, with only low level, DRAM and console init; forget about USB, Ethernet, I2C etc unless they are vital to booting.
Once you get a booting U-Boot and can enter commands at the console prompt, and truly basic commands like md, mw, mtest work, then you can add further functions like Flash support and from there, environment storage and filesystems will follow; same goes for Ethernet and network functions, etc.
I really thank you for your answer
np
Metalgarri
Amicalement,