Страница 1 из 1

Ошибка L6218E в Keil, что ещё нужно добавить в проект?

Добавлено: Вс ноя 18, 2012 13:38:26
TripleKill
Решил заюзать фурье-преобразование из библиотек CMSIS, добавил файлы, начинаю компилировать, выходит следующее:

Код: Выделить всё

Test.axf: Error: L6218E: Undefined symbol arm_cfft_radix4_init_q31 (referred from arm_rfft_init_q31.o).
Test.axf: Error: L6218E: Undefined symbol arm_bitreversal_q31 (referred from arm_rfft_q31.o).
Test.axf: Error: L6218E: Undefined symbol arm_radix4_butterfly_inverse_q31 (referred from arm_rfft_q31.o).
Test.axf: Error: L6218E: Undefined symbol arm_radix4_butterfly_q31 (referred from arm_rfft_q31.o).
Указанные процедуры содержатся в arm_math.h, он тоже подключен к проекту, и открывается нормально вообще из любого места кода, где упоминается. Почему ж тогда IDE ругается? Ещё что-то нужно добавить?

Re: Ошибка L6218E в Keil, что ещё нужно добавить в проект?

Добавлено: Вс ноя 18, 2012 14:20:08
brutal
Скорее всего в файле asm_math.h содержатся не реализации этих функций, а только прототипы, т.е. объявления.
Нужно в проект подключать файлы с расширением .c где и содержится реализация функций, на которые ругается компилятор.

Re: Ошибка L6218E в Keil, что ещё нужно добавить в проект?

Добавлено: Вс ноя 18, 2012 15:55:50
coredumped
Нужно добавить соответствующий файл к проекту. Это может быть исходник (.c .s итп) или скомпилированная библиотека (.lib) В Вашем случае, проще взять готовый .lib файл, чем собирать либы CMSIS из исходников. Какой именно файл нужно подключить, читайте в доке на CMSIS.