Serial Transfer: Difference between revisions

From ArmadeusWiki
 
(13 intermediate revisions by 2 users not shown)
Line 7: Line 7:
When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Shell/Console of your Armadeus board.
When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Shell/Console of your Armadeus board.


==Installation==
== Linux ==


===Target (APF)===
===Installation===
 
====Target (APF)====
Modify your Buildroot configuration:
Modify your Buildroot configuration:
<pre class="host">
<pre class="host">
  $ make menuconfig
  $ make menuconfig
</pre>
</pre>
to add lrzsz package:<br>
to add lrzsz package:
[[Image:Menuconfig_package.png]]
 
[[Image:Menuconfig_package_net.png]]
<pre class="config">
<pre class="config">
     [*]  lrzsz
Package Selection for the target  --->
     Networking applications  --->
        [*]  lrzsz
</pre>
</pre>
and then rebuild your rootfs:
and then rebuild your rootfs:
Line 28: Line 29:
Reflash it or manually copy ''rz'' and ''sz'' executables found in ''$ARMADEUS_ROOTFS_DIR/usr/bin/''.
Reflash it or manually copy ''rz'' and ''sz'' executables found in ''$ARMADEUS_ROOTFS_DIR/usr/bin/''.


===Host===
====Host====
* Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
* Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
<pre class="host">
<pre class="host">
Line 42: Line 43:
</pre>
</pre>


==Usage==
===Usage===


{{Warning| You must use minicom as serial terminal and not kermit for the moment sorry ! :-(}}
{{Warning| You must use [[minicom]] as serial terminal and not [[kermit]]/[[screen]], sorry ! :-(}}
Be sure to have correctly configured Minicom (line speed, 8N1, no flow control, and correct download/upload directories path).<br>
* Be sure to have correctly configured Minicom (line speed, 8N1, no flow control, and correct download/upload directories path).
* Use '''rz''' for receiving and '''sz''' to send files:
====Host (PC) --> Target (APF)====
<pre class="apf">
# cd /whereToPutTheFileOnTheTarget/
# rz -bZ
.. waiting to receive.
</pre>
* then in minicom do: '''Ctrl+a , s''' and choose zmodem protocol and the file to send.
* Wait a little and your file will be copied to your board rootfs ! ;-)
 
====Target (APF) --> Host (PC)====
<pre class="apf">
# cd /location/of_the/file_to_send/on_the_apf/
# sz -b --zmodem filename
</pre>
Minicom handles the file receiving automatically (and put it in your $HOME by default, or the directory you configured in Minicom: Ctrl+z, o, ''Filenames and paths'', ''Download directory'')
 
===TBDL===
====Serial transfer through USB gadget as serial link====
After having booted your board:
After having booted your board:
* On your Target, open a new terminal on your serial link (here USB):
* On your Target, open a new terminal on your serial link (here USB):
Line 52: Line 72:
</pre>
</pre>
* On your Host, launch Minicom and configure it to use ''/dev/ttyUSB1'' at 115200, then connect it to this terminal
* On your Host, launch Minicom and configure it to use ''/dev/ttyUSB1'' at 115200, then connect it to this terminal
* Use '''rz''' for receiving and '''sz''' to send files:
 
===Host --> Target===
===Transfer without terminal===
* On your Target, launch receiving:
<pre class="apf">
<pre class="apf">
# cd /whereToPutTheFileOnTheTarget/
# rz --zmodem 1>/dev/ttyXXX 0</dev/ttyXXX
# rz -bZ
</pre>
.. waiting to receive.
* On your Host, launch transfer:
<pre class="host">
$ sz --zmodem /tftpboot/afiletosend 1>/dev/ttyUSB1 0</dev/ttyUSB1
</pre>
</pre>
then in minicom do: '''Ctrl+A , s''' and choose zmodem protocol and the file to send. <br>
Wait a little and your file will be copied to your board rootfs ! ;-)


===Target --> Host===
== UBoot ==
 
=== Minicom ===
 
With [[minicom]] use ymodem :
 
* type:
<pre class="apf">
<pre class="apf">
# cd /whereIsTheFileToSendOnTheTarget/
BIOS> loady ${loadaddr}
# sz -b --zmodem filename
Ctrl+A Z
</pre>
</pre>
Minicom handles the file receiving automatically (and put it in your $HOME by default)
* Select ymodem  then filename
 
==TBDL==


==Links==
==Links==

Latest revision as of 18:31, 1 February 2022

Instructions to use the serial port of your Armadeus board to transfer files from/to your PC.

Note Note: This page explains how to transfer files on the board when the Linux system has started, not from U-Boot !.

To know how to configure serial link for U-Boot communication, it's here.


Introduction

When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Shell/Console of your Armadeus board.

Linux

Installation

Target (APF)

Modify your Buildroot configuration:

 $ make menuconfig

to add lrzsz package:

Package Selection for the target  --->
    Networking applications  --->
        [*]   lrzsz

and then rebuild your rootfs:

 $ make

Reflash it or manually copy rz and sz executables found in $ARMADEUS_ROOTFS_DIR/usr/bin/.

Host

  • Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
 $ sudo apt-get install lrzsz
  • Install minicom tool:
 $ sudo apt-get install minicom
  • The first time, configure minicom (as root):
 $ sudo minicom -s

Usage

Warning Warning: You must use minicom as serial terminal and not kermit/screen, sorry ! :-(
  • Be sure to have correctly configured Minicom (line speed, 8N1, no flow control, and correct download/upload directories path).
  • Use rz for receiving and sz to send files:

Host (PC) --> Target (APF)

 # cd /whereToPutTheFileOnTheTarget/
 # rz -bZ
 .. waiting to receive.
  • then in minicom do: Ctrl+a , s and choose zmodem protocol and the file to send.
  • Wait a little and your file will be copied to your board rootfs ! ;-)

Target (APF) --> Host (PC)

 # cd /location/of_the/file_to_send/on_the_apf/
 # sz -b --zmodem filename

Minicom handles the file receiving automatically (and put it in your $HOME by default, or the directory you configured in Minicom: Ctrl+z, o, Filenames and paths, Download directory)

TBDL

Serial transfer through USB gadget as serial link

After having booted your board:

  • On your Target, open a new terminal on your serial link (here USB):
 # /sbin/getty -L ttygserial 115200 vt100
  • On your Host, launch Minicom and configure it to use /dev/ttyUSB1 at 115200, then connect it to this terminal

Transfer without terminal

  • On your Target, launch receiving:
# rz --zmodem 1>/dev/ttyXXX 0</dev/ttyXXX
  • On your Host, launch transfer:
$ sz --zmodem /tftpboot/afiletosend 1>/dev/ttyUSB1 0</dev/ttyUSB1

UBoot

Minicom

With minicom use ymodem :

  • type:
BIOS> loady ${loadaddr}
Ctrl+A Z
  • Select ymodem then filename

Links