Llevo casi un año intentando que un STM32 funcione en una placa de circuito impreso personalizada. Tengo un STM32F107 y lo conecté como se muestra en el diagrama adjunto (actualmente solo los componentes que se muestran están soldados).
¿Este circuito es correcto o tiene errores evidentes que me estoy perdiendo?
Probé OpenOCD para conectarme con swd, y también intenté subir BOOT0 y conectarme a través de USART1 sin éxito.
Como aún no puedo comentar, publicaré esto como respuesta: por mi vida, no puedo encontrar los pines SWD en su esquema conectado a nada y sin él, la programación solo es posible a través del cargador de arranque de ST a través de UART jugando con BOOT1 y la depuración es imposible. Si desea utilizar SWD, necesita conectar 5 pines:
SWDIO y SWCLK son para transferencia de datos, NRST a veces se usa para programar la placa ("programa en reinicio"), VDD es necesario para conectarse a TVDD de ST-Link ya que se usa para detección y GND para tener un terreno común.
También debe colocar condensadores en los osciladores de cristal de 8 MHz, aunque al observar su diseño no necesita una frecuencia precisa, por lo que también puede usar el oscilador interno de 8 MHz de F107 y ahorrar algo de dinero.
Entiendo que mi respuesta es más para las personas que enfrentarán este problema en el futuro. En stm32f107, el pin boot1 (PB2) no es necesario, puede verificarlo en la tabla 9 en el manual de referencia en la página 59. STM32F107 podría ejecutarse en 3 modos de arranque diferentes que se pueden seleccionar a través de BOOT [1: 0]
-----------------------------------------------------------------------------
| boot1 | boot0 | Boot Mode | Alliasing
-----------------------------------------------------------------------------
| X | 0 | Main Flash Mmory | Main Flash memory is selected as boot space
-----------------------------------------------------------------------------
| 0 | 1 | System Memory | System memory is selected as boot space
-----------------------------------------------------------------------------
| 1 | 1 | Embedded SRAM | Embedded SRAM is selected as boot space
-----------------------------------------------------------------------------
Entonces, creo que pb2 no fue una solución correcta.
Realmente debería leer este breve tutorial de ST: "Primeros pasos con el desarrollo de hardware STM32F 10xxx"
Tiene un capítulo sobre programación a través de JTAG y SWD y también tiene un esquema de referencia de muestra con los componentes mínimos necesarios para ejecutar STM32, para que pueda compararlo con su diseño.
Gracias. Olvidé conectar pb2 a tierra (el otro pin de arranque).
mejor gareth
Armanda
usuario3780104
Armanda
Bence Kaulics
usuario95009
Bence Kaulics
baqx0r
dave
Aldanajaramillo
Hans
tyler