TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
来源:互联网 发布:欧冠足球2 球员数据 编辑:程序博客网 时间:2024/06/08 20:08
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"
);
2、修改common目录下的Makefile文件,将cmd_menu.o加入编译:
COBJS-y += main.oCOBJS-y += cmd_menu.o
COBJS-y += ACEX1K.o
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- 天祥 TX2440 UBOOT移植(6. 快捷启动菜单)
- TX2440 ARM开发板Uboot移植(-、让u-boot从norFlash动起来)
- TX2440 ARM开发板Uboot移植(二、让u-boot从nandFlash动起来)
- TX2440 ARM开发板Uboot移植(三、添加Nand Flash的有关操作支持)
- TX2440 ARM开发板Uboot移植(四、对DM9000网卡的支持)
- TX2440 ARM开发板Uboot移植(五、yaffs2文件系统的支持)
- TX2440开发板Uboot移植教程
- 天嵌TQ2440 ARM开发板Uboot移植
- 天祥 TX2440 UBOOT移植(1. 从NORFLASH中运行)
- 天祥 TX2440 UBOOT移植(2. 支持NANDFLASH)
- 天祥 TX2440 UBOOT移植(3. 添加NANDFLASH有关操作)
- 天祥 TX2440 UBOOT移植(4. 支持网卡DM9000)
- 天祥 TX2440 UBOOT移植(5. 支持文件操作系统yaffs2)
- Uboot移植添加启动菜单
- uboot中添加自启动的快捷菜单
- (老罗)Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
- hdu 4901 The Romantic Hero (dp+背包问题)
- poj 2886 Who Gets the Most Candies?(数据结构:线段树+DFS反素数打表)
- 机器学习10大经典算法
- LeetCode-Flatten Binary Tree to Linked List
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- 如何实现“WinForm窗体禁用关闭按钮”方法功能及源代码
- php抽象类
- hdu 1049 Climbing Worm
- POJ 1789 Truck History
- SQLite创建数据库失败
- CALL指令有多少种写法
- poj 1704 Nim取子变形(一路向左)
- HDU1166-敌兵布阵