A resposta dada pelo OP agora inativo era:
hello.uart1_divisor_change.xmodem.hex.no_pll0 > /dev/ttyS0 < /dev/ttyS0
Eu quero roteirizar isso e minhas habilidades de script são bastante limitadas, então, por favor, tenha paciência comigo.
Eu tenho um escopo anexado às linhas RX e TX da porta serial. Se eu fizer:
cat /dev/ttyS0
Eu recebo um fluxo contínuo de caracteres 'C' para que o lado remoto esteja ativo e enviando. Se eu fizer:
cat {filename} > /dev/ttyS0
Eu recebo um burst na linha TX sem qualquer protocolo. Se eu fizer o seguinte:
/usr/bin/sx -vv -k -X -b -c send {filename}
A linha TX permanece inativa. O arquivo é binário e espera o protocolo xmodem 1K. O que estou fazendo errado?
A resposta dada pelo OP agora inativo era:
hello.uart1_divisor_change.xmodem.hex.no_pll0 > /dev/ttyS0 < /dev/ttyS0
Para outros usuários de sistemas embarcados que ainda possam querer / precisar enviar um arquivo via XMODEM, esse método funciona bem com um Raspberry Pi ou sistema similar: Instale sx e ser2net
Adicione uma linha no arquivo /etc/ser2net.conf para o TTY conectado ao UART e defina a taxa de transmissão correta (115200 neste exemplo):
5000:raw:115200:/dev/ttyUSB0:115200 8DATABITS NONE 1STOPBIT
Use sx para carregar o arquivo:
sx -vv -X -b --tcp-client localhost:5000 embedded-image.bin
Tags modem