3

Я должен записать двоичный файл на встроенное устройство через консоль UART. Я знаю о SLIP, PPP и ZModem, но устройство имеет минимальную занятость и не имеет возможности устанавливать дополнительные сервисы или программы.

В настоящее время я использую последовательную библиотеку Python для записи шестнадцатеричных байтов на устройство:

printf '\x00\x01\x02' >> file.bin

Из-за большого размера файла я не могу напечатать весь файл сразу, так как он превышает размер буфера записи, поэтому я должен делать это порциями. Кажется, что я также должен читать вывод консоли после каждой записи (обратная связь с моей введенной командой), в противном случае буфер снова заполняется (не уверен, что это из-за последовательной библиотеки Python или из-за устройства).

Все это приводит к необходимости записывать более чем в 4 раза больше размера файла, а также к чтению того же количества байтов для успешной передачи моего файла. Это, очевидно, очень медленно и неэффективно.

Есть ли какой-либо другой метод, который я мог бы использовать для передачи двоичного файла быстрее в этих условиях?

0