|
FreeRTOS 5.0.2 проблема со сборкой исходников под IAR ARM, решил попробовать |
|
|
|
Sep 3 2008, 12:40
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
в наличии IAR ARM 5.2 (30 дневная) FreeRTOS 5.0.2 процессор типа LPC2368
в проекте подключены файлы: croutine.c list.c port.c queue.c tasks.c
еще мой main.c
конфиг оси взял из демо проекта, в опциях компилятора указал LPC2000_IAR пока в моей функции main не делаю вызовов API OS, проблем нет, как только вставлю vTaskStartScheduler(); в int main() лезут ошибки линковщика
Error[Li005]: no definition for "vPortFree" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\tasks.o] Error[Li005]: no definition for "vPortStartFirstTask" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\port.o] Error[Li005]: no definition for "vPortPreemptiveTickEntry" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\port.o] Error[Li005]: no definition for "pvPortMalloc" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\tasks.o] Error while running Linker
поискал функцию vPortFree она есть только в port.c для PIC18 и AVR32
надо еще что то подключить ?
и не нашел в документации, какие файлы для данного порта подключать в проект. Так например при подключении portasm.s79 лезут ошибки, пока выкинул.
PS: мне от ОСи нужен только переключатель задач, всякое динамическое выделение памяти на контроллере без аппаратной поддержки динамического распределения, считаю извращением и использовать не планирую. Так же не нужны очереди, т.к. буду свои писать, более приспособленные под мою задачу.
|
|
|
|
|
Sep 3 2008, 12:47
|
Гуру
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448
|
Цитата(Desenix @ Sep 3 2008, 16:40) Так например при подключении portasm.s79 лезут ошибки, пока выкинул. Тогда почему удивляетесь, что лезут ошибки линковщика? Цитата(Desenix @ Sep 3 2008, 16:40) Error[Li005]: no definition for "vPortStartFirstTask" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\port.o] Error[Li005]: no definition for "vPortPreemptiveTickEntry" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\port.o] Цитата(Desenix @ Sep 3 2008, 16:40) PS: мне от ОСи нужен только переключатель задач, всякое динамическое выделение памяти на контроллере без аппаратной поддержки динамического распределения, считаю извращением и использовать не планирую. Зато автор FreeRTOS не считает извращением и использует. Отсюда и: Цитата(Desenix @ Sep 3 2008, 16:40) Error[Li005]: no definition for "vPortFree" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\tasks.o] Error[Li005]: no definition for "pvPortMalloc" [referenced from D:\Project\Cnt-FreeRTOS\Debug\Obj\tasks.o]
|
|
|
|
|
Sep 3 2008, 12:56
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
лучше б что по делу сообщили. Цитата(aaarrr @ Sep 3 2008, 16:47) Тогда почему удивляетесь, что лезут ошибки линковщика? потому что выбор не большой, или ошибки линковщика, или компилятора portasm.s79 Error[3]: Invalid #include file name C:\Program Files\IAR Systems\Embedded Workbench 5.2 Evaluation\ARM\INC\DLib_Defaults.h 41 Error while running Assembler ругается на эту строку #include _DLIB_CONFIG_FILE_HEADER_NAME файла DLib_Defaults.h Цитата(aaarrr @ Sep 3 2008, 16:47) Зато автор FreeRTOS не считает извращением и использует. Отсюда и: это он пускай сколько влезет использует, когда есть аппаратная поддержка, а когда нет, изволь отключить, а мне от его оси только переключалка нужна.
|
|
|
|
|
Sep 3 2008, 13:05
|
Гуру
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448
|
Цитата(Desenix @ Sep 3 2008, 16:56) потому что выбор не большой, или ошибки линковщика, или компилятора А на какие ошибки, по-вашему, следует в первую очередь обращать внимание? Если ассемблер обломался на компиляции, то уж линкер тем более упадет, когда не сможет найти нужные метки. Цитата(Desenix @ Sep 3 2008, 16:56) это он пускай сколько влезет использует, когда есть аппаратная поддержка, а когда нет, изволь отключить, а мне от его оси только переключалка нужна. Аппаратная поддержка кучи (heap)? С MMU не путаете? Цитата(Desenix @ Sep 3 2008, 16:56) ...мне от его оси только переключалка нужна. Если уж Вы собираетесь перелопачивать FreeRTOS под свои нужды, то подобных вопросов (ошибки линкера, ассемблера etc) возникать не должно в принципе.
|
|
|
|
|
Sep 3 2008, 13:15
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
Цитата(aaarrr @ Sep 3 2008, 17:05) А на какие ошибки, по-вашему, следует в первую очередь обращать внимание? Если ассемблер обломался на компиляции, то уж линкер тем более упадет, когда не сможет найти нужные метки. по ассемблеру я не вижу откуда проблема появляется, там такие файлы не инклудятся, и ошибка явно глюк компилятора. Цитата(aaarrr @ Sep 3 2008, 17:05) Аппаратная поддержка кучи (heap)? С MMU не путаете? не путаю, нормальную кучу лучше с MMU совместно пользовать, а то сильно дырявый сыр получится. Цитата(aaarrr @ Sep 3 2008, 17:05) Если уж Вы собираетесь перелопачивать FreeRTOS под свои нужды, то подобных вопросов (ошибки линкера, ассемблера etc) возникать не должно в принципе. судя по скудной док-ии, я быстрее напишу тупую переключалку сам. Цитата(sergeeff @ Sep 3 2008, 17:07) Все вокруг плохие, один я хороший. Не нравится FreeRTOS - не используй. Если требует много ресурсов - есть scmRTOS, уж компактнее, наверное, не бывает, или tnkernel, или еще куча чего. А когда человек готовый проект не может собрать, тут уж чего скажешь? где вы видели готовый проект под LPC2368 для IAR ARM 5.2 ??? а готовое под IAR не конвертится в IAR ARM 5.2 и потом, сегодня первый раз сел посмотреть что это за ... и уже прыгать на другое ? может сразу свое писать ? чтоб не терять время.
|
|
|
|
|
Sep 3 2008, 13:21
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
из вас помощники как из меня балерина в portasm.s79 закоментировал //#include "FreeRTOSConfig.h" и проект собрался, еще добавил heap_2.c не знаю тот или не тот, не важно, потом разберусь. PS: тут случаем ни кто икону дяди билла не молится ?
|
|
|
|
|
Sep 3 2008, 13:24
|
Гуру
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448
|
Цитата(Desenix @ Sep 3 2008, 17:15) не путаю, нормальную кучу лучше с MMU совместно пользовать, а то сильно дырявый сыр получится. FreeRTOS'у куча нужна только под TCB и стеки задач, раз уж очереди не используются. В дальнейшем пользоваться ей никто не заставляет. Цитата(Desenix @ Sep 3 2008, 17:15) судя по скудной док-ии, я быстрее напишу тупую переключалку сам. Если нужна именно тупая переключалка, то возьмите куски из \portable и пользуйтесь на здоровье.
|
|
|
|
|
Sep 3 2008, 13:25
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
Цитата(sergeeff @ Sep 3 2008, 17:17) Боже мой, какая каша в голове у человека. В писании сказано, не поминай имя его всуе Ты че заповеди нарушаешь ?)
|
|
|
|
|
Sep 3 2008, 13:31
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
Цитата(aaarrr @ Sep 3 2008, 17:24) FreeRTOS'у куча нужна только под TCB и стеки задач, раз уж очереди не используются. В дальнейшем пользоваться ей никто не заставляет. хорошо если так, тогда я поурежу ему аппетиты, а то мне буфера нужны будут большие. Цитата(aaarrr @ Sep 3 2008, 17:24) Если нужна именно тупая переключалка, то возьмите куски из \portable и пользуйтесь на здоровье. та зачем в чужом коде разбираться, вырезая куски, лучше настройками ОС лишнее по отключать. Цитата(zltigo @ Sep 3 2008, 17:27) Ну и толку в этом? Для сборки под пятой версией сначала документ по миграции c V4.x почитайте, а потом шумите. Еще разберитесь в отличии LPC21xx от LPC23xx.... а зачем его читать ? я сразу 5.0.2 и скачал, ни куда ни откуда не мигрировал
|
|
|
|
|
Sep 3 2008, 13:39
|
Гуру
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448
|
Цитата(Desenix @ Sep 3 2008, 17:31) хорошо если так, тогда я поурежу ему аппетиты, а то мне буфера нужны будут большие. Какие аппетиты??? Это память для ваших же задач. Цитата(Desenix @ Sep 3 2008, 17:31) та зачем в чужом коде разбираться, вырезая куски, лучше настройками ОС лишнее по отключать. Правильно: разбираться не хотим, документацию (которой якобы нет) читать не хотим, будем крутить настройки. Или подождем, когда дядя Билли визард напишет? Цитата(Desenix @ Sep 3 2008, 17:31) а зачем его читать ? я сразу 5.0.2 и скачал, ни куда ни откуда не мигрировал IAR, а не FreeRTOS.
|
|
|
|
|
Sep 3 2008, 13:51
|
Частый гость
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141
|
Цитата(aaarrr @ Sep 3 2008, 17:39) Какие аппетиты??? Это память для ваших же задач. в настройках что я скопировал, чет многовато под кучу памяти выделяют. Цитата(aaarrr @ Sep 3 2008, 17:39) Правильно: разбираться не хотим, документацию (которой якобы нет) читать не хотим, будем крутить настройки. Или подождем, когда дядя Билли визард напишет? та его визардами только обезьян пугать разбираться хотим, там утрамбовано как-то не логично, по сути не вижу толковых документов, в основном API описаны. Цитата(aaarrr @ Sep 3 2008, 17:39) IAR, а не FreeRTOS. IAR ARM я 5.2 скачал, а FreeRTOS 5.0.2 где скачал не помню, файл называется FreeRTOSV5.0.2.zip
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|