管理提醒: 本帖被 xoom 执行加亮操作(2013-05-29)
作者: lknlfy@ 163.com 2013-5-29一、目的 为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.aiothome.net/read.php?tid-80186.html里的补丁文件。先按这个链接里的方法打好补丁,选好配置选项。 2.编写命令程序在Barebox根目录下的commands目录里新建一个hello.c文件,内容如下:
复制代码- #include <common.h>
- #include <command.h>
- #include <errno.h>
- static int do_hello(int argc, char *argv[])
- {
- if(argc == 1) {
- printf("hello command\n");
- return 0;
- }
- if(argc > 2) {
- /* printf("Enter help %s to see the usage\n", argv[0]); */
- return COMMAND_ERROR_USAGE;
- }
- printf("%s %s\n", argv[0], argv[1]);
-
- return 0;
- }
- BAREBOX_CMD_HELP_START(hello)
- BAREBOX_CMD_HELP_USAGE("hello or hello args\n")
- BAREBOX_CMD_HELP_SHORT("very simple, just for test\n")
- BAREBOX_CMD_HELP_END
- BAREBOX_CMD_START(hello)
- .cmd = do_hello,
- .usage = "hello or hello args",
- BAREBOX_CMD_HELP(cmd_hello_help)
- BAREBOX_CMD_END
|
3.修改commands目录里的Kconfig文件,添加下面红色框的内容(注意添加的前后位置):4.修改commands目录里的Makefile文件,在最后追加一行:obj-$(CONFIG_HELLO) += hello.o5.使hello命令被编译在源码根目录下执行make menuconfig后,进入commands --->,
再进入my command --->,选上里面的hello command
退出保存。最后,执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
6.测试 Barebox启动后,分别输入hello和hello world的效果如下:
命令参数说明:hello:表示hello命令。其后最多可带一个参数(可不带)。