1、在common目录下新增cmd_menu.c文件,内容为:
#include <common.h> static char awaitkey(unsigned long delay, int* error_p) void main_menu_usage(void) void menu_shell(void) while (1) int do_menu (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) U_BOOT_CMD( |
2、修改common目录下的Makefile文件,将cmd_menu.o加入编译:
COBJS-y += main.oCOBJS-y += ACEX1K.o
? U-BOOT版本:
U-BOOT-2010.06
? 交叉编译器版本:
arm-linux-gcc 4.1.2
? 操作系统平台:
Linux Red Hat 9.0
1 。首先准备2个文件 cmd_menu.c 在u-boot/common下,
Def.h 在u-boot/include 下 放在该对应目录下
2 。修改u-boot/commom下Makefile 大约在168行增加
COBJD-$(CONFIG_CMD_MENU) += cmd_menu.o 即可。
3 。修改u-boot/common/main.c 文件大约在419行添加(红色字体为需要增加的)
#ifdef CONFIG_AUTOBOOT_KEYED
Int prev = disable_ctrlc(1);
#endif
/*qinjianbo begin*/
#ifdef CONFIG_CMD_MENU
if (bBootFrmNORFlash == 1)
{
run_command("menu", 0);
}
else
{
printf("Booting Linux ...\n");
boot_zImage(0x00120000,0x400000);
}
#else
printf("Booting Linux ...\n");
boot_zImage(0x00120000,0x400000);
#endif
/*qinjianbo end*/
大约在在468行增加
#endif /* CONFIG_MENUKEY */
#endif /* CONFIG_BOOTDELAY */
#ifdef CONFIG_AMIGAONEG3SE
{
extern void video_banner(void);
video_banner();
}
#endif
/*qinjianbo begin*/
#ifdef CONFIG_CMD_MENU
run_command("menu", 0);
#endif
/*qinjianbo end*/
4 。在u-boot/include/configs/qinjianbo.h中大约114行增加
#define CONFIG_CMD_MTDPARTS
#define CONFIG_CMD_JFFS2
#define CONFIG_CMD_MENU //qinjianbo
做完了上述的步骤我相信的你下载菜单一定跑起来了吧, 你的心情怎样呢? 当然如果你还未成功的话,请留下你的问题点,我们一起解决。(要源码的话呢?。。。。。)