Skip to content

Instantly share code, notes, and snippets.

@AlexanderSavochkin
Last active April 15, 2016 04:40
Show Gist options
  • Save AlexanderSavochkin/3faf63541a44de44eac6f28d2fd7641e to your computer and use it in GitHub Desktop.
Save AlexanderSavochkin/3faf63541a44de44eac6f28d2fd7641e to your computer and use it in GitHub Desktop.
LPC1114 startup code in assembly
.syntax unified
/*Инструктируем транслятор генерировать 16-битные инструкции Thumb*/
.thumb
/*То же самое что ключ командной строки -mcpu=cortex-m0 .
Говорим транслятору, что хотим код под архитектуру Cortex-M0*/
.cpu cortex-m0
/* Опрделяем секцию .vectors, в которой описываем таблицу прерываний */
.section .vectors
.align 2 /* Выравнивание - 4 байта (1 << 2) */
.long 0x10002000 /* По адресу 0 положим начальное значение указателя стека 0x10002000 */
.long Reset_Handler + 1 /* 0x00000004 Адрес, по которому переходим после сброса (Reset_Handler) */
.long 0x0 /*Остальные прерывания не используются, забьём нулями*/
.long 0x0
.long 0x0
.long 0x0
.long 0x0
.long 0x0 /*По этому адресу должна лежать контрольная сумма предыдущих векторов*/
/*.LTORG */
/*Определяем секцию выполняемого кода*/
.text
/*Ячейка памяти по адресу 0x00000004 указывает
на эту метку, так что после сброса попадаем сюда*/
Reset_Handler:
BL main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment