Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 8051 ошибка линковки
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
sevstels
Собираю в IAR порт scmRTOS под СС2540.
Линкер не хочет подключать асм функции.
Что только не мудрил - не получается.. может у кого будут идеи как пофиксить.

Linking
Warning[w46]: External function "os_start" in module main (main.r51) has no global definition
Warning[w46]: External function "os_context_switcher" in module OS_Kernel (OS_Kernel.r51 ) has no global definition


dxp
QUOTE (sevstels @ Jul 6 2015, 12:49) *
Собираю в IAR порт scmRTOS под СС2540.
Линкер не хочет подключать асм функции.
Что только не мудрил - не получается.. может у кого будут идеи как пофиксить.

Linking
Warning[w46]: External function "os_start" in module main (main.r51) has no global definition
Warning[w46]: External function "os_context_switcher" in module OS_Kernel (OS_Kernel.r51 ) has no global definition

Возможные причины, вроде, три:

1) Линкер по какой-то причине не видит объектные файлы с этими функциями.
2) Функции в асме не декларированы как экспортируемые в глобальное пространство имён (у IAR это, как помню, с помощью public делается).
3) В cpp файлах имена импортируются без extern "C", что приводит к проблемам из-за манглинга имён.

Надо посмотреть настройки проекта и упомянутые места в порте.

Вообще, я полагал всегда, что если линкер не находит имя, на которое ссылается код, то это ошибка, а не предупреждение.
sevstels
Надо признать, у меня квалификации не хватило пофиксить.
Хотя "грызли всей семьёй" несколько дней.
Если есть желание посмотреть, могу скинуть в личку ссылку на проект, но он под последний IAR.

Изложенные 3 причины известны и проверены. Всё вроде правильно оформлено, дока пристально читалась и примеры изучались...
dxp
QUOTE (sevstels @ Jul 8 2015, 15:44) *
Надо признать, у меня квалификации не хватило пофиксить.
Хотя "грызли всей семьёй" несколько дней.
Если есть желание посмотреть, могу скинуть в личку ссылку на проект, но он под последний IAR.

Изложенные 3 причины известны и проверены. Всё вроде правильно оформлено, дока пристально читалась и примеры изучались...

Давайте, попробую тоже, вдруг получится. sm.gif
sevstels
Отослал. sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.