uboot中添加自定义命令
uboot中可以通过修改源程序来添加自定义命令,进一步扩展uboot的功能。
我想在uboot下添加一条新的命令(名为varcpy),用来拷贝uboot中的环境变量。
修改方式如下:
创建新文件common/cmd_varcpy.c,并在该文件中添加如下内容:
#include <common.h>
#include <command.h> #ifdef CONFIG_CMD_VARCPY
int do_varcpy(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
int i;
if(argc != )
cmd_usage(cmdtp);
setenv(argv[],getenv(argv[])); return ;
} U_BOOT_CMD(
varcpy, , , do_varcpy,
"copy oldvar to newvar",
"oldvar newvar\n"
" - copy enviroment value of oldvar to a new variable named as newvar\n"
);
#endif
在common/Makefile中添加一行:
COBJS-$(CONFIG_CMD_VARCPY) += cmd_varcpy.o
在include/configs/hwgw6410_dev.h下添加一行:
#define CONFIG_CMD_VARCPY
然后重新编译,将生成的uboot烧写到开发板,然后就可以使用该命令了。使用方式如下:
hwgw # printenv
baudrate=
bootargs=console=ttySAC,
bootcmd=if mmc rescan ; then fatload mmc 0x50000000 reload.img; source 0x50000000; fi
bootdelay=
ethact=dm9000
ethaddr=:::8f:ad:b3
ipaddr=192.168.1.111
oldipaddr=192.168.1.111
serverip=192.168.1.149
stderr=serial
stdin=serial
stdout=serial Environment size: / bytes
hwgw # varcpy serverip oldserverip
hwgw # printenv
baudrate=115200
bootargs=console=ttySAC,115200
bootcmd=if mmc rescan 0 ; then fatload mmc 0 0x50000000 reload.img; source 0x50000000; fi
bootdelay=3
ethact=dm9000
ethaddr=00:12:39:8f:ad:b3
ipaddr=192.168.1.111
oldipaddr=192.168.1.111
oldserverip=192.168.1.149
serverip=192.168.1.149
stderr=serial
stdin=serial
stdout=serial Environment size: 352/16380 bytes
从上面的输出信息可以看到,使用varcpy将serverip拷贝到oldserverip后,得到的环境变量多了一行关于oldserverip的信息。
uboot中添加自定义命令的更多相关文章
- u-boot中添加自定义命令
1.u-boot命令机制u-boot中,每个命令都使用一个struct cmd_tbl_s结构体定义,该定义在include/command.h中实现:struct cmd_tbl_s{ char * ...
- 在U-Boot中添加自定义命令以实现自动下载程序【转】
本文转载自:https://gaomf.cn/2016/06/26/%E5%9C%A8U-Boot%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9 ...
- uboot中的命令体系
一.uboot的命令体系介绍以及实例分析: U-Boot 的命令实现大多在 common 目录下.在该目录下命令的代码文件都是以“ cmd_”开头的,如下图所示: 其中每一个文件都是一个命令实现的代码 ...
- 在u-boot中添加命令
转:http://www.embedu.org/Column/Column464.htm 作者:曾宏安,华清远见嵌入式学院讲师. u-boot是嵌入式系统中广泛使用的一种bootloader.它不仅支 ...
- uboot中fdt命令的使用
转载:https://blog.csdn.net/voice_shen/article/details/7441894 依linux community的要求,从linux-3.5后,新提交的code ...
- uboot中ftd命令
可以从u-boot官网源码下载一个比较新的u-boot, 查看它的cmd/fdt.cftp://ftp.denx.de/pub/u-boot/ fdt命令使用示例nand read.jffs2 320 ...
- linux中添加自定义命令
centos下设置alias别名,比较简单,例如: vim /root/.bashrc addalias rm='rm -i' Linux alias设置指令的别名命令详解 功能说明:设置指令的别名. ...
- uboot启动 及命令分析(3)
u-boot命令 先贴一个重要结构,位于uboot/include/command.h,这个结构代表每个uboot命令 struct cmd_tbl_s { char *name; /* ...
- uboot中的快捷菜单的制作说明 【转】
转自:http://blog.chinaunix.net/uid-22030783-id-366971.html 在uboot中加入快捷操作菜单的方法非常简单,在论坛发布的uboot201003V ...
随机推荐
- UE把环境变量Path改了
为了比较个文件,装了UE. 文件比较完了,环境变量也被改了. 改还不是写添加式的改,是写覆盖式的改. 搞得ant都起不动了,一看Path被改的那样(C:\hy\soft\ultraedit\Ultra ...
- JavaScript中给二维数组动态添加元素的质朴方法
var myData = new Array(); for(var i=0;i<tableDatas.length;i++){ var arr=tableDatas[i]; ...... /// ...
- 一款很实用的Memcache监控工具
装了memcahce以后想对使用情况详细了解一下,如分配的内存够不够,都存了什么,经百度后发现这款工具灰常实用!此工具来自Memcache Pecl 中 http://pecl.php.net/pac ...
- SM Java实现
[摘要] 本文主要解说"国密加密算法"SM系列的Java实现方法,不涉及详细的算法剖析,在网络上找到的java实现方法比較少.切在跨语言加密解密上会存在一些问题.所以整理此文志之. ...
- Xshell 一款很养眼的配色方案推荐
Xshell 是个很好用的在 windows 下登陆 liunx 的终端原生支持中文,配合 Xftp 管理文件,同是免费软件可远比 Putty 好用多了面对枯燥的代码,我们需要一款很养眼的配色方案来保 ...
- CentOS6 图形界面(gnome)安装(转)
CentOS6相对于CentOS5的安装有了不少的进步,有不少默认的选项可以选择,如: Desktop :基本的桌面系统,包括常用的桌面软件,如文档查看工具. Minimal Desktop :基本的 ...
- 以使用QSqlQuery向数据库中插入数据为例,做一个小结
背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都 ...
- 有关Cache –(1) linux list之中的Prefetc
转载:http://www.kernelchina.org/node/1050 linux的list实现之中有如下东东: #define list_for_each(pos, head) \ ...
- wpf 获取datagrid 模板列中的控件
目前采用的 方法 (网上提供的一款) public static DataGridRow GetRow(DataGrid datagrid, int columnIndex) { ...
- IDEA下使用Jetty进行Debug模式调试
过程例如以下: (1)找到选项卡中的 –Run– 然后找到 –Edit Configurations (2)点击下图中绿色的plus–找到Maven点进去 (3)依照下边的方式在Command lin ...