[U-Boot-Users] How to Port U-Boot to New Hardware Platform?

Dear All,
I'm fairly new to U-Boot and not familiar with the architecture of U-Boot. But I think the directory hierarchy can tell me that U-Boot divides all the codes into board-related, CPU-related and common. I'm interested in porting U-Boot to our hardware platform, yet I don't know which code should be modified or added.
Have some one done U-Boot porting for new hardware platform before? Would you like to share how to do it with me?
I'm looking forward to hearing from you.
B.R Wu Haifeng

On Wed, 2007-02-28 at 11:24 +0800, Haifeng.Wu@infineon.com wrote:
Dear All,
I'm fairly new to U-Boot and not familiar with the architecture of U-Boot. But I think the directory hierarchy can tell me that U-Boot divides all the codes into board-related, CPU-related and common. I'm interested in porting U-Boot to our hardware platform, yet I don't know which code should be modified or added.
Have some one done U-Boot porting for new hardware platform before? Would you like to share how to do it with me?
As we always do in engineering, find something similar to what you have and copy it as much as possible. If you have a new CPU, of course it's much more complicated.
Board-specific stuff is in two places in the U-boot source hierarchy:
include/configs/<YOUR_BOARD>.h - configuration information board/<your_board>/ - board-specific code
You'll also have to modify the main Makefile, again following the example of a similar board.
Make sure you start with the latest from the git repo:
cg-clone git://www.denx.de/git/<project_name> <your_repository_name>/
Recommended reading: README http://www.denx.de/wiki/DULG/Manual http://www.kernel.org/pub/software/scm/git/docs/everyday.html
regards, Ben

Hi, I'm also fairly new with U-Boot, but I found an usefull link: http://www.phptr.com/articles/article.asp?p=674698&seqNum=4&rl=1 which explain shortly how to port a new board on U-Boot. I hope it will be usefull for you. Bye, Thomas
2007/2/28, Ben Warren bwarren@qstreams.com:
On Wed, 2007-02-28 at 11:24 +0800, Haifeng.Wu@infineon.com wrote:
Dear All,
I'm fairly new to U-Boot and not familiar with the architecture of U-Boot. But I think the directory hierarchy can tell me that U-Boot divides all the codes into board-related, CPU-related and common. I'm interested in porting U-Boot to our hardware platform, yet I don't know which code should be modified or added.
Have some one done U-Boot porting for new hardware platform before? Would you like to share how to do it with me?
As we always do in engineering, find something similar to what you have and copy it as much as possible. If you have a new CPU, of course it's much more complicated.
Board-specific stuff is in two places in the U-boot source hierarchy:
include/configs/<YOUR_BOARD>.h - configuration information board/<your_board>/ - board-specific code
You'll also have to modify the main Makefile, again following the example of a similar board.
Make sure you start with the latest from the git repo:
cg-clone git://www.denx.de/git/<project_name> <your_repository_name>/
Recommended reading: README http://www.denx.de/wiki/DULG/Manual http://www.kernel.org/pub/software/scm/git/docs/everyday.html
regards, Ben
Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=D... _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

Hello Ben,
Thank you for your advice and I've read through the README file in the top directory and the Manual on the wiki site. Both of them emphasize the configuration for different platforms, with less on how to port it. Here I've found that in the 7th chapter of <Embedded Linux Primer> the function and basic concept of bootloader is clearly explained. I hope that it will help those guys like me.
I've tried to find the most similar board to our platform, but I don't know where can find more information on the boards list in the /configs directory. Google gives too many useless results, which always give just some words on it, yet not details.
Thank you for your help.
BEST REGRADS AND HAVE A NICE DAY
WU Haifeng
-----Original Message----- From: Ben Warren [mailto:bwarren@qstreams.com] Sent: Wednesday, February 28, 2007 10:39 PM To: Wu Haifeng Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] How to Port U-Boot to New Hardware Platform?
On Wed, 2007-02-28 at 11:24 +0800, Haifeng.Wu@infineon.com wrote:
Dear All,
I'm fairly new to U-Boot and not familiar with the architecture of U-Boot. But I think the directory hierarchy can tell me that U-Boot divides all the codes into board-related, CPU-related and common. I'm interested in porting U-Boot to our hardware platform, yet I don't
know which code should be modified or added.
Have some one done U-Boot porting for new hardware platform before? Would you like to share how to do it with me?
As we always do in engineering, find something similar to what you have and copy it as much as possible. If you have a new CPU, of course it's much more complicated.
Board-specific stuff is in two places in the U-boot source hierarchy:
include/configs/<YOUR_BOARD>.h - configuration information board/<your_board>/ - board-specific code
You'll also have to modify the main Makefile, again following the example of a similar board.
Make sure you start with the latest from the git repo:
cg-clone git://www.denx.de/git/<project_name> <your_repository_name>/
Recommended reading: README http://www.denx.de/wiki/DULG/Manual http://www.kernel.org/pub/software/scm/git/docs/everyday.html
regards, Ben

--- Haifeng.Wu@infineon.com wrote:
Hello Ben,
Thank you for your advice and I've read through the README file in the top directory and the Manual on the wiki site. Both of them emphasize the configuration for different platforms, with less on how to port it. Here I've found that in the 7th chapter of <Embedded Linux Primer> the function and basic concept of bootloader is clearly explained. I hope that it will help those guys like me.
I've tried to find the most similar board to our platform, but I don't know where can find more information on the boards list in the /configs directory. Google gives too many useless results, which always give just some words on it, yet not details.
Thank you for your help.
BEST REGRADS AND HAVE A NICE DAY
WU Haifeng
Porting U-boot is not a trivial task, but neither is it impossible. The one thing that I can't stress strongly enough is that you need to be very familiar with the hardware on your board. You need to know what every chip does and understand its interfaces. If you feel you have the necessary skills and are willing to make the investment in really learning this stuff, you will find no shortage of help on this list.
Very few people take on the task of building a board core from scratch. Most were originally based on some kind of reference design, and many of those reference designs are supported in U-boot. Every board has a CPU, RAM and some kind of non-volatile storage, usually parallel NOR flash. Most have networking capabilities. If you can identify these parts, you can hopefully find a good starting point. If you're stuck, send an e-mail listing these parts and somebody may be able to point you in the right direction.
regards, Ben
participants (3)
-
Ben Warren
-
Haifeng.Wu@infineon.com
-
ThomasB