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

 
 
 
Reply to this topicStart new topic
> Keil, компиляция для EFM32, Ошибки, выдаваемые линковщиком.
JohnKorsh
сообщение Mar 25 2014, 02:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Добрый день!
Не поможет ли кто разобраться с компиляцией прогамм для микроконтроллера 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.
Посмотрел листинг препроцессора - заголовок включён в текст для компиляции.
Не сталкивался ли кто? И как бороться?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 25 2014, 02:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Вы сами-то понимаете, что пишете? Причём тут препроцессор, если ошибку выдаёт линкёр?
Смотрите какие объектные файлы поступают на вход линкера и есть-ли среди них нужный.
А также: в каком режиме компилите (си или си++) и как объявлен прототип функции (си или си++).
Go to the top of the page
 
+Quote Post
x893
сообщение Mar 25 2014, 03:11
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Проверьте пример без всяких правок. Должен нормально собираться.
Go to the top of the page
 
+Quote Post
JohnKorsh
сообщение Mar 25 2014, 05:33
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Спасибо, x893. Отвечу сам себе, может, кому пригодится. IDE Keil не достаточно, чтобы в исходный текст был вкдючён файл заголовка с прототипами функций. Файл с исходным текстом функуии надо добавлять в левом окне в группу компилируемых файлов.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Mar 25 2014, 06:26
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



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

а должно быть иначе? sm.gif
в хидерах прописан интерфейс к функциям, с этой точки зрения компилятор ошибки не видит
а вот то, что самого объектного модуля с кодом этих функций нет, - это уже линковщику и не нравится, на что он и ругается
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Mar 25 2014, 08:44
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



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

Еще метод: скомпилировать всю Driver Lib от EFM32 в один *.LIB файл и включать его в проект, а не исходный текст.
Go to the top of the page
 
+Quote Post

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

 


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


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