fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]
The fatload command is used to read a file from a FAT filesystem into memory. You can always use the :doc:`load command <load>` instead.
The number of transferred bytes is saved in the environment variable filesize. The load address is saved in the environment variable fileaddr.
- interface
- interface for accessing the block device (mmc, sata, scsi, usb, ....)
- dev
- device number
- part
- partition number, defaults to 0 (whole device)
- addr
- load address, defaults to environment variable loadaddr or if loadaddr is not set to configuration variable CONFIG_SYS_LOAD_ADDR
- filename
- path to file, defaults to environment variable bootfile
- bytes
- maximum number of bytes to load
- pos
- number of bytes to skip
addr, bytes, pos are hexadecimal numbers.
If either 'pos' or 'bytes' are not aligned according to the minimum alignment requirement for DMA transfer (ARCH_DMA_MINALIGN) additional buffering will be used, a misaligned buffer warning will be printed, and performance will suffer for the load.
=> fatload mmc 0:1 ${kernel_addr_r} snp.efi 149280 bytes read in 11 ms (12.9 MiB/s) => => fatload mmc 0:1 ${kernel_addr_r} snp.efi 1000000 149280 bytes read in 9 ms (15.8 MiB/s) => => fatload mmc 0:1 ${kernel_addr_r} snp.efi 1000000 100 149024 bytes read in 10 ms (14.2 MiB/s) => => fatload mmc 0:1 ${kernel_addr_r} snp.efi 10 16 bytes read in 1 ms (15.6 KiB/s) =>
The fatload command is only available if CONFIG_CMD_FAT=y.
The return value $? is set to 0 (true) if the file was successfully loaded even if the number of bytes is less then the specified length.
If an error occurs, the return value $? is set to 1 (false).