imx8mm serial file transfer via debug line

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mm serial file transfer via debug line

3,572 Views
nxf25094
NXP Employee
NXP Employee

Hello,

is there a way to transfer files from/to imx8mm evk via the debug line (serial line) so one doesn't have to connect the ETH or other serial lines etc.?

The setup is: imx8mm evk connected to PC (Win 10) via Debug Line.

Thanks for any help,

Vojtech

Labels (1)
Tags (2)
0 Kudos
Reply
5 Replies

509 Views
chillinwithscb
Contributor I

I know you are asking about serial file transfer via debug line (which I don't even know what means exactly), but I find "scp" to be a good option for file transfer.

0 Kudos
Reply

3,389 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vojtech

nxp does not provide special utilities for that, seems

if meaning " debug line (serial line)" is com port (i.MX8M Mini EVK FT2232D

USB <=> serial port), one can use any terminal utility for transfering files, for example HyperTerminal

How to Transfer Files in HyperTerminal | Chron.com 

File Transfer - Xmodem Ymodem Zmodem Kermit - Hilgraeve 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

3,389 Views
nxf25094
NXP Employee
NXP Employee

Hi Igor,

thanks for your reply. I was able to figure out how to transfer files, but it was quite pain. So for everyone who is interested in this, I provide step-by-step solution, as the details is what is missing. Usually the answer I found was use minicom, hyperterminal etc. without any details. So here we go:

My setup was:

PC with Win 10 (Windows Subsystem for Linux - WSL present)

imx8mm evk

Interconnection between PC and board via USB (PC) - Debug Line interface/mico-USB (board)

Board powered with USB type C from a docking station.

A switch powering the board was set to ON

Establishing connection with board

First we need to establish connection to the board via serial line (Debug line serves as a virtual com port):

option 1) TeraTerm (download and install TeraTerm)

- open TeraTerm

- select "Serial"

- my TeraTerm offered connected devices via serial line, so just select the right COM port

- confirm

Afterwards the terminal should appear (blank)

At this point its necessary to check the serial line configuration, which can be done under "Setup -> Serial Port..." in TeraTerm. (not sure you need to restart the session???)

Press "Enter" and a login prompt should appear. Login to your board.

option 2) use screen utility under WSL (I'm running Ubuntu on my Win 10 OS)

- start WSL

- connect to board like this:

$ sudo screen /dev/ttyS# 115200

(maybe you need to change the privileges for ttyS# via chmod)

The COM# ports are mapped to ttyS#. COM1 = ttyS1 etc. Some info can be found here Serial Support on the Windows Subsystem for Linux – Windows Subsystem for Linux 

A blank screen should appear (as in case of TeraTerm), so just press "Enter" and login to your board.

Transfering files from PC to board

On your target board:

$ cd /path/to/directory/where/file/should/be/transferred

Type following command into the command line on your target board and confirm it

$ rz --zmodem 1>/dev/tty# 0</dev/tty#

tty# is your terminal identifier and can be obtained by executing:$ who am i

option 1) TeraTerm

To transfer a file, just navigate in TeraTerm to:

"File -> Transfer file -> zmodem"

A pop-up window should appear and you just select a file to transfer. The file will be transferred to the board and the transfer should terminate.

option 2) screen

Detach from your screen session by pressing "Ctrl + d, Ctrl + a.

Execute:

$ sz --zmodem /path/to/file/to/transfer 1>/dev/ttyS# 0</dev/ttyS#

ttyS# is the identifier of COM port used to establish transfer in previous steps.

A file should be transferred to your target board and the transaction should be terminated. Reattach the session executing in WSL:

$ sudo screen -R -D "session_identifier"

The session identifier can be obtained like:

$ sudo screen -ls

I'll review the steps and update them, as I wrote the instructions from my head.

Hope this will help someone,

Vojtech

3,326 Views
siva_prabhakara
Contributor III

@nxf25094 I am getting this error after i detach the screen and try to sz. Do you have any idea why?

sz --zmodem file 1>/dev/ttyUSB1 0</dev/ttyUSB1
bash: /dev/ttyUSB1: Device or resource busy

0 Kudos
Reply

3,313 Views
nxf25094
NXP Employee
NXP Employee

Hi Siva,

without any additional information about your environment etc. it's hard to judge. Are you running a Linux OS on your machine or are you on WSL under Windows?

The first thing I found strange was the name of the COM port, as yours is "ttyUSB1". Not sure, how Linux maps USB and COM ports, but under WSL, the serial line is named as "ttyS#" where "#" represents the number of the COM port.

If your device is connected to USB1:

try using "ttyS1" instead of "ttyUSB1"

That's the best I can think off at the moment.

0 Kudos
Reply