U-boot增加命令
实验材料:GEC6818开发板(下文统称为实验箱)、笔记本各一台、vmware下的ubuntu系统
操作环境:win7
第一步:编写需要增加的uboot命令代码
- 进入~/demo/6818GEC/GEC6818uboot/arch/arm/cpu/slsiap/common目录下添加文件cmd_gectest.c,写入以下内容并保存
/*
*添加一条 gectest 语句
*/
#include <common.h>
#include <command.h>
#include <asm/byteorder.h>
#include <malloc.h>
//执行的程序
int do_gectest(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
int i;
for (i = 1; i < argc; i++) {
printf(“arg %d = %s\n”, i, argv[i]);
}
return 0;
}
//命令接口
U_BOOT_CMD(
gectest, 5, 1, do_gectest,
“gectest - a u-boot cmd example\n”,
“gectest - echo arg\n”
);
- 编辑common目录下的Makefile文件,在文末添加以下一行语句并保存
obj-y += cmd_gectest.o
第二步:编译uboot源代码
进入~/demo/6818GEC目录下,输入以下命令开始编译uboot代码
./mk -u
然后等待编译结束,在最后有提示编译好的执行文件的路径,本机的路径在:
/home/Hello/demo/6818GEC/out/release/GECuboot.bin
第三步:将编译好的uboot可执行文件刷入实验箱
-
将虚拟机上的GECuboot.bin文件拖出来
-
接通实验箱和电脑(串口线驱动和adb驱动确保能用),在CRT终端上进入uboot模式然后输入fastboot命令设置为刷机模式
-
打开cmd并进入包含fastboot.exe和GECuboot.bin所在目录,输入以下代码
fastboot flash GECuboot GECuboot.bin
-
在CRT终端观察刷入成功,然后输入
help gec
-
开始进行实验测试,输入
gectest 1 2 3
结果为:
arg 1 = 1
arg 2 = 2
arg 3 = 3