saves [offset [size [baud]]]
The saves command is used to transfer a file from the device via the serial line using the Motorola S-record file format.
- offset
- start address of memory area to save, defaults to 0x0
- size
- size of memory area to save, defaults to 0x0
- baud
- baud rate to use for upload. This parameter is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y
In the example the screen command is used to connect to the U-Boot serial console.
In a first screen session a file is loaded from the SD-card and the saves command is invoked. <CTRL+A><k> is used to kill the screen session.
A new screen session is started which logs the output to a file and the <ENTER> key is hit to start the file output. <CTRL+A><k> is issued to kill the screen session.
The log file is converted to a binary file using the srec_cat command. A negative offset of -1337982976 (= -0x4c000000) is applied to compensate for the offset used in the saves command.
$ screen /dev/ttyUSB0 115200 => echo $scriptaddr 0x4FC00000 => load mmc 0:1 $scriptaddr boot.txt 124 bytes read in 1 ms (121.1 KiB/s) => saves $scriptaddr $filesize ## Ready for S-Record upload, press ENTER to proceed ... Really kill this window [y/n] $ screen -Logfile out.srec -L /dev/ttyUSB0 115200 S0030000FC S3154FC00000736574656E76206175746F6C6F616420AD S3154FC000106E6F0A646863700A6C6F6164206D6D633E S3154FC0002020303A3120246664745F616464725F72B3 S3154FC00030206474620A6C6F6164206D6D6320303AC0 S3154FC000403120246B65726E656C5F616464725F72DA S3154FC0005020736E702E6566690A626F6F74656669C6 S3154FC0006020246B65726E656C5F616464725F7220CB S3114FC00070246664745F616464725F720A38 S70500000000FA ## S-Record upload complete => Really kill this window [y/n] $ srec_cat out.srec -offset -1337982976 -Output out.txt -binary 2>/dev/null $ cat out.txt setenv autoload no dhcp load mmc 0:1 $fdt_addr_r dtb load mmc 0:1 $kernel_addr_r snp.efi bootefi $kernel_addr_r $fdt_addr_r $
The command is only available if CONFIG_CMD_SAVES=y. The parameter to set the baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y
The return value $? is 0 (true) on success, 1 (false) otherwise.