本移植过程假设用户用户是从给定的 demo 板开发自己的新产品。
假设用的 demo 板是 omap3devkit8000,我们自己的板叫 myboard.
1> 将 /u-boot/omap3devkit8000 目录拷贝一份,然后改名叫 myboard
2> 将该目录下的 omap3devkit8000.c 改名叫 myboard.c
3> 将该目录下的 makefile 中 OBJS := omap3devkit8000.o mem.o clock.o syslib.o sys_info.o nand.o 修改为
OBJS := myboard.o mem.o clock.o syslib.o sys_info.o nand.o
4> sys_info.c 中 display_board_info() 函数最后一行修改 打印信息
5> my_board.c 中 board_init() 函数中设置正确的 id (和 linux 要一致)
gd->bd->bi_arch_number = MACH_TYPE_MYBOARD; /* board id for Linux */
6> 在 #define MUX_DEFAULT_ES2() 的宏定义中,将 IO 口配置成正确的模式
7> /include/asm-arm/mach-types.h 中定义 #define MACH_TYPE_MYBOARD xxxx
8> 将 /include/configs/omap3devkit8000.h 拷贝成 myboard.h 并作如下修改:
#define CONFIG_OMAP3_DevKit8000 1 改成 #define CONFIG_OMAP3_MYBOARD 1
然后全局查找 CONFIG_OMAP3_DevKit8000,并在相应位置增加 CONFIG_OMAP3_MYBOARD
该文件是重要的配置文件,可以配置 lcd,网卡,内核启动参数 等
9> /u-boot-1.3.3/Makefile 中,
omap3devkit8000_config : unconfig
@./mkconfig $(@:_config=) arm omap3 omap3devkit8000
拷贝并修改成:
omap3arz3m_config : unconfig
@./mkconfig $(@:_config=) arm omap3 myboard
10> 编译
cd u-boot-1.3.3
make distclean
make omap3devkit8000_config
make
当前目录下会生成我们需要的u-boot.bin文件