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

 
 
> Не могу скомпилить FREERTOS в IAR ARM 5.50
MALLOY2
сообщение Jun 6 2010, 09:44
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Не могу скомпилить FREERTOS в IAR ARM 5.50 если включаю "Multi-file Compilation", как только подключаю queue.h компилятор выдает кучу таких ошибок

Цитата
Error[Pe1061]: declaration of function "xQueueGenericSend" is incompatible with a declaration in another translation unit D:\Develop\xxxx\Firmware\Cortex\Source\FreeRTOS\Include\queue.h 472
the other declaration is at line 451 of "D:\Develop\xxxx\Firmware\Cortex\Source\FREERTOS\queue.c"


Уже второй день бьюсь не могу их подружить. Без "Multi-file Compilation" работает все нормально.

Как только пост создал и проблема частично решилась.

Вся беда в том что, в queue.h тип xQueueHandle обьявлен как void
Код
typedef void * xQueueHandle;


а в queue.c как структура
Код
typedef xQUEUE * xQueueHandle;


Вылечил так.

Подключил queue.h в queue.c
Определение структуры xQUEUE вынес в queue.h сюдаже и определение типа xQueueHandle. Все собралось, еще не осознал чем это грозит, да и не красиво как то, может есть еще варианты ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MALLOY2
сообщение Jun 6 2010, 11:08
Сообщение #2


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Нет, не хватает скорости, зацепило то что смотрю листинг кода, на критическую секцию а команда запрета выполняется через 3 бранча smile.gif, ну ни фига сибе думаю, с этого все и началось smile.gif.
В понедельник попробую весь проект, сейчас листинг лучше стал, как оно будет в реал тайме только на железе можно увидеть.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 6 2010, 11:31
Сообщение #3


Гуру
******

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



Цитата
Нет, не хватает скорости

Извините, невнимателен был sad.gif.
Цитата(MALLOY2 @ Jun 6 2010, 14:08) *
ну ни фига сибе думаю, с этого все и началось smile.gif.

Ну во FreeRTOS таких мест полно sad.gif - слишком уж порты в одно прокрустово ложе вкладывать Автор пытается, как по контроллерам, так и по компиляторам. Многое как-то на живую нитку связано sad.gif. Все подобные финты у меня были почищены почти сразу. Где макросы сделал, где нормальные intrinsics вместо неких "универсальных" решений, ну #pragma inline=forced само собой, где работает.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:49
Рейтинг@Mail.ru


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