Tengo algo de experiencia con Arduino, pero para uno de los dispositivos quiero usar algo con más potencia (potencia RAM/CPU).
Ya descubrí que algunos modelos STM32F4 o STM32F7 realmente con lo que necesito, sin embargo, como no tengo experiencia, compré una placa de evaluación (muy barata) STM32F103C8TT6.
Todavía no lo tengo, pero estoy leyendo información al respecto. Encontré mbed que parece una forma muy fácil de programarlo.
Sin embargo, en la lista de placas no veo ninguna placa de evaluación, en su mayoría versiones de NUCLEO o Discovery.
¿Es posible seguir usándolo? (como al seleccionar el 'NUCLEO F103RB similar' o ¿mbed solo es compatible con NUCLEO (y muchos otros dispositivos de núcleo ARM)?
La razón es que si la placa de evaluación no es compatible con mbed, no es realmente una buena alternativa para probar si puedo usar mbed más tarde de todos modos en la versión real de STM32 que quiero.
Sí tu puedes. Puede crear un nuevo proyecto basado en NUCLEO F103RB y luego reemplazar la biblioteca precompilada con fuentes. Luego, en las fuentes, puede redefinir las asignaciones de pines para que se ajusten a su tablero específico. Tenga en cuenta que no he hecho esto para MCU STM, pero hace aproximadamente 2 años lo hice funcionar para mi placa personalizada nRF51.
La idea es que la MCU permanezca igual con todos los periféricos internos, solo tiene pines cableados de manera ligeramente diferente. Es posible que se requieran cambios adicionales si su placa tiene una fuente de reloj diferente.
Sí, alguien creó una biblioteca para mbed que contiene la inicialización del reloj y las definiciones de pin necesarias para el STM32F103C8. Puede encontrar información y un ejemplo de "hola mundo" aquí:
https://developer.mbed.org/users/hudakz/code/STM32F103C8T6_Hello/
Para actualizar el binario de firmware producido por el compilador en línea mbed en la placa, necesita un adaptador de USB a serie y luego usar el programa stm32flash para realizar la carga. El adaptador de USB a serie se conecta a los pines PA_9 y PA_10 (serie 1) 3V3 y GND. Luego configure el pin BOOT0 en ALTO, presione restablecer para activar el cargador de arranque en serie incorporado y comience la carga:
stm32flash -w my_firmware.bin -v -g 0x /dev/ttyUSB0
También puede usar otra placa STM con una interfaz ST-Link para actualizar el firmware, pero aún no lo he probado.
También hay un cargador de arranque que debería permitirle usar DFU, pero aún no he podido hacerlo funcionar.
chris stratton
michel keijzers