|
startup asm |
|
|
|
Jan 14 2009, 14:12
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Объясните как работает этот кот, с ассемблером плохо знаком, сейчас читаю, но не совсем все понятно. А именно инструкция ldr записывает значение находящееся по адресу RESET_ADDR , в регистр pc, переменная RESET_ADDR не где не объявляется так же как и pc ? код взят отсюда : http://electronix.ru/forum/index.php?act=a...st&id=16569Код ldr pc, RESET_ADDR ldr pc, UNDEF_ADDR ldr pc, SWI_ADDR ldr pc, PREFETCH_ABORT_ADDR ldr pc, DATA_ABORT_ADDR .word 0 ldr pc, IRQ_ADDR ldr pc, FIQ_ADDR RESET_ADDR: .word RESET_handler UNDEF_ADDR: .word UNDEF_handler SWI_ADDR: .word SWI_handler PREFETCH_ABORT_ADDR: .word PREFETCH_ABORT_handler DATA_ABORT_ADDR: .word DATA_ABORT_handler .word 0 IRQ_ADDR: .word IRQ_handler FIQ_ADDR: .word FIQ_handler
|
|
|
|
|
 |
Ответов
|
Jan 16 2009, 19:33
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Цитата строительство дома без фундамента sad.gif Ничего страшного Москва не сразу строилась. Было бы желание  Да это точно, что то будет  Понял что так можно перейти на выполнение кода находящегося по адресу, но как разместить код по этому адресу 0х18? В документации написано что после прерывания в счетчик программ будет записано 0х18 или 0х1С. По этому адресу нужно разместить, код который будет читать вектор прерывания и записывать его в PC. The CPSR is stored in SPSR_irq, the current value of the Program Counter is loaded in the Interrupt link register (R14_irq) and the Program Counter (R15) is loaded with 0x18.
Сообщение отредактировал sergey sva - Jan 16 2009, 20:00
|
|
|
|
Сообщений в этой теме
sergey sva startup asm Jan 14 2009, 14:12 aaarrr RESET_ADDR - это метка, зачем ее объявлять еще? Jan 14 2009, 14:14 gotty Предположу что это тааблица векторов прерываний
и... Jan 14 2009, 14:35 sergey sva В один регистр PC, по очереди запишутся адреса мет... Jan 14 2009, 15:56 zltigo Цитата(sergey sva @ Jan 14 2009, 18:56) В... Jan 14 2009, 16:26  sergey sva Цитата(zltigo @ Jan 14 2009, 19:26) да у... Jan 14 2009, 17:17   aaarrr Цитата(sergey sva @ Jan 14 2009, 20:17) н... Jan 14 2009, 17:25 aaarrr Цитата(sergey sva @ Jan 14 2009, 18:56) В... Jan 14 2009, 16:28 sergey sva Если правильно понял, код:
.align 4
UNDEF_s... Jan 14 2009, 18:39 zltigo Цитата(sergey sva @ Jan 14 2009, 21:39) с... Jan 14 2009, 18:46 sergey sva ЦитатаТак и будете заниматься гаданиями?
с удоволь... Jan 14 2009, 19:35 sergeeff Описание ассемблера: http://infocenter.arm.com/he... Jan 14 2009, 20:05 sergey sva Наверно опять будет глупый вопрос, для чего нужно... Jan 15 2009, 19:58 zltigo Цитата(sergey sva @ Jan 15 2009, 22:58) д... Jan 15 2009, 20:01 sergey sva С этим кажется разобрался, ядро настраивается отде... Jan 15 2009, 21:24 aaarrr Цитата(sergey sva @ Jan 16 2009, 00:24) Н... Jan 15 2009, 21:47  sonycman Цитата(aaarrr @ Jan 16 2009, 01:47) Стек ... Jan 17 2009, 12:24   zltigo Цитата(sonycman @ Jan 17 2009, 14:24) Ско... Jan 17 2009, 12:34 sergey sva ЦитатаP.S. Пожалуйста, используйте знаки препинани... Jan 15 2009, 22:05 Сергей Борщ Цитата(sergey sva @ Jan 16 2009, 00:05) Г... Jan 16 2009, 06:34 sergey sva Буду читать. Мне еще не понятен один момент по раб... Jan 16 2009, 12:37 aaarrr Цитата(sergey sva @ Jan 16 2009, 15:37) В... Jan 16 2009, 13:22 sergey sva Как разместить метку, на асме по адресу 0x18 или 0... Jan 16 2009, 19:11 zltigo Цитата(sergey sva @ Jan 16 2009, 22:11) К... Jan 16 2009, 19:16 aaarrr Цитата(sergey sva @ Jan 16 2009, 22:33) н... Jan 16 2009, 20:10 sergey sva Если правильно понимаю? После перехода PC на адре... Jan 16 2009, 22:18 aaarrr Цитата(sergey sva @ Jan 17 2009, 01:18) Е... Jan 16 2009, 22:32  zltigo Цитата(aaarrr @ Jan 17 2009, 00:32) произ... Jan 16 2009, 22:44 sergey sva Как обрабатывать исключительные ситуации, например... Jan 17 2009, 16:04 aaarrr Ссылка с рекомендациями. Для data abort и undefine... Jan 17 2009, 18:21 sergey sva В функции prefetch_abort_handler_c должен быть ... Jan 17 2009, 18:48 aaarrr Цитата(sergey sva @ Jan 17 2009, 21:48) В... Jan 17 2009, 20:19 sergey sva Понятно. Разбираюсь еще с ассемблером, появился во... Jan 17 2009, 21:36 aaarrr Флаг S в команде указывает процессору, что нужно у... Jan 17 2009, 21:45 sergey sva Если правильно понял:
mov R1 , #0xFF
ands R1 , R1,... Jan 17 2009, 22:11 aaarrr Цитата(sergey sva @ Jan 18 2009, 01:11) l... Jan 17 2009, 22:21 sergey sva Виноват, не корректно поставил вопрос.
Если прави... Jan 17 2009, 22:29 aaarrr Цитата(sergey sva @ Jan 18 2009, 01:29) Е... Jan 17 2009, 22:33 sergey sva Что проверяет _check_mapping: , для чего сохранят... Jan 18 2009, 13:38 aaarrr check_mapping пишет 0x12345678 по адресу 0x200014 ... Jan 18 2009, 13:44 sergey sva Объясните, пожалуйста
Код AREA code1, DATA, READ... Jan 18 2009, 16:08 aaarrr Цитата(sergey sva @ Jan 18 2009, 19:08) О... Jan 18 2009, 16:30 sergey sva Поправите если что не так понял. Изучаю доку, но н... Jan 18 2009, 18:10 aaarrr Код sub r14, r14, #0x04 @ LR_abt = LR_abt - 0... Jan 18 2009, 19:28 sergey sva После чтения SPSR_c , устанавливаются биты #F_B... Jan 19 2009, 18:13 aaarrr Цитата(sergey sva @ Jan 19 2009, 21:13) П... Jan 19 2009, 18:23 sergey sva Вам, случайно не встречался пример обработки FIQ ... Jan 19 2009, 20:56 aaarrr Цитата(sergey sva @ Jan 19 2009, 23:56) В... Jan 19 2009, 20:59 sergey sva Сделайте замечания что, тут я не правильно понял... Jan 19 2009, 22:10 aaarrr Цитата(sergey sva @ Jan 20 2009, 01:10) С... Jan 19 2009, 22:17 sergey sva >вот обработчик - дрянь
где бы посмотреть как о... Jan 19 2009, 22:21 aaarrr Цитата(sergey sva @ Jan 20 2009, 01:21) г... Jan 19 2009, 22:42 sergey sva В инструкции msr SPSR_cxsf, r14 есть флаги ... Jan 20 2009, 17:15 aaarrr Цитата(sergey sva @ Jan 20 2009, 20:15) к... Jan 20 2009, 17:22 sergey sva А в чем будет разница, если не устанавливать cxsf... Jan 20 2009, 17:56 aaarrr Цитата(sergey sva @ Jan 20 2009, 20:56) А... Jan 20 2009, 18:00 sergeeff ЦитатаВ приведенном вами коде выполняется нескольк... Jan 20 2009, 18:25 aaarrr Цитата(sergeeff @ Jan 20 2009, 21:25) По ... Jan 20 2009, 20:59 sergey sva Если не ошибаюсь, то в этом обработчике, переход н... Jan 20 2009, 19:12 sergeeff Цитата(sergey sva @ Jan 20 2009, 23:12) Е... Jan 20 2009, 19:28 sergey sva Сделайте замечания, по FIQ обработчику.
Код@-----... Jan 20 2009, 20:29 sergey sva >Могу сделать одно, зато глобальное: использова... Jan 20 2009, 21:11 aaarrr Цитата(sergey sva @ Jan 21 2009, 00:11) Т... Jan 20 2009, 21:52  sergeeff Цитата(aaarrr @ Jan 21 2009, 01:52) А еще... Jan 21 2009, 09:16   aaarrr Цитата(sergeeff @ Jan 21 2009, 12:16) Есл... Jan 21 2009, 10:06    sergeeff Цитата(aaarrr @ Jan 21 2009, 14:06) Нельз... Jan 21 2009, 12:17     aaarrr Цитата(sergeeff @ Jan 21 2009, 15:17) так... Jan 21 2009, 13:02 sergey sva При входе в FIQ прерывание ,запрещаются автоматом... Jan 20 2009, 23:30 aaarrr SPSR-то зачем сохранять?
Можно извратиться так:
... Jan 21 2009, 00:05 sergey sva ЦитатаSPSR-то зачем сохранять?
Можно извратиться ... Jan 21 2009, 10:51 aaarrr Цитата(sergey sva @ Jan 21 2009, 13:51) В... Jan 21 2009, 10:58 sergey sva RE: startup asm Jan 21 2009, 15:51 zltigo Цитата(sergey sva @ Jan 21 2009, 17:51) С... Jan 21 2009, 17:42  aaarrr Цитата(zltigo @ Jan 21 2009, 20:42) Обраб... Jan 21 2009, 17:58   zltigo Цитата(aaarrr @ Jan 21 2009, 19:58) Возвр... Jan 21 2009, 19:11    aaarrr Цитата(zltigo @ Jan 21 2009, 22:11) Отлич... Jan 21 2009, 20:25     zltigo Цитата(aaarrr @ Jan 21 2009, 22:25) Сишна... Jan 21 2009, 20:48 aaarrr Что-то я не нашел INTERRUPT_VECTORS_END. А регистр... Jan 21 2009, 16:04 sergey sva >Что-то я не нашел INTERRUPT_VECTORS_END
> ... Jan 21 2009, 16:32 aaarrr Цитата(sergey sva @ Jan 21 2009, 19:32) К... Jan 21 2009, 16:36 sergey sva Если сделать так: объявить в присоединенном файле,... Jan 21 2009, 17:03 aaarrr Цитата(sergey sva @ Jan 21 2009, 20:03) Е... Jan 21 2009, 17:07 sergey sva поясните пожалуйста, что не правильно ? Jan 21 2009, 17:13 aaarrr КодRESET_ADDR: .word RESET_handler
UND... Jan 21 2009, 17:17 sergey sva Почему для UNDEF_handler:(Неопределенная инструкци... Jan 21 2009, 19:06 sergeeff Думается, что в embedded мире неожиданные exceptio... Jan 21 2009, 19:17 sergey sva Контроллер aic поддерживает 32 прерывания, эти пр... Jan 21 2009, 22:10 aaarrr Цитата(zltigo @ Jan 21 2009, 23:48) Ну а ... Jan 21 2009, 22:19 zltigo Цитата(aaarrr @ Jan 22 2009, 00:19) А на ... Jan 21 2009, 23:30  aaarrr Цитата(zltigo @ Jan 22 2009, 02:30) ... Jan 21 2009, 23:53   zltigo Цитата(aaarrr @ Jan 22 2009, 01:53) У при... Jan 22 2009, 08:24    aaarrr Цитата(zltigo @ Jan 22 2009, 11:24) Лично... Jan 22 2009, 09:06 sergey sva Каждый человек индивидуальный, как и его решения, ... Jan 22 2009, 17:30 aaarrr Цитата(sergey sva @ Jan 22 2009, 20:30) A... Jan 22 2009, 17:40 zltigo Цитата(sergey sva @ Jan 22 2009, 19:30) К... Jan 22 2009, 18:23  aaarrr Цитата(zltigo @ Jan 22 2009, 21:23) Допущ... Jan 22 2009, 18:32   zltigo Цитата(aaarrr @ Jan 22 2009, 20:32) Еще р... Jan 22 2009, 20:34 sergey sva Еще одна неясность возникла, вот код из файла опис... Jan 22 2009, 18:11 aaarrr Цитата(sergey sva @ Jan 22 2009, 21:11) A... Jan 22 2009, 18:20
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|