Esta guía asume que estás utilizando un convertidor USB a Serial como el CH340. 1. **Preparación del hardware**: Conecta el STM32F103 a tu computadora a través del convertidor USB a Serial. Asegúrate de que los pines TX y RX del convertidor estén conectados a los pines RX y TX del STM32F103, respectivamente. 2. **Entrar en modo de programación**: Para poner el STM32F103 en modo de programación, debes poner el pin BOOT0 en alto y el pin BOOT1 en bajo, luego resetear el microcontrolador. 3. **Instalación del software**: En Linux, puedes usar la herramienta `stm32flash` que se puede instalar desde el gestor de paquetes de tu distribución. Por ejemplo, en Ubuntu puedes usar el comando `sudo apt install stm32flash`. 4. **Escribir el firmware**: Con el STM32F103 en modo de programación y `stm32flash` instalado, puedes escribir el firmware con el siguiente comando: `stm32flash -w archivo.bin -v -g 0x0 /dev/ttyUSB0`, donde `archivo.bin` es el archivo de firmware que quieres escribir en la ROM del STM32F103. 5. **Salir del modo de programación**: Una vez que el firmware se ha escrito correctamente, puedes sacar el STM32F103 del modo de programación poniendo el pin BOOT0 en bajo y luego reseteando el microcontrolador. Algunos errores comunes que podrías encontrar son: - **Problemas de conexión**: Asegúrate de que los pines TX y RX estén conectados correctamente y que el convertidor USB a Serial esté funcionando correctamente. - **Problemas con el archivo de firmware**: Asegúrate de que el archivo de firmware sea válido y esté en el formato correcto (binario). - **Problemas con los permisos**: Si recibes un error de "Permiso denegado" al intentar ejecutar `stm32flash`, puedes intentar ejecutar el comando con `sudo`. En STM32CubeIDE, puedes configurar el formato de salida del archivo de firmware. Normalmente, para la programación de microcontroladores STM32, se utilizan archivos en formato binario (.bin) o hexadecimal (.hex). Aquí te dejo los pasos para configurarlo en STM32CubeIDE: - Abre tu proyecto en STM32CubeIDE. - Haz clic con el botón derecho en el nombre de tu proyecto en el explorador de proyectos y selecciona "Properties" (Propiedades). - En el panel de propiedades, navega a "C/C++ Build" -> "Settings" -> "Tool Settings" -> "MCU Post build outputs". - Aquí puedes seleccionar el formato de salida que prefieras (.bin o .hex) marcando la casilla correspondiente. Recuerda que si eliges el formato .bin, deberás usar ese formato al escribir el firmware con `stm32flash`.