Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Bluepill + Keil не выполняется Blink

Сб июл 01, 2023 18:56:18

Дорогие коты, прошу не пинать сразу, но совершенно нубский вопрос, понятный из названия темы. В общем не могу заставить Bluepill мигать светодиодом. Инициализация проекта в CubeMX, код шаблонный вида
Код:
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
    HAL_Delay(500);
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
    HAL_Delay(500);

по F7 компилируется без ошибок, по F8 пошивается (вроде), по крайней мере вывод имеется такого вида:
Build started: Project: Blink
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Build target 'Blink'
compiling stm32f1xx_it.c...
assembling startup_stm32f103xb.s...
compiling stm32f1xx_hal_gpio_ex.c...
compiling stm32f1xx_hal_msp.c...
compiling rtc.c...
compiling main.c...
compiling gpio.c...
compiling stm32f1xx_hal_rtc.c...
compiling stm32f1xx_hal_rcc_ex.c...
compiling stm32f1xx_hal_rtc_ex.c...
compiling stm32f1xx_hal.c...
compiling stm32f1xx_hal_gpio.c...
compiling stm32f1xx_hal_cortex.c...
compiling stm32f1xx_hal_rcc.c...
compiling stm32f1xx_hal_pwr.c...
compiling stm32f1xx_hal_dma.c...
compiling stm32f1xx_hal_flash.c...
compiling system_stm32f1xx.c...
compiling stm32f1xx_hal_flash_ex.c...
compiling stm32f1xx_hal_tim_ex.c...
compiling stm32f1xx_hal_tim.c...
compiling stm32f1xx_hal_exti.c...
linking...
Program Size: Code=6756 RO-data=328 RW-data=12 ZI-data=1660
FromELF: creating hex file...
"Blink\Blink.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:03
Load "Blink\\Blink.axf"
Erase Done.
Programming Done.
Verify OK.
Application running ...
Flash Load finished at 18:42:52

и собственно все. Светодиод тупо и нагло горит все время. В настройках проекта в Download Function Reset&Run флаг стоит.
Собственно подскажите, что делать дальше?

Re: Bluepill + Keil не выполняется Blink

Сб июл 01, 2023 20:40:10

HAL_GPIO_Init покажи

Re: Bluepill + Keil не выполняется Blink

Сб июл 01, 2023 20:48:59

а. скомпилируйте и запустите отладку
б. поставьте точку отладки на операторе вашего цикла
в. когда остановится, выберите закладку KEIL:
Периферия - System Viewer - GPIO - (ваш GPIO = LED_GPIO_Port)
г. переключитесь на появившееся окно.
- Откройте регистр MODER и посмотрите, что на вашем pin=LED_Pin выставлен режим OUT. Если нет - исправьте. Если НЕ исправляется, откройте закладку RCC (аналогично пункт в) и включите тактирование вашего GPIO
- переключитесь в регистр ваш_GPIO->ODR, в бите pin=LED_Pin нажмите и отожмите птичку - ваш светодиод должен включиться/вЫключиться.
д. если всё выполняется, разбирайтесь с HAL - пройдите весь цикл мигания по F10.
Если описанная методика НЕ выполняется, то у вас проблемы с hardware.
- в рег

Re: Bluepill + Keil не выполняется Blink

Вс июл 02, 2023 10:51:31

Похоже, что проблема в каких-то настройках Keila. Прошил через ST-Utility, затем в нем зашел ST-LINK -- Printf via SWO viewer, кликнул START -- код начал в железе исполняться.

Добавлено after 2 minutes 1 second:
u37, спасибо за отклик

Re: Bluepill + Keil не выполняется Blink

Сб июл 08, 2023 10:51:47

В общем, если у кого-то будет похожая проблема, решилось методом, описанным тут https://www.cyberforum.ru/arm/thread2509696.html, т.е. заменой .dll
Ответить