THE FOLLOWING WORKS:
setenv a A
setenv b 1${a} 2 3 4 5 6 7 8 9 10 11 12 13 14
setenv b 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
THE FOLLOWING DOESN'T WORK:
setenv b 1${a} 2 3 4 5 6 7 8 9 10 11 12 13 14 15
setenv b "1${a} 2 3 4 5 6 7 8 9 10 11 12 13 14 15"
Note that setenv b '1${a} 2 3 4 5 6 7 8 9 10 11 12 13 14 15' works but
there is no replacement.
So the rule is that setenv is limited to thirteen space if there is a
replacement. Any idea where the problem is in the u-boot code? I have
quickly parsed the tools directory but I haven't found anything
suspicious,
Let me do some reverse engineering for you. Each command has its
maximal number of arguments which is the second parameter in macro
U_BOOT_CMD ("include/command.h"):
Thus, in order to change default number of arguments for "setenv" you
have to redefine CONFIG_SYS_MAXARGS macro (for Beagleboard you can
find it in "configs/omap3_beagle.h" and it equals to 16):
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */