Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil, компиляция для EFM32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
JohnKorsh
Добрый день!
Не поможет ли кто разобраться с компиляцией прогамм для микроконтроллера EFM32G880 под IDE Keil?
Исходный текст автомвтически сформирован утилитой Simplicity.
Линковщик выдаёт ошибку: (точнее целых три однотипных ошибки)
.\Test.axf: Error: L6218E: Undefined symbol CMU_ClockEnable (referred from b_main.o).
В заголовке em_cmu.h объявлен прототип функции CMU_ClockEnable и в em_cmu.c её исходный текст.
Оба файла доступны IDE Keil.
Посмотрел листинг препроцессора - заголовок включён в текст для компиляции.
Не сталкивался ли кто? И как бороться?
jcxz
Вы сами-то понимаете, что пишете? Причём тут препроцессор, если ошибку выдаёт линкёр?
Смотрите какие объектные файлы поступают на вход линкера и есть-ли среди них нужный.
А также: в каком режиме компилите (си или си++) и как объявлен прототип функции (си или си++).
x893
Проверьте пример без всяких правок. Должен нормально собираться.
JohnKorsh
Спасибо, x893. Отвечу сам себе, может, кому пригодится. IDE Keil не достаточно, чтобы в исходный текст был вкдючён файл заголовка с прототипами функций. Файл с исходным текстом функуии надо добавлять в левом окне в группу компилируемых файлов.
toweroff
Цитата(JohnKorsh @ Mar 25 2014, 09:33) *
Спасибо, x893. Отвечу сам себе, может, кому пригодится. IDE Keil не достаточно, чтобы в исходный текст был вкдючён файл заголовка с прототипами функций. Файл с исходным текстом функуии надо добавлять в левом окне в группу компилируемых файлов.

а должно быть иначе? sm.gif
в хидерах прописан интерфейс к функциям, с этой точки зрения компилятор ошибки не видит
а вот то, что самого объектного модуля с кодом этих функций нет, - это уже линковщику и не нравится, на что он и ругается
KnightIgor
Цитата(JohnKorsh @ Mar 25 2014, 06:33) *
Спасибо, x893. Отвечу сам себе, может, кому пригодится. IDE Keil не достаточно, чтобы в исходный текст был вкдючён файл заголовка с прототипами функций. Файл с исходным текстом функуии надо добавлять в левом окне в группу компилируемых файлов.

Еще метод: скомпилировать всю Driver Lib от EFM32 в один *.LIB файл и включать его в проект, а не исходный текст.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.