Перейти к содержанию
    

порт FreeRTOS на LPC2388 под IAR

собственно есть необходимость портировать 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В IARе я совсем новичок....

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем, компиляцию asm'овского исходника я так и не заборол пока что. Решил попробовать инлайн ассемблерные вставки, т.к. например в eclipse'овских проектах под GCC эти макросы реализованы именно так. Наткнулся на другую ошибку:

Error[Og006]: Syntax error in inline assembly: "Error[43]: Illegal effective address"

на строке:

asm( "LDR R0, =ulCriticalNesting" );

Не пойму почему такая инструкция вызывает синтаксическую ошибку. Почитал мануал по ИАРовскому инлайн ассемблеру на тему его ограничений но ничего не нашёл. Был бы признателен за совет как исправить эту ошибку или заменить чем то что соберётся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрал проект с горем пополам. И даже лампочками сразу поморгал на отладочной платке. Теперь осталось остальное прикрутить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Вся инициализация проходит, задания создаются, а при переключении контекста на первое задание после выполнения первой инструкции (IO0DIR = 0xffffffff) попадаю на data abort. Не подскажет ли кто в чём может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Теперь надо таймер забороть, не дёргается ISR почему то. Никто не наступал ни на какие грабли с этим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

теперь не пашет Delay, что чесно говоря странно... копаю дальше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот примерчик кода с рабочей 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Благодарствую за порт! Посмотрю обязательно. Сёдня завёл LCD, на очереди UART, а потом сеть как раз на lwIP. Как только всё заведу выложу порт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...