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命令。其后最多可带一个参数(可不带)。

 

posted @ 2013-05-28 16:36  lknlfy  阅读(376)  评论(0编辑  收藏  举报