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

 
 
> Переход на scmRTOS, Перевести программу без ОС для ATMega128 на scmRTOS + LwIP
virfis
сообщение Mar 12 2010, 08:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 17-10-05
Из: Краснодар
Пользователь №: 9 732



Добрый день.
Есть ATMega128 со внешней памятью 64К. Программа под нее использует UART0, UART1, TWI, SPI, оставшие выводы МК используются как порты ввода/вывода общего назначение. На одном из UART подключен GPRS-модем со встроенным TCP/IP стеком. Задействованы прерывания UART0, UART1, TWI, Timer1 - 1 ms, Timer3 - 1ms. Скорость работы UART 115200, TWI - 400KHz. Программа написана на IAR EWAVR и занимает около 80 Кб кода. Интересует переход на стек LwIP, так как только он имеет PPP протокол, чтобы отказаться от использования встроенных стеков модемов. ПОтому что это универсальнее, можно выбрать любой модем, и быстрее, зачастую в модемах стеки работают не очень весело, особенно в дешевых. Как я понял LwIP требуется операционка. Реально ли пересадить всю программу на scmRTOS, например в один низкоприоритетный процесс, и настроить LwIP так как ему надо? Но при этом важно чтобы существующие прерывания исполнялись так же как выполняются сейчас, с таким же быстродействием и были приоритетнее чем задачи LwIP.
Вариант смены железа не применим в принципе: достаточно большое кол-во оборудования уже установлено у заказчиков.
Если использовать LwIP, то примерно 10 Кб освободиться, потому что уберутся драйвера модемов. От LwIP требуется только TCP и UDP.

Сообщение отредактировал virfis - Mar 12 2010, 09:01
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jorikdima
сообщение Mar 12 2010, 09:08
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(virfis @ Mar 12 2010, 11:53) *
Но при этом важно чтобы существующие прерывания исполнялись так же как выполняются сейчас, с таким же быстродействием и были приоритетнее чем задачи LwIP.

Прерывания апприоре приоритетнее, чем любая из задач ОС. Правда приоритет тикового таймера ОС нужно проследить, чтоб был ниже всех других более важных прерываний.
Некоторое замедление исполнения обработчика прерываний будет все же ввиду того, что потребуется вставить везде требуемые ОС обертки TISRW, и по выходу из прерываний будет включаться шедулер. Но если у вас обработчики не совсем уж маленькие, то степень оверхеда будет весьма небольшая.
Go to the top of the page
 
+Quote Post



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

 


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


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