[U-Boot] [PATCH 2/2] ARM: at91: sama5d3: mmc: save enviroment as a fat file (uboot.env)

Bo Shen voice.shen at atmel.com
Fri Nov 22 11:08:30 CET 2013


Hi Josh,

On 11/22/2013 02:58 PM, Josh Wu wrote:
> This patch will save U-Boot environment as a file: uboot.env, in FAT partition
> instead of saving it in raw sector of SD card.
>
> Since saving environment in raw sector has risk of corrupting the SD card and
> only can use very small size. Save as a FAT file has no above limitation.
>
> Signed-off-by: Josh Wu <josh.wu at atmel.com>
> ---
>   include/configs/sama5d3xek.h |   10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)

Tested on sama5d31ek board. It doesn't work. Please check it, and also 
check on at91sam9x5ek board.

Please take the following information as a reference.
--->8---
U-Boot 2013.10-00389-gf37e980 (Nov 22 2013 - 17:56:53)

CPU: SAMA5D31
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  512 MiB
NAND:  256 MiB
MMC:   mci: 0
mci: setting clock 257812 Hz, block size 512
mci: setting clock 257812 Hz, block size 512
mci: setting clock 257812 Hz, block size 512
mci: setting clock 257812 Hz, block size 512
mci: setting clock 22000000 Hz, block size 512
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   macb0
Warning: failed to set MAC address
, usb_ether
Hit any key to stop autoboot:  0
U-Boot> fat
   fatinfo fatload fatls fatwrite
U-Boot> fatls mmc 0
     20737   boot.bin
    332916   u-boot.bin

2 file(s), 0 dir(s)

U-Boot> saveenv
Saving Environment to FAT...
mci: setting clock 257812 Hz, block size 512
mci: setting clock 22000000 Hz, block size 512
mci: setting clock 257812 Hz, block size 512
mci: setting clock 257812 Hz, block size 512
mci: setting clock 22000000 Hz, block size 512
writing uboot.env
done
U-Boot> fatls mmc 0
     20737   boot.bin
    332916   u-boot.bin

2 file(s), 0 dir(s)
---8<---

> diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h
> index 5a6f0fc..a77ab5f 100644
> --- a/include/configs/sama5d3xek.h
> +++ b/include/configs/sama5d3xek.h
> @@ -196,9 +196,13 @@
>   				"bootm 0x22000000 - 0x21000000"
>   #elif CONFIG_SYS_USE_MMC
>   /* bootstrap + u-boot + env in sd card */
> -#define CONFIG_ENV_IS_IN_MMC
> -#define CONFIG_ENV_OFFSET	0x2000
> -#define CONFIG_ENV_SIZE		0x1000
> +#define CONFIG_ENV_IS_IN_FAT
> +#define CONFIG_FAT_WRITE
> +#define FAT_ENV_INTERFACE	"mmc"
> +#define FAT_ENV_FILE		"uboot.env"
> +#define FAT_ENV_DEVICE		0
> +#define FAT_ENV_PART		1
> +#define CONFIG_ENV_SIZE		0x4000
>   #define CONFIG_BOOTCOMMAND	"fatload mmc 0:1 0x21000000 dtb; " \
>   				"fatload mmc 0:1 0x22000000 uImage; " \
>   				"bootm 0x22000000 - 0x21000000"
>

Best Regards,
Bo Shen


More information about the U-Boot mailing list