.. SPDX-License-Identifier: GPL-2.0+: loadx command ============= Synopsis -------- :: loadx [addr [baud]] Description ----------- The loadx command is used to transfer a file to the device via the serial line using the XMODEM protocol. The number of transferred bytes is saved in environment variable filesize. addr load address, defaults to environment variable loadaddr or if loadaddr is not set to configuration variable CONFIG_SYS_LOAD_ADDR baud baud rate for the ymodem transmission. After the transmission the baud rate is reset to the original value. Example ------- In the example below the terminal emulation program picocom was used to transfer a file to the device. .. code-block:: picocom --send-cmd 'sx -b vv' --baud 115200 /dev/ttyUSB0 After entering the loadx command the key sequence is used to let picocom prompt for the file name. Picocom invokes the program sx for the file transfer. :: => loadx 60800000 115200 ## Ready for binary (xmodem) download to 0x60800000 at 115200 bps... C *** file: helloworld.efi $ sx -b vv helloworld.efi sx: cannot open vv: No such file or directory Sending helloworld.efi, 24 blocks: Give your local XMODEM receive command now. Xmodem sectors/kbytes sent: 0/ 0kRetry 0: NAK on sector Bytes Sent: 3072 BPS:1147 Transfer incomplete *** exit status: 1 *** ## Total Size = 0x00000c00 = 3072 Bytes ## Start Addr = 0x60800000 => The transfer can be cancelled by pressing 3 times after two seconds of inactivity on terminal. Configuration ------------- The command is only available if CONFIG_CMD_LOADB=y. Initial timeout in seconds while waiting for transfer is configured by config option CMD_LOADXY_TIMEOUT or by env variable $loadxy_timeout. Setting it to 0 means infinite timeout. Return value ------------ The return value $? is 0 (true) on success, 1 (false) otherwise.