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

 
 
 
Reply to this topicStart new topic
> порт FreeRTOS на LPC2388 под IAR, проблемы сборки
salvian
сообщение Aug 24 2009, 13:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



собственно есть необходимость портировать 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е я совсем новичок, может кто из знающих сталкивался и сможет подсказать по какой причине возникли эти ошибки и как их забороть? Был бы очень признателен.

Сообщение отредактировал salvian - Aug 24 2009, 13:24
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 24 2009, 13:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(salvian @ Aug 24 2009, 15:18) *
В IARе я совсем новичок....

А в чем не новичек? И какие особые тонкости связанные с IAR Вы тут усмотрели?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
salvian
сообщение Aug 26 2009, 10:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



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

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

Не пойму почему такая инструкция вызывает синтаксическую ошибку. Почитал мануал по ИАРовскому инлайн ассемблеру на тему его ограничений но ничего не нашёл. Был бы признателен за совет как исправить эту ошибку или заменить чем то что соберётся.
Go to the top of the page
 
+Quote Post
salvian
сообщение Aug 26 2009, 15:12
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



Собрал проект с горем пополам. И даже лампочками сразу поморгал на отладочной платке. Теперь осталось остальное прикрутить.
Go to the top of the page
 
+Quote Post
salvian
сообщение Sep 8 2009, 15:27
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



Не забороть никак восстановление контекста sad.gif
Вся инициализация проходит, задания создаются, а при переключении контекста на первое задание после выполнения первой инструкции (IO0DIR = 0xffffffff) попадаю на data abort. Не подскажет ли кто в чём может быть проблема?
Go to the top of the page
 
+Quote Post
salvian
сообщение Sep 9 2009, 10:34
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



Цитата
Не забороть никак восстановление контекста

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

Теперь надо таймер забороть, не дёргается ISR почему то. Никто не наступал ни на какие грабли с этим?
Go to the top of the page
 
+Quote Post
salvian
сообщение Sep 9 2009, 12:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



фуф.. шэдулер завёлся. проблема была в отличиях VIC у 21хх серии и 23хх/24хх серии, спасибо khach'у за этот пост

теперь не пашет Delay, что чесно говоря странно... копаю дальше
Go to the top of the page
 
+Quote Post
slabnoff
сообщение Sep 11 2009, 09:46
Сообщение #8


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

Группа: Свой
Сообщений: 82
Регистрация: 26-09-05
Пользователь №: 8 955



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

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

P.P.S. Перезалил файл, т.к. была бага - в ethernetif.c вносил изменения экспериментируя, ну и промежуточную версию случайно сюда загрузил.
Прикрепленные файлы
Прикрепленный файл  New2388MCP_iar5.zip ( 745.03 килобайт ) Кол-во скачиваний: 59
 
Go to the top of the page
 
+Quote Post
salvian
сообщение Sep 11 2009, 14:57
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 4-08-09
Пользователь №: 51 740



Цитата(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. Как только всё заведу выложу порт.
Go to the top of the page
 
+Quote Post

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

 


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


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