Затмение библиотеки 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 и выберите "Свойства".
Разверните C/C++ General и выберите Paths and Symbols.
Нажмите здесь, чтобы увидеть иллюстрацию (отображается в отдельном окне).
Нажмите кнопку Добавить, чтобы определить новый элемент (Включить путь, Символ, Путь к библиотеке и т. Д.).
- Нажмите "Изменить", чтобы изменить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.).
- Нажмите "Удалить", чтобы удалить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.).
- Нажмите "Экспорт", чтобы экспортировать выбранный элемент ("Путь", "Символ", "Путь к библиотеке" и т. Д.).
- Нажмите "Удалить", чтобы удалить выбранный элемент ("Включить путь", "Символ", "Путь к библиотеке" и т. Д.) Из списка экспорта.
- Нажмите "Переместить вверх" и "Переместить вниз", чтобы установить порядок элементов ("Включить пути", "Библиотечные пути" и т. Д.).
В свойствах (Alt+Enter) файла, который вам нужен, снимите флажок "Исключить ресурс из сборки". как показано в этой ссылке
"Неопределенная ссылка", вероятно, является ошибкой компоновщика. Вы не компилируете фактический исходный код библиотеки, которую пытаетесь использовать.
Идти к system > src > stm32f4-hal
затем щелкните правой кнопкой мыши файл библиотеки, который вы пытаетесь включить. Снимите флажок "исключить из сборки".