Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: порт FreeRTOS на LPC2388 под IAR
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
salvian
собственно есть необходимость портировать FreeRTOS со стеком lwIP на девайс lpc2388. С сишными исходниками всё вроде бы в порядке, а вот при компиляции asm-овского portasm.s столкнулся с рядом проблем.

сначала получил вот такую ошибку:
Код
Error[25]: #error '"<yvals.h>  compiled with wrong (version of IAR) compiler"'. C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\INC\yvals.h 31


проверку версии компилятора убрал и получил следующую ошибку:
Код
Error[3]: Invalid #include file name C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\INC\DLib_Defaults.h 41

вот на эти строки кода:
Код
/* Include the main configuration header file. */
#if defined(_DLIB_CONFIG_FILE_HEADER_NAME)
  #include _DLIB_CONFIG_FILE_HEADER_NAME                                 <----- этого инклуда препроцессор не знает :(
  /* _DLIB_CONFIG_FILE_STRING is the quoted variant of above */
#elif defined(_DLIB_CONFIG_FILE)
  #include _STRINGIFY(_DLIB_CONFIG_FILE)
#else
  #pragma message("Library configuration file is not specified. Use\
  --dlib_config, please see the compiler reference guide for details.")
#endif


В IARе я совсем новичок, может кто из знающих сталкивался и сможет подсказать по какой причине возникли эти ошибки и как их забороть? Был бы очень признателен.
zltigo
Цитата(salvian @ Aug 24 2009, 15:18) *
В IARе я совсем новичок....

А в чем не новичек? И какие особые тонкости связанные с IAR Вы тут усмотрели?
salvian
Вообщем, компиляцию asm'овского исходника я так и не заборол пока что. Решил попробовать инлайн ассемблерные вставки, т.к. например в eclipse'овских проектах под GCC эти макросы реализованы именно так. Наткнулся на другую ошибку:
Код
Error[Og006]: Syntax error in inline assembly: "Error[43]: Illegal effective address"

на строке:
Код
asm( "LDR R0, =ulCriticalNesting" );

Не пойму почему такая инструкция вызывает синтаксическую ошибку. Почитал мануал по ИАРовскому инлайн ассемблеру на тему его ограничений но ничего не нашёл. Был бы признателен за совет как исправить эту ошибку или заменить чем то что соберётся.
salvian
Собрал проект с горем пополам. И даже лампочками сразу поморгал на отладочной платке. Теперь осталось остальное прикрутить.
salvian
Не забороть никак восстановление контекста sad.gif
Вся инициализация проходит, задания создаются, а при переключении контекста на первое задание после выполнения первой инструкции (IO0DIR = 0xffffffff) попадаю на data abort. Не подскажет ли кто в чём может быть проблема?
salvian
Цитата
Не забороть никак восстановление контекста

Эт я тупил, извиняюсь. Проект собирал под ARM а контекст восстанавливал в режим THUMB 07.gif

Теперь надо таймер забороть, не дёргается ISR почему то. Никто не наступал ни на какие грабли с этим?
salvian
фуф.. шэдулер завёлся. проблема была в отличиях VIC у 21хх серии и 23хх/24хх серии, спасибо khach'у за этот пост

теперь не пашет Delay, что чесно говоря странно... копаю дальше
slabnoff
Вот примерчик кода с рабочей FreeRTOS (правда 5.2.0). И даже lwIP дышит (правда не все нравится см. http://electronix.ru/forum/index.php?showt...mp;#entry647891). Не судите строго - сборная солянка кода, просто по-быстрому осваиваю lpc2388.

P.S. Если есть вариант порта lwIP, иной нежели чем у меня - поделитесь, плиз.

P.P.S. Перезалил файл, т.к. была бага - в ethernetif.c вносил изменения экспериментируя, ну и промежуточную версию случайно сюда загрузил.
salvian
Цитата(slabnoff @ Sep 11 2009, 13:46) *
Вот примерчик кода с рабочей FreeRTOS (правда 5.2.0). И даже lwIP дышит (правда не все нравится см. http://electronix.ru/forum/index.php?showt...mp;#entry647891). Не судите строго - сборная солянка кода, просто по-быстрому осваиваю lpc2388.

P.S. Если есть вариант порта lwIP, иной нежели чем у меня - поделитесь, плиз.

Благодарствую за порт! Посмотрю обязательно. Сёдня завёл LCD, на очереди UART, а потом сеть как раз на lwIP. Как только всё заведу выложу порт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.