嵌入式linux开发uboot移植(六)——uboot环境变量
2017-03-26 12:43
495 查看
嵌入式linux开发uboot移植(六)——uboot环境变量
一、uboot环境变量简介
u-boot的缺省情况下会有一些基本的环境变量,当执行saveenv时,环境变量会保存到flash存储设备中。如果环境变量的值为空,则uboot会使用uboot代码中的值;如果环境变量不为空,则优先使用环境变量的值。默认环境变量在uboot源码中common/Env_common.c文件中。= {#ifdef CONFIG_BOOTARGS"bootargs="CONFIG_BOOTARGS"\0"#endif#ifde fCONFIG_BOOTCOMMAND"bootcmd="CONFIG_BOOTCOMMAND"\0"#endif#ifdef CONFIG_MTDPARTITION"mtdpart="CONFIG_MTDPARTITION"\0"#endif#ifdef CONFIG_RAMBOOTCOMMAND"ramboot="CONFIG_RAMBOOTCOMMAND"\0"#endif#ifdef CONFIG_NFSBOOTCOMMAND"nfsboot="CONFIG_NFSBOOTCOMMAND"\0"#endif#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)"bootdelay="MK_STR(CONFIG_BOOTDELAY)"\0"#endif#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)"baudrate="MK_STR(CONFIG_BAUDRATE)"\0"#endif#ifdef CONFIG_ETHADDR"ethaddr="MK_STR(CONFIG_ETHADDR)"\0"#endif#ifdef CONFIG_IPADDR"ipaddr="MK_STR(CONFIG_IPADDR)"\0"#endif#ifdef CONFIG_SERVERIP"serverip="MK_STR(CONFIG_SERVERIP)"\0"#endif#ifdef CONFIG_GATEWAYIP"gatewayip="MK_STR(CONFIG_GATEWAYIP)"\0"#endif#ifdef CONFIG_NETMASK"netmask="MK_STR(CONFIG_NETMASK)"\0"#endif#ifdef CONFIG_HOSTNAME"hostname="MK_STR(CONFIG_HOSTNAME)"\0"#endif#ifdef CONFIG_EXTRA_ENV_SETTINGSCONFIG_EXTRA_ENV_SETTINGS#endif"\0"};int do_setenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){if (argc < 2) {//setenv命令无参数输入处理情况printf ("Usage:\n%s\n", cmdtp->usage);return 1;}return _do_setenv (flag, argc, argv);}[title3][b]#include <stdio.h>unsigned char environment[] = { "bootdelay=" "10" "\0" "ipaddr=" "192.168.1.210" "\0" "serverip=" "192.168.1.200" "\0" "bootcmd=" "tftp 0x20008000 uImage;bootm 0x20008000" "\0" "baudrate=" "115200" "\0"};int main(int argc, char **argv){ int i, s,k; for(i = 0; *(environment+i) != '\0'; i = s + 1) //按照变量遍历环境变量数组 { // for(s = i; *(environment + s) != '\0'; s++)//计算出变量的字符数量 ; for(k = i; k < s; k++)//打印出变量的信息 putc( *(environment + k), stdout); putc('\n', stdout); } return 0;}[/code]
相关文章推荐
- 嵌入式linux开发uboot移植(六)——uboot环境变量
- 嵌入式linux开发uboot移植(七)——三星官方uboot的移植
- 嵌入式linux开发uboot移植(三)——uboot启动过程源码分析
- 嵌入式linux开发uboot移植(一)——uboot项目简介
- 嵌入式linux开发uboot移植(二)——uboot工程源码目录分析
- 嵌入式linux开发uboot移植(三)——uboot启动过程源码分析
- 嵌入式linux开发uboot移植(五)——uboot命令体系
- 嵌入式linux开发uboot移植(四)——uboot启动内核的机制
- 嵌入式linux开发uboot移植(四)——uboot启动内核的机制
- 嵌入式linux开发uboot移植(五)——uboot命令体系
- 嵌入式linux开发uboot移植(二)——uboot工程源码目录分析
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(四)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(五)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(三)
- [ZedBoard移植嵌入式Linux教程(6)]编译uboot(Second Stage Boot Loader/SSBL)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二)
- 嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(三)
- [置顶] 【原创分享】嵌入式linux应用之U-BOOT移植定制篇--20130822