Затмение библиотеки HAL stm32

Я использую Eclipse IDE с плагином ARM для разработки проекта на моем F4-Discovery. Я создал пустой шаблонный проект и начал использовать функции из библиотек HAL stm32, и я получил ошибку вроде:

неопределенная ссылка на HAL_DMA_Init

неопределенная ссылка на HAL_UART_Init

Необходимые файлы.c и.h находятся в нужных каталогах, но Eclipse распознает только половину файлов.c, а остальные вычеркнуты. Это изображение объясняет мою проблему. В чем дело? Благодарю.

2 ответа

Решение

Вам необходимо добавить включаемый путь к Eclipse CDT. Предполагая, что это управляемая сборка (в отличие от использования внешнего Makefile), вам нужно следовать указаниям здесь.

Добавление путей включения и символов в управляемую систему сборки

Для проектов CDT вы можете определить пути включения и символы препроцессора для синтаксического анализатора. Это позволяет анализатору понять содержание исходного кода C/C++, чтобы вы могли более эффективно использовать функции поиска и завершения кода.

Если автообнаружение включено, после завершения сборки все обнаруженные пути и символы будут отображаться в разделе Обнаруженные пути. Вы также можете определить свойства для каждого проекта в представлениях C/C++ Projects или Navigator.

Чтобы добавить включенные пути и символы:

Чтобы установить свойства для вашего проекта, щелкните правой кнопкой мыши ваш проект CDT и выберите Свойства. В качестве альтернативы, чтобы задать свойства для конкретного исходного файла в вашем проекте, щелкните правой кнопкой мыши исходный файл в вашем проекте make и выберите "Свойства".

  1. Разверните C/C++ General и выберите Paths and Symbols.

  2. Нажмите здесь, чтобы увидеть иллюстрацию (отображается в отдельном окне).

  3. Нажмите кнопку Добавить, чтобы определить новый элемент (Включить путь, Символ, Путь к библиотеке и т. Д.).

  4. Нажмите "Изменить", чтобы изменить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.).
  5. Нажмите "Удалить", чтобы удалить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.).
  6. Нажмите "Экспорт", чтобы экспортировать выбранный элемент ("Путь", "Символ", "Путь к библиотеке" и т. Д.).
  7. Нажмите "Удалить", чтобы удалить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.) Из списка экспорта.
  8. Нажмите "Переместить вверх" и "Переместить вниз", чтобы установить порядок элементов ("Включить пути", "Библиотечные пути" и т. Д.).

В свойствах (Alt+Enter) файла, который вам нужен, снимите флажок "Исключить ресурс из сборки". как показано в этой ссылке

"Неопределенная ссылка", вероятно, является ошибкой компоновщика. Вы не компилируете фактический исходный код библиотеки, которую пытаетесь использовать.

Идти к system > src > stm32f4-hal затем щелкните правой кнопкой мыши файл библиотеки, который вы пытаетесь включить. Снимите флажок "исключить из сборки".

Другие вопросы по тегам