Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F2XX + FreeRTOS + LwIP 1.4.0 + PPP
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
voidlizard

Запускаю несколько задач в указанной конфигурации (USB Device + USB Host + tcpip + ppp + idle + heartbeat). После старта таска PPP (3G USB Modem), управление никогда больше не возвращается в задачу, откуда форкнулась задача с pppInput.

При попытках поиграть приоритетами начинает вести себя очень нестабильно, чаще все разваливается, что именно ломается --- непонятно.

Пробовал поместить pppInput в таск с приоритетом IDLE, как правило, LwIP перестает работать.

По моему, ситуация какая-то не совсем нормальная, думаю, что делать дальше --- пытаться починить (но такое ощущение, что без патчей LwIP не обойтись) или уйти с FreeRTOS на другую систему?

Ресурсов более чем достаточно --- 120 Mhz, памяти тоже хватает, всего должно заведомо хватать. Просто же не нормальная ситуация, когда все разваливается только от того, что изменены приоритеты задач?
unkier
а подебужить не пробовали ? где ломается конкретно ? и кстати какая версия freertos ?
voidlizard
Цитата(unkier @ Feb 29 2012, 09:43) *
а подебужить не пробовали ? где ломается конкретно ? и кстати какая версия freertos ?


пробовал, без особых результатов. версия 7.1.0 в общем, последняя на момент начала проекта
unkier
у меня похожая проблема. железка на stm32f4 с freertos и lwip подключена проводом через свич к системнику. просто пингую железку и она через некоторое время виснет. но пахоже я понял куда копать. дело в приоритетах прерываний и осевых потоков. во всех примерах freertos пишут что нужно делать NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) по почему то в примере от st делается NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2). сейчас если я делаю NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) в самом начале в main, то виснет в течении нескольких секунд. сейчас буду курить мануалы по данному вопросу.
voidlizard
Цитата(unkier @ Mar 1 2012, 07:47) *
. сейчас если я делаю NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) в самом начале в main, то виснет в течении нескольких секунд. сейчас буду курить мануалы по данному вопросу.


У меня NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4)
unkier
еще есть момент. нельзя использовать вызовы оси в прерываниях с приоритетом выше чем задано в настройка специальным параметром.
kan35
Если вы используете freertos, то pppInput должна вызываться в потоке PPP в момент когда ваш драйвер отправляет принятый от модема байт.
А вы как будто используете стек в режиме как без ОСи, если так, то просто рекомендую все переделать по человечески: TCP и PPP отдельными задачами с полной интеграцией во FreeRTOS.
athlon64
Цитата(voidlizard @ Feb 28 2012, 20:24) *
Запускаю несколько задач в указанной конфигурации (USB Device + USB Host + tcpip + ppp + idle + heartbeat). После старта таска PPP (3G USB Modem), управление никогда больше не возвращается в задачу, откуда форкнулась задача с pppInput.

При попытках поиграть приоритетами начинает вести себя очень нестабильно, чаще все разваливается, что именно ломается --- непонятно.

Пробовал поместить pppInput в таск с приоритетом IDLE, как правило, LwIP перестает работать.

По моему, ситуация какая-то не совсем нормальная, думаю, что делать дальше --- пытаться починить (но такое ощущение, что без патчей LwIP не обойтись) или уйти с FreeRTOS на другую систему?

Ресурсов более чем достаточно --- 120 Mhz, памяти тоже хватает, всего должно заведомо хватать. Просто же не нормальная ситуация, когда все разваливается только от того, что изменены приоритеты задач?

Поделитесь плис проектом FreeRTOS + LwIP 1.4 для STM32F2
bumborashik
Цитата(athlon64 @ May 14 2012, 11:55) *
Поделитесь плис проектом FreeRTOS + LwIP 1.4 для STM32F2

не делиться чтото никто проектом(((
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.