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

 
 
 
Reply to this topicStart new topic
> STM32F2XX + FreeRTOS + LwIP 1.4.0 + PPP, нестабильная работа и странности с приоритетами
voidlizard
сообщение Feb 28 2012, 14:24
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 17-06-09
Пользователь №: 50 368




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

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

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

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

Ресурсов более чем достаточно --- 120 Mhz, памяти тоже хватает, всего должно заведомо хватать. Просто же не нормальная ситуация, когда все разваливается только от того, что изменены приоритеты задач?
Go to the top of the page
 
+Quote Post
unkier
сообщение Feb 29 2012, 05:43
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249



а подебужить не пробовали ? где ломается конкретно ? и кстати какая версия freertos ?
Go to the top of the page
 
+Quote Post
voidlizard
сообщение Feb 29 2012, 13:10
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 17-06-09
Пользователь №: 50 368



Цитата(unkier @ Feb 29 2012, 09:43) *
а подебужить не пробовали ? где ломается конкретно ? и кстати какая версия freertos ?


пробовал, без особых результатов. версия 7.1.0 в общем, последняя на момент начала проекта
Go to the top of the page
 
+Quote Post
unkier
сообщение Mar 1 2012, 03:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249



у меня похожая проблема. железка на stm32f4 с freertos и lwip подключена проводом через свич к системнику. просто пингую железку и она через некоторое время виснет. но пахоже я понял куда копать. дело в приоритетах прерываний и осевых потоков. во всех примерах freertos пишут что нужно делать NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) по почему то в примере от st делается NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2). сейчас если я делаю NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) в самом начале в main, то виснет в течении нескольких секунд. сейчас буду курить мануалы по данному вопросу.

Сообщение отредактировал unkier - Mar 1 2012, 03:48
Go to the top of the page
 
+Quote Post
voidlizard
сообщение Mar 1 2012, 07:04
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 17-06-09
Пользователь №: 50 368



Цитата(unkier @ Mar 1 2012, 07:47) *
. сейчас если я делаю NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4) в самом начале в main, то виснет в течении нескольких секунд. сейчас буду курить мануалы по данному вопросу.


У меня NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4)
Go to the top of the page
 
+Quote Post
unkier
сообщение Mar 1 2012, 07:07
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249



еще есть момент. нельзя использовать вызовы оси в прерываниях с приоритетом выше чем задано в настройка специальным параметром.
Go to the top of the page
 
+Quote Post
kan35
сообщение Mar 3 2012, 16:58
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Если вы используете freertos, то pppInput должна вызываться в потоке PPP в момент когда ваш драйвер отправляет принятый от модема байт.
А вы как будто используете стек в режиме как без ОСи, если так, то просто рекомендую все переделать по человечески: TCP и PPP отдельными задачами с полной интеграцией во FreeRTOS.
Go to the top of the page
 
+Quote Post
athlon64
сообщение May 14 2012, 08:55
Сообщение #8


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

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Цитата(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


--------------------
Руслан
Go to the top of the page
 
+Quote Post
bumborashik
сообщение Dec 27 2012, 10:04
Сообщение #9





Группа: Новичок
Сообщений: 7
Регистрация: 20-12-07
Пользователь №: 33 494



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

не делиться чтото никто проектом(((
Go to the top of the page
 
+Quote Post

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

 


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


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