As the title shows, I want to know where AM335x Starter Kit saves its uboot environment variables.
I'm facing a problem now that I can't save my uboot environment variables by using command "saveenv". When I using the script "setup.sh" provided in ti-sdk-am335x-evm-05.06.00.00, there is a mistake lead to my NFS building fail that the uboot environment variables called "netargs" defined in script "setup-uboot-env.sh" cannot be found in my SK board uboot environment.
When I using "printenv", the words printed as follow:
U-Boot# printenv
autoload=yes
baudrate=115200
bootargs_defaults=setenv bootargs console=${
} ${optargs}
bootcmd=if mmc rescan; then echo SD/MMC found on device ${mmc_dev};if run loadb;
bootdelay=3
bootenv=uEnv.txt
bootfile=uImage
console=ttyO0,115200n8
ethact=cpsw
ethaddr=00:18:31:e7:db:a8
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr e
ip_method=none
kloadaddr=0x80007fc0
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv}
mmc_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmc_root} roo}
mmc_boot=run mmc_args; run mmc_load_uimage; bootm ${kloadaddr}
mmc_dev=0
mmc_load_uimage=fatload mmc ${mmc_dev} ${kloadaddr} ${bootfile}
mmc_root=/dev/mmcblk0p2 rw
mmc_root_fs_type=ext3 rootwait
nand_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${nand_root} n}
nand_boot=echo Booting from nand ...; run nand_args; nandecc hw 2; nand read.i }
nand_img_siz=0x500000
nand_root=ubi0:rootfs rw ubi.mtd=7,2048
nand_root_fs_type=ubifs rootwait=1
nand_src_addr=0x280000
net_args=run bootargs_defaults;setenv bootargs ${bootargs} root=/dev/nfs nfsroop
net_boot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${kloada}
nfsopts=nolock
nor_args=run bootargs_defaults;setenv bootargs ${bootargs} root={nor_root} root}
nor_boot=echo Booting from NOR ...; run nor_args; cp.b ${0x08080000} ${kloadadd}
nor_img_siz=0x280000
nor_root=/dev/mtdblock3 rw
nor_root_fs_type=jffs2
nor_src_addr=0x08080000
rootpath=/export/rootfs
script_addr=0x81900000
spi_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${spi_root} roo}
spi_boot=echo Booting from spi ...; run spi_args; sf probe ${spi_bus_no}:0; sf }
spi_bus_no=0
spi_img_siz=0x380000
spi_root=/dev/mtdblock4 rw
spi_root_fs_type=jffs2
spi_src_addr=0x62000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial
stdin=serial
stdout=serial
We can find there is no "netargs" but the wod "net_args" which can also be found in the script "setup-uboot-env.sh" provided in ti-sdk-am335x-evm-05.05.00.00.
After I changed the "netargs" to "net_args" and inputted commands step by step ,NFS could work successfully. Although I used the command "saveenv" to save those uboot environment variables inputted, they could be used only once .Minicom shows as follow:
U-Boot# saveenv
Saving Environment to NAND...
Erasing Nand...
Attempt to erase non page aligned data
Everytime the board rebooted, those variables changed into the default environment variables again and the information printed in minicom as follow:
U-Boot SPL 2011.09 (Jul 26 2012 - 17:18:20)
Texas Instruments Revision detection unimplemented
No daughter card present
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img
U-Boot 2011.09 (Jul 26 2012 - 17:13:38)
I2C: ready
DRAM: 256 MiB
WARNING: Caches not enabled
No daughter card present
NAND: HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment
Net: cpsw
Hit any key to stop autoboot: 0
As shown, uboot can't find NAND device, readenv() failed and the default environment has been chosen to use.
So, if the SK board does not have a NAND flash,where the uboot environment variables are stored in?How can I save them into my board?