Estoy usando una placa STM32 Nucleo conectada a una Raspberry Pi. Para actualizar la MCU, coloco un archivo binario en una unidad montada. El problema es que toma un tiempo aleatorio, y a veces largo, desde el momento en que dejo caer el archivo hasta el momento real en que se flashea la MCU. En cambio, tengo un resultado instantáneo al flashear desde Windows. ¿Hay alguna manera de acelerar el proceso?
Linux piensa que es solo un almacenamiento externo y retiene las escrituras (cachés) mientras está montado. Puedes intentar
umount
la interfaz de Nucleo después de la copia, lo que obliga a que todo se reescribasync
comando después de copiar-o sync
para deshabilitar el almacenamiento en caché de escritura.Se prefieren los primeros dos métodos -o sync
(siempre y cuando funcionen), porque las escrituras aún se almacenan en caché hasta que se le indica al sistema que escriba todo, utilizando menos ciclos de escritura flash.
Si nada de lo anterior funciona de manera confiable, instale openocd o texane st-link en el pi y utilícelo para flashear.
sas
sas
Bence Kaulics
sas