Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с SystemInit()
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Вячик13
Имеется IAR 6.50 для ARM. Тестовый проект для STM32F103VCT6 (почти пустой). В нём имеется 3 файла: main.cpp, main.h и startup_stm32f10x_hd.s.

При компиляции выдаётся сообщение линкера:

Error[Li005]: no definition for "SystemInit" [referenced from E:\IARProjects\Test\Debug\Obj\startup_stm32f10x_hd.o]

В main.cpp имеется тело функции void SystemInit(void). В main.h имеется объявление этой функции. В ассемблерном файле startup_stm32f10x_hd.s есть объявление "EXTERN SystemInit".

Почему ругается линкер? Может нужно что-то в настройках проекта указать?
Сергей Борщ
Цитата(Вячик13 @ Sep 14 2015, 14:43) *
В main.cpp имеется тело функции void SystemInit(void).
....
Почему ругается линкер? Может нужно что-то в настройках проекта указать?
Укажите extern "C" перед телом функции void SystemInit(void).
Вячик13
Цитата(Сергей Борщ @ Sep 14 2015, 15:12) *
Укажите extern "C" перед телом функции void SystemInit(void).


Указал - то же самое.
adnega
Я не спец по SPL, но может system_stm32f10x.c не хватает?
Вячик13
Цитата(adnega @ Sep 14 2015, 16:07) *
Я не спец по SPL, но может system_stm32f10x.c не хватает?


Нет. В этом файле просто содержится функция SistemInit, но у меня она уже есть своя.
aaarrr
Цитата(Вячик13 @ Sep 14 2015, 16:20) *
Нет. В этом файле просто содержится функция SistemInit, но у меня она уже есть своя.

Так все же своя - это SystemInit или SistemInit? sm.gif
Вячик13
Сергей Борщ, приношу Вам свои извинения. Ваш совет оказался верным. Просто я по невнимательности Вместо System написал Systen.

Всем спасибо. Вопрос закрыт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.