Все указанные команды выполняют переход к метке label или по адресу, находящемуся в регистре Rm. Кроме того:
– команды BL и BLX заносят адрес следующей команды в регистр LR (регистр связи, R14);
– команды ВХ и BLX генерируют исключение Usage Fault, если бит [0] регистра Rm равен 0.
После смог написать свой код. Тут измененная часть.
Код: Выделить всё
Reset_Handler
ldr R1, = AHB1ENR ;Включаем тактирование порта B.
ldr R0, = GPIOBEN
str R0, [R1]
ldr R1, = GPIOB_MODER ;Настраиваем пин.
ldr R0, = MODER13_01
str R0, [R1]
ldr R1, = PORTB_ODR ;Адрес включения светодиода.
Z ldr R0, = ODR13 ;Код включения светодиода.
str R0, [R1] ;Включаем светодиод.
ldr R2, = 0xFFFFF ;Значение задержки.
bl Delay ;Входим в процедуру задержки.
ldr R2, = 0xFFFFF ;Значение задержки.
ldr R0, = 0 ;Выключаем.
str R0, [R1]
bl Delay
b Z
Delay subs R2, #1 ;Задержка.
bne Delay
bx LR
END
Очень долго пытался найти, как включить "стрелку отладки". Так и не нашел, ушел домой, а там стоял только keil4 с полным пакетом обновлений (когда только начинал изучать и не выбрал МК загрузил обновления всего и вся), там выбрал свой мк и нормально все пошло.