向vivi中添加自己的命令

 

相关原理:

相关机制及初始化的实现在lib/command.c中完成的。包括:添加命令、查找命令、执行命令、解析命令。

具体命令执行的核心函数在相应的模块里实现。

这样就形成了两层的软件架构:顶层管理层——command.c、底部执行层——相应命令的执行函数。

核心数据结构user_command

typedef struct user_command {

const char *name;

void (*cmdfunc)(int argc, const char **);

struct user_command *next_cmd;

const char *helpstr;

} user_command_t;

 

开始:

 

添加自定义命令的步骤-1

首先构造一个user_command的实例,比如:

user_command_t mytest_cmd = {

“mytest",

command_mytest,

NULL,

“mytest [{cmds}] /t/t/t– Add my command for test?"

};

 

添加自定义命令的步骤-2

然后实现命令的真正函数command_test

void command_mytest(int argc, const char **argv)

{

if(argc == 2)

  if((strncmp(argv[1],“help”,strlen(argv[1]))) ==0)

{

    printk(“myTest Command Help/n”);

    return;

}

printk(“myTest Command exec/n”);

return;

}

 

添加自定义命令的步骤-3

将命令加入到系统

command.c中的

Int init_builtin_cmds(void)函数的最后加入add_command(&mytest_cmd);

 

添加自定义命令的步骤-4

生成vivi镜像

#make clean

#make menuconfig

#make

 

添加自定义命令的步骤-5

烧录:load flash vivi x

 

添加自定义命令的步骤-6

测试:进入vivi,执行命令:mytest

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值