|
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 21 2009, 15:51
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
Сделайте замечания, дайте советы,  если не затруднит. 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.
|
|
|
|
|
Jan 21 2009, 17:42
|

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

|
Цитата(sergey sva @ Jan 21 2009, 17:51)  Сделайте замечания, дайте советы,  если не затруднит. Обработчик exception незачем иметь размазанным через copy-paste. Вызов неких сишных функций приводит необходимости раздувать стек да и система может быть уже начисто сломана, и железо распрограммировано..... Возращаться обратно после exception - отгребете продолжение глюков - надежнее на перезапуск при котором собствено и разберетесь что там было запротоколировано. Содержимое стека тоже надо запоминать - толку от того, что по LR Вы найдете, например, какой-нибудь memcpy() вызываемый из десятков мест просто никакого.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
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  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
|
|
|