реклама на сайте
подробности

 
 
> startup asm
sergey sva
сообщение Jan 14 2009, 14:12
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergey sva
сообщение Jan 21 2009, 15:51
Сообщение #2


Гуру
******

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



Сделайте замечания, дайте советы, smile.gif если не затруднит.
CODE
.include "crtinc.s"
@----------------------------------------------------------------------------------------
.section .text
.arm
.code 32
.global _start
_start:
@----------------------------------------------------------------------------------------
@ Таблица векторов исключительных ситуаций
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,[pc,#-0xF20] @ IRQ
ldr pc,[pc,#-0xF20] @ FIQ

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
@----------------------------------------------------------------------------------------
RESET_handler:
ldr r0, = STACK
msr cpsr_c, #(UNDEF_MODE | I_BIT | F_BIT)
mov sp, r0
sub r0, r0, #UNDEF_STACK_SIZE
msr cpsr_c, #(ABT_MODE | I_BIT | F_BIT)
mov sp, r0
sub r0, r0, #ABT_STACK_SIZE
msr cpsr_c, #(FIQ_MODE | I_BIT | F_BIT)
mov sp, r0
sub r0, r0, #FIQ_STACK_SIZE
msr cpsr_c, #(IRQ_MODE | I_BIT | F_BIT)
mov sp, r0
sub r0, r0, #IRQ_STACK_SIZE
msr cpsr_c, #(SVC_MODE | I_BIT | F_BIT)
mov sp, r0
sub r0, r0, #SVC_STACK_SIZE
msr cpsr_c, #USR_MODE
mov sp, r0
sub sl, sp, #USR_STACK_SIZE
@----------------------------------------------------------------------------------------
@ WatchDog
ldr r0, = WDT_BASE
ldr r1, = WDD_IS
str r1, [r0, #WDT_MR]
@----------------------------------------------------------------------------------------
@ EFC
ldr r0, = MC_BASE
ldr r1, = MC_FWS
str r1, [r0, #MC_FMR]
@----------------------------------------------------------------------------------------
@ включение тактового генератора и установка времени запуска
ldr r0, = PMC_BASE
ldr r1, = PMC_MOR_Val
str r1, [r0, #PMC_MOR]
@ проверка, тактовый генератор стабилизирован или нет
ldr r2, [r0, #PMC_SR]
ands r2, r2, #PMC_MOSCS
@ bne func mainclock ne stabiln******
@ настройка PMC_USBDIV PMC_MUL PMC_OUT PMC_PLLCOUNT PMC_DIV
ldr r1, = PMC_PLLR_Val
str r1, [r0, #PMC_PLLR]
@ Проверка, ФАПЧ зафиксирована
ldr r2, [r0, #PMC_SR]
ands r2, r2, #PMC_LOCK
@ bne func pll not lock*******
@ установка предделителя, главного генератора
ldr r1, = PMC_PRES
str r1, [r0, #PMC_MCKR]
@ проверка главного генератора готов или нет
ldr r2, [r0, #PMC_SR]
ands r2, r2, #PMC_MCKRDY
@ bne func mainosc not redy******
@ выбор источника генератора и настройка предварительного делителя
ldr r1, = PMC_MCKR_Val
str r1, [r0, #PMC_MCKR]
@ проверка главного генератора готов или нет
ldr r2, [r0, #PMC_SR]
ands r2, r2, #PMC_MCKRDY
@ bne func mainosc not redy******
@----------------------------------------------------------------------------------------
.if REMAP
@ запись таблици векторов прерываний в RAM
ldr r0, = _start
ldr r1, = INTERNAL_RAM_START
ldr r2, = INTERRUPT_VECTORS_END
copy:
ldr r3, [r0], #4
str r3, [r1], #4
cmp r0, r2
bne copy
@ проверка был ремап, или нет.
@ запись значения 0x12345678 по адресу 0x200014
@ после выполняется сравнение что по адресу 0x200014 и 0x14 если равно,
@ то ремап выполнялся
ldr r0, = 0x200014
mov r1, #0x14
ldr r2, = 0x12345678
str r2, [r0]
ldr r0, [r1]
cmp r0, r2
beq remap_end
@ выполнение перераспределения памяти
ldr r0, = MC_BASE
mov r1, #1
str r1, [r0, #MC_RCR]
@ Запись 0х00 по адресу 0x14
remap_end:
mov r0, #0x14
mov r1, #0
str r1, [r0]
.endif
@----------------------------------------------------------------------------------------
@ сдесь инициализация векторов прерываний

@----------------------------------------------------------------------------------------
@ Вызов функции main
mov r0, #0
mov r1, #0
mov r2, #0
mov r3, #0
mov r4, #0
bl main
__main_exit:
b __main_exit
@----------------------------------------------------------------------------------------
DATA_ABORT_handler:
sub r14, r14, #0x04 @ LR_abt = LR_abt - 0x04
stmfd r13!, {r14} @ Сохранить LR_abt на стеке ABT
stmfd r13!, {r0-r3, r12} @ Сохранить r0 - r3 и r12 на стеке ABT
ldr r0, = regs_temp @ Загрузить в r0 адрес структуры regs_temp
str r14, [r0], #0x04 @ Сохранить LR_abt в структуре regs_temp
mov r14, r0 @ Записать в LR_abt адрес regs_temp+4
ldr r0, [r13] @ Прочитать r0 из стека ABT
stmia r14!, {r0-r12} @ Сохранить в regs_temp+4 регистры r0 - r12
mov r0, r14 @ Записать в r0 LR_abt (адрес regs_temp+56)
mrs r14, SPSR @ Загрузить в LR_abt копию сохраненого статуса программы
stmfd r13!, {r14} @ Сохранить в стеке ABT регистр LR_abt
orr r14, r14, #F_BIT | I_BIT @ запрет прерываний, побитовое ИЛИ r14 = r14 | #F_BIT | #I_BIT
msr CPSR_c, r14 @ запись в регистр статуса, переключение в режим который был до режима ABORT
stmia r0!, {r13-r14} @ Сохранить в regs_temp+56 регистры SP_XXX и LR_XXX, r0 + 0x08
mrs r0, CPSR @ чтение текущего статуса в r0
orr r0, r0, #F_BIT |I_BIT|ABT_MODE
msr CPSR_c, r0 @ Записать в CPSR r0, переключение в режим ABT
ldr r0, = regs_temp @ Записать в r0 указатель на regs_temp
@ bl func_obr_data_abort @ Вызов функции C
ldmfd r13!, {r0} @ прочитать r0 из стека ABT
msr SPSR_c, r0 @ записать в регистр сохраненного статуса r0. Возврат статуса.
ldmfd r13!, {r0-r3, r12, pc}^ @ Возврат програмного счетчика, и регистров r0-r3 r12 pc, переключение в режим XXX
@----------------------------------------------------------------------------------------
FIQ_handler:
sub r14, r14, #0x04 @ LR_FIQ - 4
stmfd sp!, {r0-r3,r14} @ сохранить в стеке FIQ, регистры LR R0-R3, sp - 0x04
@ bl fiq_handler @ Вызов си обработчика
ldmfd sp!, {r0-r3,pc}^ @ запись в pc, модифицированого RL_FIQ востановление R0-R3 обновление CPSR
@----------------------------------------------------------------------------------------
IRQ_handler:
sub r14, r14, #0x04 @ LR_IRQ - 4
stmfd sp!, {r14} @ сохранить в стеке IRQ, регистры LR sp +0x04
mrs r14, SPSR @ сохранить в регистре RL_IRQ статуса программы до прерывания (SPSR)
stmfd sp!, {r0, r14} @ сохранить в стеке IRQ регистры r0 r14
mrs r14, CPSR @ сохранить в RL_IRQ текущий статус CPSR
bic r14, r14, #I_BIT @ логическое И НЕТ С сохранением в RL_IRQ
orr r14, r14, #SYS_MODE @ логическое ИЛИ с сохранением в RL_IRQ
msr CPSR_c, r14 @ Запись в CPSR RL_IRQ, разрешение прерывания и переключения в режим SYS
stmfd sp!, {r1-r3, r12, r14} @ сохраняем в стеке R1 - R3 и RL_SYS
@ bl irq_handler @ Вызов си обработчика
ldmfd sp!, {r1-r3, r12, r14} @ чтение из стека SYS регистров R1-R3 и RL_SYS
mrs r0, CPSR @ запись в R0 текущий статус CPSR
bic r0, r0, #SYS_MODE @ логическое И НЕТ c сохранением в R0
orr r0, r0, #I_BIT | IRQ_MODE @ логическое ИЛИ с сохранением в R0
msr CPSR_c, r0 @ Запрет прерываний и переключение в IRQ_MODE
ldr r0, = AIC_BASE @ запись в R0 базовый адрес AIC
str r0, [r0, #AIC_EOICR] @ запись R0 по адресу R0 + #AIC_EOICR (окончание прерывания)
ldmfd sp!, {r0, r14} @ чтение из стека IRQ R0 ,R14
msr SPSR_cxsf, r14 @ возврат режима,
ldmfd sp!, {pc}^ @ запись в pc, модифицированого RL_IRQ
@----------------------------------------------------------------------------------------
PREFETCH_ABORT_handler:
sub r14, r14, #0x04 @ LR_Pabt = LR_abt - 0x04
stmfd r13!, {r14} @ Сохранить LR_abt на стеке PABT
stmfd r13!, {r0-r3, r12} @ Сохранить r0 - r3 и r12 на стеке ABT
ldr r0, = regs_temp @ Загрузить в r0 адрес структуры regs_temp
str r14, [r0], #0x04 @ Сохранить LR_abt в структуре regs_temp
mov r14, r0 @ Записать в LR_abt адрес regs_temp+4
ldr r0, [r13] @ Прочитать r0 из стека ABT
stmia r14!, {r0-r12} @ Сохранить в regs_temp+4 регистры r0 - r12
mov r0, r14 @ Записать в r0 LR_abt (адрес regs_temp+56)
mrs r14, SPSR @ Загрузить в LR_abt копию сохраненого статуса программы
stmfd r13!, {r14} @ Сохранить в стеке ABT регистр LR_abt
orr r14, r14, #F_BIT | I_BIT @ запрет прерываний, побитовое ИЛИ r14 = r14 | #F_BIT | #I_BIT
msr CPSR_c, r14 @ запись в регистр статуса, переключение в режим который был до режима ABORT
stmia r0!, {r13-r14} @ Сохранить в regs_temp+56 регистры SP_XXX и LR_XXX, r0 + 0x08
mrs r0, CPSR @ чтение текущего статуса в r0
orr r0, r0, #F_BIT |I_BIT|ABT_MODE
msr CPSR_c, r0 @ Записать в CPSR r0, переключение в режим ABT
ldr r0, = regs_temp @ Записать в r0 указатель на regs_temp
@ bl func_obr_Pdata_abort @ Вызов функции C
ldmfd r13!, {r0} @ прочитать r0 из стека ABT
msr SPSR_c, r0 @ записать в регистр сохраненного статуса r0. Возврат статуса.
ldmfd r13!, {r0-r3, r12, pc}^ @ Возврат програмного счетчика, и регистров r0-r3 r12 pc, переключение в режим XXX
@----------------------------------------------------------------------------------------
UNDEF_handler:
sub r14, r14, #0x04 @ LR_Pabt = LR_udef - 0x04
stmfd r13!, {r14} @ Сохранить LR_udef на стеке PABT
stmfd r13!, {r0-r3, r12} @ Сохранить r0 - r3 и r12 на стеке udef
ldr r0, = regs_temp @ Загрузить в r0 адрес структуры regs_temp
str r14, [r0], #0x04 @ Сохранить LR_udef в структуре regs_temp
mov r14, r0 @ Записать в LR_udef адрес regs_temp+4
ldr r0, [r13] @ Прочитать r0 из стека udef
stmia r14!, {r0-r12} @ Сохранить в regs_temp+4 регистры r0 - r12
mov r0, r14 @ Записать в r0 LR_udef (адрес regs_temp+56)
mrs r14, SPSR @ Загрузить в LR_udef копию сохраненого статуса программы
stmfd r13!, {r14} @ Сохранить в стеке udef регистр LR_udef
orr r14, r14, #F_BIT | I_BIT @ запрет прерываний, побитовое ИЛИ r14 = r14 | #F_BIT | #I_BIT
msr CPSR_c, r14 @ запись в регистр статуса, переключение в режим который был до режима udef
stmia r0!, {r13-r14} @ Сохранить в regs_temp+56 регистры SP_XXX и LR_XXX, r0 + 0x08
mrs r0, CPSR @ чтение текущего статуса в r0
orr r0, r0, #F_BIT |I_BIT|UNDEF_MODE
msr CPSR_c, r0 @ Записать в CPSR r0, переключение в режим UNDEF_MODE
ldr r0, = regs_temp @ Записать в r0 указатель на regs_temp
@ bl func_obr_udef @ Вызов функции C
ldmfd r13!, {r0} @ прочитать r0 из стека udef
msr SPSR_c, r0 @ записать в регистр сохраненного статуса r0. Возврат статуса.
ldmfd r13!, {r0-r3, r12, pc}^ @ Возврат програмного счетчика, и регистров r0-r3 r12 pc, переключение в режим XXX
@----------------------------------------------------------------------------------------
SWI_handler:
sub r14, r14, #0x04 @ LR_SWI - 4
stmfd sp!, {r0-r3,r14} @ сохранить в стеке SWI, регистры LR R0-R3, sp - 0x04
@ bl swi_handler @ Вызов си обработчика
ldmfd sp!, {r0-r3,pc}^ @ запись в pc, модифицированого RL_FIQ востановление R0-R3 обновление CPSR
@----------------------------------------------------------------------------------------



regs_temp:
.SPACE 0x40

.end

Модератор. Да научитесь же наконец пользоваться тегами правильно! Для вставки объемных исходников вместо code используйте codebox.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 21 2009, 17:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergey sva @ Jan 21 2009, 17:51) *
Сделайте замечания, дайте советы, smile.gif если не затруднит.



Обработчик exception незачем иметь размазанным через copy-paste.

Вызов неких сишных функций приводит необходимости раздувать стек да и система может быть уже начисто сломана, и железо распрограммировано.....

Возращаться обратно после exception - отгребете продолжение глюков - надежнее на перезапуск при котором собствено и разберетесь что там было запротоколировано. 


Содержимое стека тоже надо запоминать - толку от того, что по LR Вы найдете, например, какой-нибудь memcpy() вызываемый из десятков мест просто никакого.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - sergey sva   Цитатастроительство дома без фундамента sad.gif Ни...   Jan 16 2009, 19:33
|- - 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
|- - 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 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01484 секунд с 7
ELECTRONIX ©2004-2016