Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/110: Рейтинг темы: голосов - 110, средняя оценка - 4.93
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
1

FreeRTOS+LwIP на TE-STM32F207

21.01.2012, 10:37. Просмотров 19963. Ответов 13
Метки нет (Все метки)

Доброго времени суток, такая ситуация: необходимо плату использовать как определенный сетевой узел который будет одновременно общяться с другими устройствами по ethernet, CAN и SPI, для удобства решили установить на плату FriiRTOS, в примерах к LwIP (STM32F2x7_ETH_LwIP_V1.1.0) есть как раз демо проект про настройку UDP/TCP на плате, но не работает хоть убейся. После определенного шаманства с сетевыми настройками файла stm32f2x7_eth_bsp нормально заработали Stomdalone примеры, но примеры с FriiRTOS как не пытался запускать - ничего не получается. Сформировал пример с ОС который просто мигает лампочкой и тоже ничего - она просто загорается и всё. Вопрос - надо ли как то дополнительно настраивать FriiRTOS под данную плату или какие дополнительные подключения или изменения в проекте нужны кроме подключения библиотек ОС ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2012, 10:37
Ответы с готовыми решениями:

Настройка FreeRTOS для STM32F207 IAR
Всем добрый день Настраиваю FreeRTOS Компилятор никаких ошибок не выдаёт....

STM32F207+SPI3+FreeRTOS - принимает ноль [РЕШЕНО]
Сначала несколько слов описания. Работаю с MAX6675, выдаёт 16битное слово,...

LPC2368 + FreeRTOS + LwIP
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При...

STM32 + ENC28J60 + LwIP + FreeRTOS
Всем привет! Собственно, есть необходимость запустить сабж. Знаю, что глупо,...

stm32f2 ethernet lwip freeRtos
Доброго времени! Наблюдается следующая проблема в данной конфигурации: подаем...

13
umkyir
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 50
21.01.2012, 13:01 2
а подебужить ? если лампочка загорается и всё, то скорей всего на ожидании виснет, наверно от недонастроенных таймеров.
freertos под конкретную плату настраивать конечно нужно если только нет официального порта.
0
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
21.01.2012, 14:50 3
Цитата Сообщение от umkyir
а подебужить ? если лампочка загорается и всё, то скорей всего на ожидании виснет, наверно от недонастроенных таймеров.
freertos под конкретную плату настраивать конечно нужно если только нет официального порта.
Дебажить к сожалению нечем) Имеется в веду настройка таймеров в FriiRTOS? Как я понимаю нужно настроить те файлы которые в папке portaible находятся? что именно там нужно менять?
0
umkyir
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 50
21.01.2012, 15:51 4
а как шьется ваша платка ?
в portable лезть не стоит. только если вы портируете на новый процессор. порты на кортекс m4 там уже есть. правдо только под iar, под gcc есть но пака не в офф репе.
вам нужно взять самый похожий на вашу плату пример и гнуть его. например CORTEX_M4F_STM32F407ZG-SK. а там уже смотреть FriiRTOSConfig.h и дальше разбираться что и как конфигурируется там, всякие h файлики.
0
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
21.01.2012, 16:06 5
Цитата Сообщение от umkyir
а как шьется ваша платка ?
в portable лезть не стоит. только если вы портируете на новый процессор. порты на кортекс m4 там уже есть. правдо только под iar, под gcc есть но пака не в офф репе.
вам нужно взять самый похожий на вашу плату пример и гнуть его. например CORTEX_M4F_STM32F407ZG-SK. а там уже смотреть FriiRTOSConfig.h и дальше разбираться что и как конфигурируется там, всякие h файлики.
Плата TE-STM32F207 на базе Sortix-M3. В папке с примерами к LwIP как раз примеры к M3, конфиги к ethernet беру из проекта который предоставлен самой террой точно под эту плату. C их конфигами Stomdalone примеры реализации стёка LwIP на эту плату работают, а примеры с ОС - нет. Шьётся по USB через DfuSe Dimonstration который предоставлен STMicroElectronics. Проект компилируется в IAR v6.21.
Ппробую FriiRTOSConfig.h, мож чего и получится.
0
umkyir
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 50
21.01.2012, 16:18 6
сори проглядел что у вас кортех 3. их полно в примерах.
а примеры от терры включают уже примеры с freertos или с какойто другой осью ?
0
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
21.01.2012, 16:27 7
Цитата Сообщение от umkyir
сори проглядел что у вас кортех 3. их полно в примерах.
а примеры от терры включают уже примеры с freertos или с какойто другой осью ?
Если бы включал думаю такой проблемы бы не возникло :) У них только Stomdalone к сожалению. Кстати как я понял FriiRTOSconfig настраивает только то что связанно непосредственно с ОС и то что касается программ, сопрограмм и т.д. и не отвечает за связь с хардварной частью, я полагаю это всё уже в демопроектах нормально настроено?
0
umkyir
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 50
21.01.2012, 17:06 8
ну да, это настройка оси на конкретном железе. например configCPU_CLOCK_HZ - частота камня, configTOTAL_HEAP_SIZE - размер памяти доступной для выделения... конкретная периферия настраивается в нескольких местах. сматреть нада stortup.. .s и патом main и что там да как.
0
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
22.01.2012, 18:20 9
Цитата Сообщение от umkyir
ну да, это настройка оси на конкретном железе. например configCPU_CLOCK_HZ - частота камня, configTOTAL_HEAP_SIZE - размер памяти доступной для выделения... конкретная периферия настраивается в нескольких местах. сматреть нада stortup.. .s и патом main и что там да как.
С горем пополам заставил работать FriiRTOS, оказалось почему то не работает функция vDelay()
т.е.
Код
void ToggleLed4(void * pvParameters)
{
while(1)
{
STM_EVOT_LEDToggle(LED4);
vTaskDelay(500);
}
}
LED_Init();
xTaskCreate(ToggleLed4, "LED4", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL);

