직렬 터미널과 관련된 문제가 있습니다. 저는 Linux 컴퓨터를 가지고 있고 screen /dev/ttyUSB0 115200
.
이는 직렬 터미널을 통해 ARM에 파일을 생성하고 Linux 시스템에서 파일을 열고 모든 텍스트를 열린 터미널에 복사하여 모든 텍스트 파일을 가상으로 전송할 수 있음을 의미합니다.
이제 바이너리 데이터를 전송하고 싶습니다. 내 ARM 컴퓨터에 인터넷이 연결되어 있지 않아 패키지를 설치할 수 없습니다. 안타깝게도 여기에는 minicom
. 게다가 rz
기본적으로 제공되는 기능도 없습니다 .
대체로 모든 텍스트를 쉽게 전송할 수 있습니다. 이제 이를 통해 바이너리 파일을 복사하고 싶습니다. 어떻게 하나요?
추신: 이 질문은 확장됩니다.직렬 터미널을 통해 바이너리 파일 보내기, 더 많은 제한사항이 있습니다.
답변1
shar
GNU를 사용하여 sharutils
바이너리 파일에서 텍스트 파일을 만든 다음, 했던 것처럼 텍스트 파일을 복사하여 붙여넣습니다. 이 텍스트 파일은 실행 시 원본 바이너리 파일을 복원하는 쉘 스크립트입니다.https://en.wikipedia.org/wiki/GNU_Sharutils
답변2
ARM 상자에 무엇이 들어 있는지에 따라 다릅니다. 당신은 있나요 uuencode
? base64
? perl
?
기본적으로 일부 래퍼를 사용하여 이진 파일을 ASCII로 변환하고 ASCII 파일을 원격 시스템으로 보낸 다음 다시 이진 파일로 압축을 풀 수 있습니다.
예를 들어
uuencode myfile > myfile.uue
이제 myfile.uue를 원격 끝으로 보냅니다.
그러면 먼 쪽에서
uudecode myfile.uue
바이너리를 ASCII로 래핑하는 방법에는 여러 가지가 있으며 uuencode
일반적 base64
으로 사용되는 두 가지 방법이 있습니다. 컴퓨터에 무엇이 있는지 알지 못하면 어떤 방법이 가장 적합한지 알 수 없습니다.
이 작업을 수행하는 방법을 알아낸 후에는그 다음에이 방법을 사용하면 더 나은 프로그램(예: minicom
또는 ) 을 전송하여 rz
사용할 수 있습니다. 기본적으로 ASCII 래퍼를 사용하여 안정적인 전송 프로세스를 "부트스트랩"합니다.