Last active
April 15, 2016 04:40
-
-
Save AlexanderSavochkin/3faf63541a44de44eac6f28d2fd7641e to your computer and use it in GitHub Desktop.
LPC1114 startup code in assembly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.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