Barebox for Tiny6410(添加自定义命令)
一、目的
为Barebox添加自定义命令。
二、开发环境
主机:WIN7 32位旗舰版
虚拟机:VMware Workstation 7.0
Linux:Ubuntu 12.04
编译器:arm-linux-gcc-4.5.1-v6-vfp-20101103
开发板:Tiny6410(256M Nand Flash,128M DDR)
三、步骤
1.用的是这个链接
http://www.cnblogs.com/lknlfy/archive/2013/05/28/3103078.html里的补丁文件。先按这个链接里的方法打好补丁,选好配置选项。
2.编写命令程序
在Barebox根目录下的commands目录里新建一个hello.c文件,内容如下:
1 #include <common.h> 2 #include <command.h> 3 #include <errno.h> 4 5 static int do_hello(int argc, char *argv[]) 6 { 7 if(argc == 1) { 8 printf("hello command\n"); 9 return 0; 10 } 11 if(argc > 2) { 12 /* printf("Enter help %s to see the usage\n", argv[0]); */ 13 return COMMAND_ERROR_USAGE; 14 } 15 16 printf("%s %s\n", argv[0], argv[1]); 17 18 return 0; 19 } 20 21 BAREBOX_CMD_HELP_START(hello) 22 BAREBOX_CMD_HELP_USAGE("hello or hello args\n") 23 BAREBOX_CMD_HELP_SHORT("very simple, just for test\n") 24 BAREBOX_CMD_HELP_END 25 26 BAREBOX_CMD_START(hello) 27 .cmd = do_hello, 28 .usage = "hello or hello args", 29 BAREBOX_CMD_HELP(cmd_hello_help) 30 BAREBOX_CMD_END
3.修改commands目录里的Kconfig文件,添加下面红色框的内容(注意添加的前后位置):
4.修改commands目录里的Makefile文件,在最后追加一行:
obj-$(CONFIG_HELLO) += hello.o
5.使hello命令被编译
在源码根目录下执行make menuconfig后,进入commands --->,
再进入my command --->,选上里面的hello command
退出保存。最后,执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
6.测试
Barebox启动后,分别输入hello和hello world的效果如下:
命令参数说明:
hello:表示hello命令。其后最多可带一个参数(可不带)。