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

 
 
> LPC2478 FreeRTOS port никто не видел/делал?
sergik_vrn
сообщение Dec 16 2008, 14:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Перешел на новый проц (с STR710 на LPC2478), компиляю проект под IAR, FreeRTOS порт втупую не собирается, судя по всему, изменились регистры, и прилично изменились (для иар порт называется LPC2000, судя по хидерам он даже для LPC23хх не сгодится). Прежде чем самому разбираться, хотелось бы узнать, может не стоит изобретать велосипед?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
meister
сообщение Dec 16 2008, 14:56
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 219
Регистрация: 20-11-07
Пользователь №: 32 484



Цитата(sergik_vrn @ Dec 16 2008, 18:48) *
Перешел на новый проц (с STR710 на LPC2478), компиляю проект под IAR, FreeRTOS порт втупую не собирается, судя по всему, изменились регистры, и прилично изменились (для иар порт называется LPC2000, судя по хидерам он даже для LPC23хх не сгодится). Прежде чем самому разбираться, хотелось бы узнать, может не стоит изобретать велосипед?


Какая разница? Ядро то же самое - ARM7TDMI-S, придется поменять настройку контроллера прерываний и таймера. И только. Я так с 2146 на 2366 "перешел".
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 16 2008, 21:33
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(meister @ Dec 16 2008, 17:56) *
Какая разница? Ядро то же самое - ARM7TDMI-S, придется поменять настройку контроллера прерываний и таймера. И только. Я так с 2146 на 2366 "перешел".

логика понятна, но у каждого процессора своя небольшая специфика. просто не очень хочется терять время на разбирательство сперва со "старым" контроллером прерываний, потом с новым - хотелось срубить "по-легкому" smile.gif не получится, значит не судьба
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 16 2008, 22:19
Сообщение #4


Гуру
******

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



Цитата(sergik_vrn @ Dec 17 2008, 00:33) *
просто не очень хочется терять время на разбирательство сперва со "старым" контроллером прерываний, потом с новым

Вот в первом приближении, достаточном для большинства случаев, разница:
Код
int install_irq( uint inum, void *handler, uint priority, int irq_enable )
{
    if( ( inum >= 32 )||( (priority ) >= VIC_SIZE ) )
        return( -1 );

    VICIntEnClear = (1<<inum);          // Disable Interrupt
    VICIntSelect &= (~(1<<inum));     // Classifies as IRQ
#if defined LPC2400
    *(ulong *)(&VICVectAddr0 + inum) = (ulong)handler;    // Set Handler
    *(ulong *)(&VICVectPriority0 + inum) = priority;
#else
    *(ulong *)(&VICVectAddr0 + priority ) = (ulong)handler;
    *(ulong *)(&VICVectCntl0 + priority ) = ( 0x20 | inum );    // Enable vector interrupt
#endif
    if( irq_enable )
        VICIntEnable = (1<<inum);    // Enable Interrupt
    return( 0 );
}


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 17 2008, 06:23
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(zltigo @ Dec 17 2008, 01:19) *
Вот в первом приближении, достаточном для большинства случаев, разница:

еще раз большое спасибо!
Go to the top of the page
 
+Quote Post



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

 


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


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