| Method | Cycles per toggle | Code size (bytes) | |----------------------|------------------|--------------------| | HAL_TogglePin | 36 | 52 | | LL_GPIO_TogglePin | 8 | 12 | | Direct register (BSRR)| 4 | 8 |
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); HAL_Delay(500); // milliseconds program stm32
while (1)
CC = arm-none-eabi-gcc CFLAGS = -mcpu=cortex-m3 -mthumb -Os -ffunction-sections -fdata-sections LDFLAGS = -Wl,--gc-sections -T STM32F103C8Tx_FLASH.ld SRCS = main.c system_stm32f1xx.c OBJS = $(SRCS:.c=.o) all: firmware.elf firmware.elf: $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ flash: firmware.elf openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program $< verify reset exit" Paper completed – suitable for undergraduate embedded systems coursework or professional reference. | Method | Cycles per toggle | Code