天嵌 ARM开发社区

 找回密码
 注册
查看: 2196|回复: 4

【u-boot 】关于命令的定义问题

[复制链接]
JaceLin 发表于 2014-8-18 13:47:24 | 显示全部楼层 |阅读模式
本帖最后由 JaceLin 于 2014-8-18 17:14 编辑

u-boot 里面的命令我看是这样子写的:  (如下代码)
咋一看好像是宏定义,细看才发现这个根本不是!
原来我根本不懂什么意思!!!!

求解下面的命令是怎么定义的,用的什语法!

其实我最不理解的就是像:  "bootargs="     CONFIG_BOOTARGS         "\0"
而且我发现使用命令的时候传的是 "bootargs=" ,

并且发现在命令识别的是字符串  "bootargs=" ,
而不是 CONFIG_BOOTARGS !!!怎么回事??

  1. uchar default_environment[] = {
  2. #ifdef        CONFIG_BOOTARGS
  3.         "bootargs="        CONFIG_BOOTARGS                        "\0"
  4. #endif
  5. #ifdef        CONFIG_BOOTCOMMAND
  6.         "bootcmd="        CONFIG_BOOTCOMMAND                "\0"
  7. #endif
  8. #ifdef        CONFIG_RAMBOOTCOMMAND
  9.         "ramboot="        CONFIG_RAMBOOTCOMMAND                "\0"
  10. #endif
  11. #ifdef        CONFIG_NFSBOOTCOMMAND
  12.         "nfsboot="        CONFIG_NFSBOOTCOMMAND                "\0"
  13. #endif
  14. #if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
  15.         "bootdelay="        MK_STR(CONFIG_BOOTDELAY)        "\0"
  16. #endif
  17. #if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
  18.         "baudrate="        MK_STR(CONFIG_BAUDRATE)                "\0"
  19. #endif
  20. #ifdef        CONFIG_LOADS_ECHO
  21.         "loads_echo="        MK_STR(CONFIG_LOADS_ECHO)        "\0"
  22. #endif
  23. #ifdef        CONFIG_ETHADDR
  24.         "ethaddr="        MK_STR(CONFIG_ETHADDR)                "\0"
  25. #endif
  26. #ifdef        CONFIG_ETH1ADDR
  27.         "eth1addr="        MK_STR(CONFIG_ETH1ADDR)                "\0"
  28. #endif
  29. #ifdef        CONFIG_ETH2ADDR
  30.         "eth2addr="        MK_STR(CONFIG_ETH2ADDR)                "\0"
  31. #endif
  32. #ifdef        CONFIG_ETH3ADDR
  33.         "eth3addr="        MK_STR(CONFIG_ETH3ADDR)                "\0"
  34. #endif
  35. #ifdef        CONFIG_IPADDR
  36.         "ipaddr="        MK_STR(CONFIG_IPADDR)                "\0"
  37. #endif
  38. #ifdef        CONFIG_SERVERIP
  39.         "serverip="        MK_STR(CONFIG_SERVERIP)                "\0"
  40. #endif
  41. #ifdef        CFG_AUTOLOAD
  42.         "autoload="        CFG_AUTOLOAD                        "\0"
  43. #endif
  44. #ifdef        CONFIG_PREBOOT
  45.         "preboot="        CONFIG_PREBOOT                        "\0"
  46. #endif
  47. #ifdef        CONFIG_ROOTPATH
  48.         "rootpath="        MK_STR(CONFIG_ROOTPATH)                "\0"
  49. #endif
  50. #ifdef        CONFIG_GATEWAYIP
  51.         "gatewayip="        MK_STR(CONFIG_GATEWAYIP)        "\0"
  52. #endif
  53. #ifdef        CONFIG_NETMASK
  54.         "netmask="        MK_STR(CONFIG_NETMASK)                "\0"
  55. #endif
  56. #ifdef        CONFIG_HOSTNAME
  57.         "hostname="        MK_STR(CONFIG_HOSTNAME)                "\0"
  58. #endif
  59. #ifdef        CONFIG_BOOTFILE
  60.         "bootfile="        MK_STR(CONFIG_BOOTFILE)                "\0"
  61. #endif
  62. #ifdef        CONFIG_LOADADDR
  63.         "loadaddr="        MK_STR(CONFIG_LOADADDR)                "\0"
  64. #endif
  65. #ifdef  CONFIG_CLOCKS_IN_MHZ
  66.         "clocks_in_mhz=1\0"
  67. #endif
  68. #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
  69.         "pcidelay="        MK_STR(CONFIG_PCI_BOOTDELAY)        "\0"
  70. #endif
  71. #ifdef  CONFIG_EXTRA_ENV_SETTINGS
  72.         CONFIG_EXTRA_ENV_SETTINGS
  73. #endif
  74.         "\0"
  75. };
复制代码








 楼主| JaceLin 发表于 2014-8-18 13:49:41 | 显示全部楼层
   大神,高手,走过路过,都说一下~~~
wbz073 发表于 2014-8-18 14:15:09 | 显示全部楼层
CONFIG_BOOTARGS 这个宏有它对应的命令,你可以在你的uboot源码中找到,你就懂是做什么用了。
define CONFIG_BOOTARGS                                                "noinitrd root=/dev/mtdblock3 rootfstype=yaffs2 init=/init console=ttySAC0"

其他类似道理。
 楼主| JaceLin 发表于 2014-8-18 17:05:39 | 显示全部楼层
wbz073 发表于 2014-8-18 14:15
CONFIG_BOOTARGS 这个宏有它对应的命令,你可以在你的uboot源码中找到,你就懂是做什么用了。
define CONF ...

#if 。。。 这个我理解,我不理解就 是

        "bootargs="        CONFIG_BOOTARGS                        "\0"

是什么意思?
wbz073 发表于 2014-8-19 14:06:03 | 显示全部楼层
JaceLin 发表于 2014-8-18 17:05
#if 。。。 这个我理解,我不理解就 是

        "bootargs="        CONFIG_BOOTARGS                 ...

这个你就找个uboot移植的文档看看就懂了,网上很多的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 10:57 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表