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

 
 
> Выбор РТ ОС под omap, Посоветуйте
gormih
сообщение Oct 10 2012, 06:36
Сообщение #1


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Нужна ОС реального времени, которая уже портирована под OMAP 1808, либо которую можно в кратчайшие сроки портировать.
Интересуют как коммерческие продукты, так и с открытым исходным кодом.
Прошу помощи - подсказок, на что обратить внимание.


--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
beaRTS
сообщение Oct 10 2012, 06:42
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



SYS/BIOS от TI


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 10 2012, 08:07
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(gormih @ Oct 10 2012, 09:36) *
Нужна ОС реального времени, которая уже портирована под OMAP 1808, либо которую можно в кратчайшие сроки портировать.
Интересуют как коммерческие продукты, так и с открытым исходным кодом.
Прошу помощи - подсказок, на что обратить внимание.


Я бы рекомендовал Nucleus ReadyStart
Платформа далеко обходит по возможностям все RTOS с открытым кодом. При этом очень компактная.
Работает в режиме как с MMU так и без MMU.
Портирование практически такое же как у известной uCOS. Под OMAP 1808 уже есть порт.
Размер и быстродействие тоже конкурируют с uCOS и прочими компактными осями.
Go to the top of the page
 
+Quote Post
gormih
сообщение Oct 15 2012, 06:52
Сообщение #4


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Цитата(beaRTS @ Oct 10 2012, 10:42) *
SYS/BIOS от TI

Пока придерживаюсь этой линии, спасибо :-)

Цитата(AlexandrY @ Oct 10 2012, 12:07) *
Я бы рекомендовал Nucleus ReadyStart
Платформа далеко обходит по возможностям все RTOS с открытым кодом. При этом очень компактная.
Работает в режиме как с MMU так и без MMU.
Портирование практически такое же как у известной uCOS. Под OMAP 1808 уже есть порт.
Размер и быстродействие тоже конкурируют с uCOS и прочими компактными осями.

У них явно какие то проблемы с менеджером... Запросил дополнительную информацию о лицензии и стоимости - молчат...
За наводку спасибо.


--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post
Mahagam
сообщение Oct 15 2012, 10:22
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



ам1808? это где арм9 ядро? ну так берите всё что под арм7 и не парьтесь. хотя бы тотже фриртос. я у себя CTL запустил, кэши включил - летает.
Go to the top of the page
 
+Quote Post
gormih
сообщение Oct 15 2012, 13:37
Сообщение #6


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Цитата(Mahagam @ Oct 15 2012, 14:22) *
ам1808? это где арм9 ядро? ну так берите всё что под арм7 и не парьтесь. хотя бы тотже фриртос. я у себя CTL запустил, кэши включил - летает.

Для того, чтобы это сделать нужно как минимум хорошо знать структуру ОС, и как ее портировать на конкретный процессор?
Или я в чем то заблуждаюсь?
Карта регистров не меняется разве?
Перечень оборудования?
Это все надо где то прописать.
А на это далеко не всегда есть время. Желательно иметь готовый вариант.


--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post
Mahagam
сообщение Oct 15 2012, 14:38
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



ничего там не надо. для всех этих таск-шедулеров единственный ресурс который нужен - таймер.
ARM7/9 - насколько я помню набор инструкций совпадает. у меня основное время заняла адаптация ассемблерного файла собственно переключателя контекста под особенности компилятора/ассемблера CCS. собственно код не правился вообще
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 15 2012, 15:11
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Mahagam @ Oct 15 2012, 18:38) *
ничего там не надо. для всех этих таск-шедулеров единственный ресурс который нужен - таймер.

Еще контроллер прерываний настроить. Собственно, для 1808 это будет основной частью работы.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Oct 17 2012, 08:08
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



QUOTE (aaarrr @ Oct 15 2012, 18:11) *
Еще контроллер прерываний настроить. Собственно, для 1808 это будет основной частью работы.
CODE
int ctl_set_isr(unsigned int number, unsigned int priority, CTL_ISR_FN_t isr, CTL_ISR_FN_t *oldisr)
{
unsigned long *cmr;
unsigned long cmr_data, mask;

if (number > sizeof(ctl_isr_table)/sizeof(CTL_ISR_FN_t)) return 0;
if (oldisr) *oldisr = ctl_isr_table[number];
ctl_isr_table[number] = isr;

cmr = (unsigned long *)&AINTC->CMR0;
cmr += number/4;
cmr_data = *cmr;
mask = 0xFF<<((number%4)<<3);
cmr_data &= ~mask;
cmr_data |= priority<<((number%4)<<3);
*cmr = cmr_data;


// Enable Interrupts
CSL_FINS(AINTC->EISR, AINTC_EISR_INDEX, number);
return 1;
}



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

Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 17 2012, 12:09
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Mahagam @ Oct 17 2012, 12:08) *
как-то так. никакой работы.

Никакой работы - это настройка таймера. А здесь мануал почитать все же придется.

Цитата(Mahagam @ Oct 17 2012, 12:08) *
ну разве что таблицу векторов надо в шустром месте разместить, да обработчик прерывания должен знать как успокоить контроллер и как выковырять правильный вектор из таблицы

А зачем обработчику что-то выковыривать? Векторизация решается двумя командами ldr pc, [pc, #offs] - одной на векторе 0x18, и второй на векторе AINTC.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Oct 17 2012, 13:35
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



я там не всё привёл, но все равно, настойка AINTC не сильно сложнее таймера.

векторизация вышла такая:

CODE

ldr r0, _AINTC_GPVR_ADDR ; r0 contains address of GPVR
; (which contains ISR address)
ldr r0, [r0] ; r0 contains address of highest
; prioritized ISR
add r14, pc, #0 ; Save return address in LR,
; PC = PC + 8 bytes,see documentation
ldr pc, [r0] ; Go to ISR (still in IRQ mode),
; will return to following line

тоже вроде ничего сложного.
Go to the top of the page
 
+Quote Post
evg123
сообщение Oct 19 2012, 10:27
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Мы без проблем установили LINUX - взяли с сайта TI. Используем OMAP L-138 (там Am1808 + Dsp6748).
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:15
Рейтинг@Mail.ru


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