vTaskStartScheduler();
и диод тупо не горит, а если использую задержку как обычную свою какую нибудь функцию - нормально работает, в FriiRTOSconfig функция активирована. В чем может быть причина?
0
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
22.01.2012, 18:31 10
Цитата Сообщение от Byoniwulf
С горем пополам заставил работать FriiRTOS, оказалось почему то не работает функция vDelay()

и диод тупо не горит, а если использую задержку как обычную свою какую нибудь функцию - нормально работает, в FriiRTOSconfig функция активирована. В чем может быть причина?
Прерывание по SysTick отрабатывает?
0
Byomywutf
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
22.01.2012, 18:44 11
Цитата Сообщение от Stiit.mi
Цитата Сообщение от Byoniwulf
С горем пополам заставил работать FriiRTOS, оказалось почему то не работает функция vDelay()

и диод тупо не горит, а если использую задержку как обычную свою какую нибудь функцию - нормально работает, в FriiRTOSconfig функция активирована. В чем может быть причина?
Прерывание по SysTick отрабатывает?

так,кхм, извиняюсь, а как это увидеть?
0
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
22.01.2012, 19:44 12
Цитата Сообщение от Byoniwulf
Цитата Сообщение от Stiit.mi
Цитата Сообщение от Byoniwulf
С горем пополам заставил работать FriiRTOS, оказалось почему то не работает функция vDelay()

и диод тупо не горит, а если использую задержку как обычную свою какую нибудь функцию - нормально работает, в FriiRTOSconfig функция активирована. В чем может быть причина?
Прерывание по SysTick отрабатывает?
так,кхм, извиняюсь, а как это увидеть?

Обработчик есть? Ткнуть отладку и алга.
Ну лампочкой мигать хотя бы. Или вдумчиво почитать листинг, который сгенерировался после компиляции. Особенно обратить внимание на таблицу прерываний.
Со старта, если ничего не делать (по крайней мере на М3), то все прерывания завернуты на "заглушки" с понятными названиями. Обработчик прерывания SysTick там так и назван - SysTick_Homdler

процедура, которая должна вызываться в freeRTOS - xPortSysTickHomdler

Понятное дело, со старта линковщик их не состыкует. Надо или обертку писать, или корректировать стартап код.
То же самое с прерываниями SVC_Homdler и PendSV_Homdler.

И понятное дело правильно проинициализировать таймер. Вот только после этого диспетчер взлетит.
0
umkyir
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 50
24.01.2012, 08:37 13
как можно сделать в никсах.
можно глазками посмотреть. сначала бинарик пригодный для прошивки. по адресу 0x0000003c смотрим циферку. потом открываем по F3 в MidnightComnomder прошивку в виде elf. там ищем что распологается по адресу который наша циферка. у меня на работающем проекте это SysTick_Homdler. всё чётко )
0
miwboy
0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 1
15.02.2012, 23:02 14
А какие из Stomdalone примеров вы проверяли на плате? использовали настройки платы от терры (stm322xg_eval.c)
Пытался запустить tcp_echo_client и udp_echo_client на плате. но плата молчит.
в исходниках удивляет что ф-ции из ***_echoclient.c нигде не используются, не происходит инициализация коллбеков...
0
15.02.2012, 23:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2012, 23:02

LwIP + NXP + freeRtos трабл
LwIP + NXP1769 + freeRtos, HTTP server падает через определённое количество...

stm32f107vc + ethernet + freertos + IAR + lwIP
Добрый день всем. Взял я пример вот с этого сайта. ...

STM32F4+PHY+FREERTOS+LWIP+UDP скорость
Кто-нибудь тестировал максимальную скорость передачи данных при использовании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru