Problema de PCB STM32

2

Hace casi un año que intento que un STM32 funcione en un PCB personalizado. Tengo un STM32F107 y lo he cableado como se muestra en el diagrama adjunto (en este momento solo se sueldan los componentes mostrados).

¿Este circuito es correcto o tiene errores evidentes que faltan?

He intentado que OpenOCD se conecte con swd, y también he intentado tirar de BOOT0 y conectarme a través de USART1 sin ningún éxito.

    
pregunta user3780104

4 respuestas

0

Gracias. Olvidé conectar pb2 a tierra (el otro pin de arranque).

Mejor Gareth

    
respondido por el user3780104
3

Como todavía no puedo comentar, publicaré esto como una respuesta: Por mi vida, no puedo encontrar los pines SWD en su esquema conectados a nada y sin ellos, la programación solo es posible a través del gestor de arranque de ST a través de UART. Jugar con BOOT1 y la depuración es imposible. Si desea utilizar SWD, necesita conectar 5 pines:

  • SWDIO
  • SWCLK
  • NRST
  • VDD
  • GND

SWDIO y SWCLK son para transferencia de datos, NRST a veces se usa para programar la placa ("programa bajo reinicio"), VDD es necesario para conectarse al TVDD de ST-Link ya que se usa para detección y GND para tener una conexión a tierra común.

También necesita poner condensadores en los osciladores de cristal de 8 MHz, aunque mirando su diseño no necesita una frecuencia precisa, por lo que también puede utilizar el oscilador interno de 8MHz del F107 y ahorrar algo de dinero.

    
respondido por el Jan Dorniak
2

Entiendo que mi respuesta es más para las personas que tratarán este problema en el futuro. En stm32f107 boot1 (PB2) el pin no es necesario, puede verificarlo en la tabla 9 en Manual de referencia en la página 59. STM32F107 puede se ejecutará 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 la pb2 no era una correcta.

    
respondido por el Sergii Kirichok
0

Deberías leer este breve tutorial de ST: "Comenzando con el desarrollo de hardware STM32F 10xxx"

Tiene un capítulo sobre la programación a través de JTAG y SWD y también tiene un ejemplo de esquema de referencia con componentes mínimos necesarios para ejecutar STM32, para que pueda comparar eso con su diseño.

    
respondido por el zupazt3

Lea otras preguntas en las etiquetas