| .. SPDX-License-Identifier: GPL-2.0+: | |
| loads command | |
| ============= | |
| Synopsis | |
| -------- | |
| :: | |
| loads [offset [baud]] | |
| Description | |
| ----------- | |
| The loads command is used to transfer a file to the device via the serial line | |
| using the Motorola S-record file format. | |
| offset | |
| offset added to the addresses in the S-record file | |
| baud | |
| baud rate to use for download. This parameter is only available if | |
| CONFIG_SYS_LOADS_BAUD_CHANGE=y | |
| Example | |
| ------- | |
| As example file to be transferred we use a script printing 'hello s-record'. | |
| Here are the commands to create the S-record file: | |
| .. code-block:: bash | |
| $ echo 'echo hello s-record' > script.txt | |
| $ mkimage -T script -d script.txt script.scr | |
| Image Name: | |
| Created: Sun Jun 25 10:35:02 2023 | |
| Image Type: PowerPC Linux Script (gzip compressed) | |
| Data Size: 28 Bytes = 0.03 KiB = 0.00 MiB | |
| Load Address: 00000000 | |
| Entry Point: 00000000 | |
| Contents: | |
| Image 0: 20 Bytes = 0.02 KiB = 0.00 MiB | |
| $ srec_cat script.scr -binary -CRLF -Output script.srec | |
| $ echo -e "S9030000FC\r" >> script.srec | |
| $ cat script.srec | |
| S0220000687474703A2F2F737265636F72642E736F75726365666F7267652E6E65742F1D | |
| S1230000270519566D773EB6649815E30000001700000000000000003DE3D97005070601E2 | |
| S12300200000000000000000000000000000000000000000000000000000000000000000BC | |
| S11A00400000000F0000000068656C6C6F20732D7265636F72640A39 | |
| S5030003F9 | |
| S9030000FC | |
| $ | |
| The load address in the first S1 record is 0x0000. | |
| The terminal emulation program picocom is invoked with *cat* as the send | |
| command to transfer the file. | |
| .. code-block:: | |
| picocom --send-cmd 'cat' --baud 115200 /dev/ttyUSB0 | |
| After entering the *loads* command the key sequence <CTRL-A><CTRL-S> is used to | |
| let picocom prompt for the file name. Picocom invokes the program *cat* for the | |
| file transfer. The loaded script is executed using the *source* command. | |
| .. code-block:: | |
| => loads $scriptaddr | |
| ## Ready for S-Record download ... | |
| *** file: script.srec | |
| $ cat script.srec | |
| *** exit status: 0 *** | |
| ## First Load Addr = 0x4FC00000 | |
| ## Last Load Addr = 0x4FC0005B | |
| ## Total Size = 0x0000005C = 92 Bytes | |
| ## Start Addr = 0x00000000 | |
| => source $scriptaddr | |
| ## Executing script at 4fc00000 | |
| hello s-record | |
| => | |
| Configuration | |
| ------------- | |
| The command is only available if CONFIG_CMD_LOADS=y. The parameter to set the | |
| baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y | |
| Return value | |
| ------------ | |
| The return value $? is 0 (true) on success, 1 (false) otherwise. |