Я должен записать двоичный файл на встроенное устройство через консоль UART. Я знаю о SLIP, PPP и ZModem, но устройство имеет минимальную занятость и не имеет возможности устанавливать дополнительные сервисы или программы.
В настоящее время я использую последовательную библиотеку Python для записи шестнадцатеричных байтов на устройство:
printf '\x00\x01\x02' >> file.bin
Из-за большого размера файла я не могу напечатать весь файл сразу, так как он превышает размер буфера записи, поэтому я должен делать это порциями. Кажется, что я также должен читать вывод консоли после каждой записи (обратная связь с моей введенной командой), в противном случае буфер снова заполняется (не уверен, что это из-за последовательной библиотеки Python или из-за устройства).
Все это приводит к необходимости записывать более чем в 4 раза больше размера файла, а также к чтению того же количества байтов для успешной передачи моего файла. Это, очевидно, очень медленно и неэффективно.
Есть ли какой-либо другой метод, который я мог бы использовать для передачи двоичного файла быстрее в этих условиях?