ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
17371
ChumA (30.11.2004 00:26, просмотров: 3302)
LPC2214, есть горячее желание перенести обработчик FIQ и соотв. провести remap прерываний в SRAM... Задачка простая, однако на пределе быстродействия. На 14,745 МГц*4 при MAMCR = 2 предельное MAMTIM получилось 5, на 4 глючит конкретно. Решил переместится в SRAM. Ну так вот: 1. Из flash обработчик FIQ обрабатывал как надо. 2. Обявил его как __arm __fiq __ramfunc void fiq_handler() - линкер честно запихнул его в SRAM. 3. Написал MEMMAP = 0x02, в xcl было записано -Z(CODE)INTVEC=0-3F 4. Не работает, видно, что вываливается в никуда после возникновения прерывания 5. С горя написал в xcl -Z(CODE)INTVEC=40000000-4000003F. По соотв. адресам появились соотв. переходы. 6. Однако все равно не работает, поскольку на адресе 0 пропал переход на startup секцию. Вопрос, что надо поправить в консерватории? P.S. Ежели извратится и не выполнять п.3 работает по схеме вектор в flash обработчик в sram. P.P.S. Спать пора, заранее всем спасибо. Алексей.