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

 
 
> irq_handler, Правильно обрабатывать во FreeRTOS
Kesha
сообщение Feb 28 2009, 23:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 9-01-09
Пользователь №: 43 058



Добрый день.

В стартуп файле сделал:

Код
    irq_handler_address:    .word  0x40000018  /* cpu_irq_isr */
    fiq_handler_address:    .word  0x4000001C  /* cpu_fiq_isr */

В мейне сделал так:

Код
#define  IRQ_RAM_ADDR        0x40000018
#define  FIQ_RAM_ADDR        0x4000001C
#define  IRQ_RAM_FUNC_ADDR   0x40000038
#define  FIQ_RAM_FUNC_ADDR   0x4000003C

    MEMMAP = 0x01;//Interrupt vectors are not re-mapped and reside in Flash.
    unsigned int * ptr;
    //---- Set interrupts vectors
    ptr  = (unsigned int *)IRQ_RAM_ADDR;
    *ptr = 0xE59FF018;                       //-- ldr pc, [pc, #24]
    ptr  = (unsigned int *)FIQ_RAM_ADDR;
    *ptr = 0xE59FF018;                       //-- ldr pc, [pc, #24]
    
    //--- Put IRQ & FIQ vectors in RAM
    ptr  = (unsigned int *)IRQ_RAM_FUNC_ADDR;
    *ptr = (unsigned int)&cpu_irq_handler;
    ptr  = (unsigned int *)FIQ_RAM_FUNC_ADDR;
    //*ptr = (unsigned int)&cpu_fiq_handler;


И определил:
Код
//----------------------------------------------------------------------------
void cpu_irq_handler(void)
{
    int_func ifunc;
    ifunc = (int_func)VICAddress;
    if(ifunc != 0)
        (*ifunc)();
}


При прерывании заходим в cpu_irq_handler(void) и прыгаем непосредственно в обработчик прерывания.
При выходе из обработчика прерывания мы прыгаем в dabort_handler.

Что не правильно в cpu_irq_handler()?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kesha   irq_handler   Feb 28 2009, 23:40
- - aaarrr   Цитата(Kesha @ Mar 1 2009, 02:40) Что не ...   Feb 28 2009, 23:45
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 03:45) То, чт...   Feb 28 2009, 23:52
- - aaarrr   Одну команду, а не функцию.   Feb 28 2009, 23:58
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 03:58) Одну к...   Mar 1 2009, 00:00
- - aaarrr   Написать и дизассемблировать, например (e51ffff0)....   Mar 1 2009, 00:04
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 04:04) Написа...   Mar 1 2009, 00:08
|- - aaarrr   Цитата(Kesha @ Mar 1 2009, 03:08) А как в...   Mar 1 2009, 00:20
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 04:20) А что ...   Mar 1 2009, 00:31
|- - aaarrr   Цитата(Kesha @ Mar 1 2009, 03:31) Что опя...   Mar 1 2009, 00:49
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 04:49) У Вас ...   Mar 1 2009, 02:15
|- - aaarrr   Цитата(Kesha @ Mar 1 2009, 05:15) Далее п...   Mar 1 2009, 02:47
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 06:47) Как пр...   Mar 1 2009, 02:56
|- - aaarrr   Цитата(Kesha @ Mar 1 2009, 05:56) В случа...   Mar 1 2009, 09:37
|- - Kesha   Цитата(aaarrr @ Mar 1 2009, 13:37) Причем...   Mar 2 2009, 08:27
- - Kesha   Добрый день. Подскажите пожалуйста литературу по а...   Mar 2 2009, 10:08
|- - KRS   Цитата(Kesha @ Mar 2 2009, 13:08) ARM Ar...   Mar 2 2009, 10:29
- - Kesha   Добрый день. Возник такой вопрос: какую команду мо...   Mar 2 2009, 10:22
|- - KRS   Цитата(Kesha @ Mar 2 2009, 13:22) Добрый ...   Mar 2 2009, 10:34
|- - zltigo   Цитата(Kesha @ Mar 2 2009, 13:22) какую к...   Mar 2 2009, 10:34
||- - Kesha   Цитата(zltigo @ Mar 2 2009, 13:34) Одну? ...   Mar 2 2009, 11:15
|- - aaarrr   Цитата(Kesha @ Mar 2 2009, 13:22) Возник ...   Mar 2 2009, 13:12
- - scifi   Присоединяюсь к KRS: надо ремапить RAM. В указанно...   Mar 2 2009, 10:55
- - KRS   Цитата(scifi @ Mar 2 2009, 13:55) Присоед...   Mar 2 2009, 11:02


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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 18:57
Рейтинг@Mail.ru


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