Loader_Src.c 에 HAL_InitTick()와 HAL_Delay() 함수를 아래와 같이 추가한다.
#include "main.h"
void SystemClock_Config(void);
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{
return HAL_OK;
}
void HAL_Delay(uint32_t Delay)
{
for (volatile int i=0; i<Delay; i++)
{
for (volatile int j=0; j<8000; j++)
{
}
}
}
Init() 함수에 HAL_Delay()를 이용해서 LED를 토글하는 코드를 추가한다.
int Init (void)
{
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
// LED TOGGLE
//
for (int i=0; i<10; i++)
{
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(100);
}
return 1;
}
빌드 후 생성된 stldr 파일을 ExternalLoader로 복사
복사 후 CubeProgrammer에서 Erase 실행시 LED 점멸 되는 것 확인
복사 후 다시 실행할때는 CubeProgrammer에서 Disconnect했다가 다시 연결 해야 함