Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42823
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-28 17:39
文章分类
文章存档

2015年(31)

我的朋友

分类: 嵌入式

2015-10-27 12:43:13

1.相关的一些定义:
struct cmd_tbl_s
{
char *name;
int maxargs;
int repeatable;
int (*cmd)(struct cmd_tbl_s *, int ,int , char *[]);
char *usage;
char *help;
};
typedef struct cmd_tbl_s cmd_tbl_t;
#define struct_section __attribute ((unused, section(".u_boot_cmd")))

#define U_BOOT_CMD(name, maxargs, rep, cmd, usage, help)\
cmd_tbl_t __u_boot_cmd_##name struct_section = {#name, maxargs, rep, cmd, usage, help}

2.添加过程:
在命令文件cmd_name.c中:
2.1.U_BOOT_CMD(NAME, REP, DO_NAME, USAGE, HELP);定义命令NAME
2.2.int DO_NAME(cmd_tbl_t *cmd, int flag, int arg, char *argv[])
{
...
}

编写相应的命令处理函数,
3.Makefile中添加cmd_name.o
4.如有必要,添加条件编译开关
阅读(547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~