博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
u-boot中添加命令
阅读量:4070 次
发布时间:2019-05-25

本文共 695 字,大约阅读时间需要 2 分钟。

看下ping命令实现的例子:

文件common/cmd_net.c

static int do_ping(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])

{
if (argc < 2)    参数个数 包括命令名本身, 例如ping 192.168.0.1  就是2个参数 一个ping 一个192.168.0.1
return -1;
NetPingIP = string_to_ip(argv[1]);
if (NetPingIP == 0)
return CMD_RET_USAGE;
if (NetLoop(PING) < 0) {
printf("ping failed; host %s is not alive\n", argv[1]);
return 1;
}
printf("host %s is alive\n", argv[1]);
return 0;

}

U_BOOT_CMD(                      主要是这个结构,这是一个宏定义,具体可以查看U_BOOT_CMD宏 的定义,网上资料也很多。

ping, 2, 1, do_ping,  
"send ICMP ECHO_REQUEST to network host",
"pingAddress"
);

这一行:

ping, 2, 1, do_ping,       ping 是命令名称,2是命令参数的个数,包括命令名本身, 这个一定要写对,否则 do_ping中得不到正确的参数

1表示是否repeat,即按回车键时候重复上一个ping命令。

仿照这样的例子就很容易添加一个命令了。

转载地址:http://rgqji.baihongyu.com/

你可能感兴趣的文章
大数据入门:Hive和Hbase区别对比
查看>>
大数据入门:ZooKeeper工作原理
查看>>
大数据入门:Zookeeper结构体系
查看>>
大数据入门:Spark RDD基础概念
查看>>
大数据入门:SparkCore开发调优原则
查看>>
大数据入门:Java和Scala编程对比
查看>>
大数据入门:Scala函数式编程
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
【数据结构周周练】003顺序栈与链栈
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
《软件过程管理》 第八章 软件过程集成管理
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>