Nisam primetio to za eksterni kristal i CubeMX a probao sam i to. Možda ova najnovija verzija nema taj problem. Međutim, našao sam novi. Kako god da u CubeMX postavim SWD pinove on u kodu generiše __HAL_AFIO_REMAP_SWJ_DISABLE(); u fajlu stm32f1xx_hal_msp.c.
To blokira SWD i više ne mogu da programiram STM32. Onda prebacim BOOT0 na 1 i butjem ga kroz bootloader pa ga obrišem preko SWD. Nadalje mi je dostupan preko SWD.
Potražio sam na njihovom sajtu i video da je još neko prijavio taj problem ali ga nisu ispravili.
Rešenje koje primenjujem je da u u fajlu stm32f1xx_hal_msp.c dodam još jednu liniju i to ispod __HAL_AFIO_REMAP_SWJ_DISABLE();
Dodajem:
/* USER CODE BEGIN MspInit 1 */
__HAL_AFIO_REMAP_SWJ_ENABLE();
/* USER CODE END MspInit 1 */
Meni se opcija de regenerišem kod za već postojeći projekat baš dopada. Provalio sam da ne briše ono što je dodato između:
/* USER CODE BEGIN xxx */
/* USER CODE END xxx */
tako sve radi baš kako treba.
Verovatno je da ima još boljki ali kad nađeš kako da zaobiđeš ide to jako lepo.
To blokira SWD i više ne mogu da programiram STM32. Onda prebacim BOOT0 na 1 i butjem ga kroz bootloader pa ga obrišem preko SWD. Nadalje mi je dostupan preko SWD.
Potražio sam na njihovom sajtu i video da je još neko prijavio taj problem ali ga nisu ispravili.
Rešenje koje primenjujem je da u u fajlu stm32f1xx_hal_msp.c dodam još jednu liniju i to ispod __HAL_AFIO_REMAP_SWJ_DISABLE();
Dodajem:
/* USER CODE BEGIN MspInit 1 */
__HAL_AFIO_REMAP_SWJ_ENABLE();
/* USER CODE END MspInit 1 */
Meni se opcija de regenerišem kod za već postojeći projekat baš dopada. Provalio sam da ne briše ono što je dodato između:
/* USER CODE BEGIN xxx */
/* USER CODE END xxx */
tako sve radi baš kako treba.
Verovatno je da ima još boljki ali kad nađeš kako da zaobiđeš ide to jako lepo.