Configurar
Tengo una placa de evaluación mínima STM32F103C8T6 (consulte STM32F103C8T6 ).
Y estoy usando un enlace ST como en la imagen de abajo.
Instalé System Workbench para Eclipse. Creé mi propio proyecto (C ++, Proyecto vacío, cadenas de herramientas: Ac6 STM 32 MCU GCC), Serie: STM32F1, Mcu: STM32F103C8Tx, Núcleo: ARM Cortex-M3, Paquete: LQFP48, Memoria RAM: Tamaño 0x5000, Memoria ROM: Tamaño 0x10000.
Código
El código contiene un archivo system_stm32f10x.c que fue generado (o incluido automáticamente) por el IDE.
El programa compila ok:
* @file main.c
* @author Ac6
* @version V1.0
* @date 01-December-2013
* @brief Default main function.
******************************************************************************
*/
#include "stm32f10x.h"
#include <stm32f10x_rcc.h>
void delay(int counter)
{
volatile int i;
for (i = 0; i < counter * 10000; i++) {}
}
int main(void)
{
GPIO_InitTypeDef gpio;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_StructInit(&gpio);
gpio.GPIO_Pin = GPIO_Pin_13;
gpio.GPIO_Mode = GPIO_Mode_Out_PP;
gpio.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &gpio);
GPIO_SetBits(GPIOC, GPIO_Pin_13);
while (1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); // LED ON
delay(400);
GPIO_ResetBits(GPIOC, GPIO_Pin_13); // LED OFF
delay(400);
}
}
Subir mediante OpenSTM32
Cuando creo una configuración de ejecución (no se realizan cambios) y selecciono Ejecutar, aparece el siguiente error (en la consola):
Open On-Chip Debugger 0.10.0-dev-00302-gc211ca5-dirty (2017-07-03-10:41)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 950 kHz
adapter_nsrst_delay: 100
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748
Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748
Info : using stlink api v2
Info : Target voltage: 3.231135
Info : STM32F103C8Tx.cpu: hardware has 6 breakpoints, 4 watchpoints
adapter speed: 950 kHz
Error: timed out while waiting for target halted
TARGET: STM32F103C8Tx.cpu - Not halted
in procedure 'program'
in procedure 'reset' called at file "embedded:startup.tcl", line 478
in procedure 'ocd_bouncer'
** Unable to reset target **
shutdown command invoked
Conexiones
- STlink SWDIO pin 2 - > pin 7 de JTAG
- STlink GND pin 4 GND - > pin 4 de JTAG
- STlink SWCLK pin 6 - > pin 9 de JTAG
- USB - > USB (STlink 3.3V pin 8 no conectado, ni todos los demás pins STlink)
Schematic
Depurarelarchivodeconfiguración
#ThisisanF103C8T6_SimpleboardwithasingleSTM32F103C8Txchip##GeneratedbySystemWorkbenchforSTM32#Takecarethatsuchfile,asgenerated,maybeoverriddenwithoutanyearlynotice.Pleasehavealooktodebuglaunchconfigurationsetup(s)source[findinterface/stlink.cfg]setWORKAREASIZE0x5000transportselect"hla_swd"
set CHIPNAME STM32F103C8Tx
# Enable debug when in low power modes
set ENABLE_LOW_POWER 1
# Stop Watchdog counters when halt
set STOP_WATCHDOG 1
# STlink Debug clock frequency
set CLOCK_FREQ 4000
# use hardware reset, connect under reset
# connect_assert_srst needed if low power mode application running (WFI...)
reset_config srst_only srst_nogate connect_assert_srst
set CONNECT_UNDER_RESET 1
source [find target/stm32f1x.cfg]
Ejecutar pantalla de configuraciones
Actualizar
Podríaenviarunprogramaatravésdelautilidaddeenlace,vermásabajo.Noveounaluzparpadeante,perotalvezelprogramaseaincorrecto.
Sinembargo,estaformanoesmuycómoda(ynoveoningúnprogramaenejecución).Además,todavíanopuedodepurardeestamanera.
SOLUCIÓN DE PROBLEMAS
Vea mi respuesta (para ayudar a otros con el problema similar)
Muchas gracias a todos por sus respuestas y numerosos comentarios útiles.