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

 
 
 
Reply to this topicStart new topic
> Ошибка в цепочке заголовков. В конце: cmsis_armcc.h, указана ошибка неизвестное имя : __STATIC_INLINE
firstvald
сообщение Jun 16 2018, 17:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Одновременно получил две загадки.
В начале программных модулей, в поле слева, помечено красным крестиком строчка #include "stm32l4xx_hal.h"
Если идти по цепочке файлов, то попадаем в файл cmsis_armcc.h в котором красным выделены несколько строчек с пояснением expected identifier or '('. Место, которое не нравится, прыгает. Был момент, когда не нравилась одна строка. Начиная с какого-то момента не нравится несколько других. В данный момент, не нравится: #ifndef __NO_EMBEDDED_ASM
__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)
{
rev16 r0, r0
bx lr
}
#endif

не нравящееся слово выделено цветом. В файле ничего не трогал. Не думаю, что в этом какая-то ошибка - это что-то наведенное. Но что ? Мювижн 5 14 00 . Файл к которому приводит цепочка помечен как:
@file cmsis_armcc.h
* @brief CMSIS Cortex-M Core Function/Instruction Header File
* @version V4.30
* @date 20. October 2015



и беда на приходит одна:
в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o).





при этом, видно, что файл, в котором определен обработчик HAL_SPI_IRQHandler, компилируется.
И в самом файле он есть:





Вот упоминание нечто похожего. Решение было перейти на другой CMSIS
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 17 2018, 19:24
Сообщение #2


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(firstvald @ Jun 16 2018, 20:41) *
в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o).

Это ошибка не компиляции, а ошибка сборки (линковки).
Конкретно эта ошибка означает, что в одном из скомпилированных файлов упоминается некая функция HAL_SPI_IRQHandler, но линкер не может найти ее реализацию ни в одном из подключенных объектных файлов.
На будущее: префикс L перед кодом ошибки - ошибка линкера, C - соотв. ошибка компилятора.


по поводу первой "загадки":

C HAL-ом дела не имел и уже не собираюсь, но подозревая, что не помешает обновить все паки через Pack Installer на самые свежие версии.
Заодно поробуйте обновить Keil до самой свежей версии, поскольку, есть вероятность, что в относительно старой версии встроенного С-компилятора в keil 5.14 есть баги.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jun 18 2018, 06:56
Сообщение #3


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(firstvald @ Jun 16 2018, 20:41) *
__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)

Это такая особенность нынешних средств разработки. Файл парсится два раза - один раз это делает IDE, чтобы уметь подсвечивать-подсказывать, и второй раз это делает компилятор.
Ну и вот эту конструкцию парсер кейла не поддерживает. Если компилятор не выдаёт на это ошибок - проблем никаких нет.
Для красоты можно попробовать подобрать версии кейла/заголовка (может, поправили уже) или поредактировать его руками.

Цитата(firstvald @ Jun 16 2018, 20:41) *
в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o).

Волшебный ребилдол (rebuild all) пробовали?


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Forger
сообщение Jun 18 2018, 07:03
Сообщение #4


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(esaulenka @ Jun 18 2018, 09:56) *
Волшебный ребилдол

OFF: biggrin.gif




--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th April 2024 - 09:22
Рейтинг@Mail.ru


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