Мені потрібно записати двійковий файл на вбудований пристрій через консоль UART. Я знаю про SLIP, PPP та ZModem, але пристрій має мінімальну зайнятість і не має можливості встановлювати додаткові сервіси чи програми.
На даний момент я використовую послідовну бібліотеку Python для запису в пристрій шістнадцяткових байтів:
printf '\x00\x01\x02' >> file.bin
Через великий розмір файлу я не можу надрукувати весь файл одразу, оскільки він перевищує розмір буфера запису, тому мені доводиться це робити шматками. Здається, що мені також доводиться читати вихід консолі після кожного запису (зворотній зв'язок моєї введеної команди), інакше буфер знову стає повним (не впевнений, що це через послідовну бібліотеку Python чи через пристрій).
Все це призводить до того, що потрібно успішно перенести мій файл більше ніж у 4 рази більше, а також читати однакову кількість байтів. Це, очевидно, дуже повільно і неефективно.
Чи є якийсь інший метод, який я міг би використати для швидшого перенесення двійкового файлу за цих обставин?
busybox rx
? Протокол xmodem, який використовується, rx
також повинен мати справу з бінарними файлами.