TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
2014-08-03 16:49
447 查看
http://qinjianbo2010.blog.163.com/blog/static/139893731201071053524247/ #include <common.h> #include <command.h> static char awaitkey(unsigned long delay, int* error_p) { int i; char c; if (delay == -1) { while (1) { if (tstc()) /* we got a key press */ return getc(); } } else { for (i = 0; i < delay; i++) { if (tstc()) /* we got a key press */ return getc(); udelay (10*1000); } } if (error_p) *error_p = -1; return 0; } void main_menu_usage(void) { printf("\r\n######## Hotips TFTP DownLoad for SMDK2440 ########\r\n"); printf("\r\n"); printf("[1] 下载 u-boot.bin 写入 Nand Flash\r\n"); printf("[2] 下载 Linux(uImage) 内核镜像写入 Nand Flash\r\n"); printf("[3] 下载 yaffs2(fs.yaffs) 文件系统镜像写入 Nand Flash\r\n"); printf("[4] 下载 Linux(uImage) 内核镜像到内存并运行\r\n"); printf("[5] 重启设备\r\n"); printf("[q] 退出菜单\r\n"); printf("\r\n"); printf("输入选择: "); } void menu_shell(void) { char c; char cmd_buf[200]; while (1) { main_menu_usage(); c = awaitkey(-1, NULL); printf("%c\n", c); switch (c) { case '1': { strcpy(cmd_buf, "tftp 0x32000000 u-boot.bin; nand erase 0x0 0x60000; nand write 0x32000000 0x0 0x60000"); run_command(cmd_buf, 0); break; } case '2': { strcpy(cmd_buf, "tftp 0x32000000 uImage; nand erase 0x80000 0x200000; nand write 0x32000000 0x80000 0x200000"); run_command(cmd_buf, 0); break; } case '3': { strcpy(cmd_buf, "tftp 0x32000000 fs.yaffs; nand erase 0x280000; nand write.yaffs2 0x32000000 0x280000 $(filesize)"); run_command(cmd_buf, 0); break; } case '4': { strcpy(cmd_buf, "tftp 0x32000000 uImage; bootm 0x32000000"); run_command(cmd_buf, 0); break; } case '5': { strcpy(cmd_buf, "reset"); run_command(cmd_buf, 0); break; } case 'q': { return; break; } } } } int do_menu (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { menu_shell(); return 0; } U_BOOT_CMD( menu, 1, 0, do_menu, "Download Menu", "U-boot Download Menu by Hotips\n" ); |
COBJS-y += main.o COBJS-y += cmd_menu.o COBJS-y += ACEX1K.o |
相关文章推荐
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- 2.移植uboot-添加2440单板,并实现NOR、NAND启动
- U-BOOT-1.1.6移植分享之实现nand自启动
- TQ2440 u-boot-2012.10移植二支持NAND启动
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###4.支持内核启动
- 移植u-boot12.04到jz2440 -->支持nandflash启动
- 移植u-boot-2012.04.01到jz2440开发板之修改代码支持NAND启动
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###8. u-boot引导启动nand flash中内核和根文件系统cramfs和用户文件系统yaffs2支持
- TQ2440 学习笔记—— 31、移植U-Boot【U-Boot 的启动过程第二阶段源码分析】
- 【转】u-boot-2010.12移植到2440(四,支持nand flash启动)
- fl2440 移植u-boot-2010.09全纪录4---------u-boot支持从nandflash启动
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(五)——让u-boot从nand flash启动
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(六)——让u-boot引导内核启动
- 移植u-boot2012.04.1 -》2440 (五)支持 nand nor 两种启动方式(完结)
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(二)——让u-boot支持从nor flash 启动
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###7.NAND FLASH部分移植和支持NAND FLASH启动和读写
- u-boot-2011.03在TQ2440上的移植(5)—实现Nand/Nor 双启动
- u-boot2012.04移植到jz2440 -- ->正常显示u-boot启动信息
- u-boot-2010.12移植到2440(四,支持nand flash启动)