Я занят установкой нового оборудования с STM32F030C8 MCU. Я использую STM32CubeIDE с g cc. Я очень новичок в разработке микроконтроллеров, и это мой первый проект с ST и его инструментами.
Это очень простая c программа, которая просто запускает GPIO. Все остальное - сгенерированный код. Поскольку у меня очень мало опыта в этой области, я надеюсь, что кто-то может указать место, где я могу посмотреть. Я подозреваю, что это может быть проблема конфигурации.
Вот код (я удалил все сгенерированные комментарии, чтобы сделать его более компактным):
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2); //my code 1
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2); //my code 2
while (1)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2);
HAL_Delay(1000);
}
}
Когда я шагаю по коду, он активирует GPIO для «моего кода 1», а когда я перехожу к «моему коду 2», это вызывает проблему. Я даже пытался запустить полностью сгенерированную программу без изменений, и проблема не устранена. Это был быстрый тест, чтобы увидеть, действительно ли программа работает на mcu. И это так же, как и запуск GPIO.
Вывод на консоль отладчика:
Temporary breakpoint 1, main () at ../Core/Src/main.c:74
74 HAL_Init();
Program received signal SIGTRAP, Trace/breakpoint trap.
0x1fffecec in ?? ()
Временная точка останова - это то место, где запускается программа, затем я могу либо выполнить оттуда. Или шаг за шагом, все с одинаковым результатом.
Вывод на консоль:
Waiting for debugger connection...
Debugger connected
-------------------------------------------------------------------
STM32CubeProgrammer v2.4.0
-------------------------------------------------------------------
ST-LINK SN : 34FF6E065250343816210143
ST-LINK FW : V2J36S7
Voltage : 3.22V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x440
Device name : STM32F05x/F030x8
Flash size : 64 KBytes
Device type : MCU
Device CPU : Cortex-M0
Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_PEkdAh.srec
File : ST-LINK_GDB_server_PEkdAh.srec
Size : 4944 Bytes
Address : 0x08000000
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 4]
Download in Progress:
File download complete
Time elapsed during download operation: 00:00:00.627
Verifying ...
Download verified successfully
Полная ошибка:
Break at address "0x1fffecec" with no debug information available, or outside of program code.
Вот два изображения, которые могут помочь. Как я уже говорил, я очень новичок в этом. Так что любая другая необходимая информация, пожалуйста, спросите. Заранее спасибо.
Просмотр отладки Разборка