Перейти к содержанию
    

Проблема с SystemInit()

Имеется 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".

 

Почему ругается линкер? Может нужно что-то в настройках проекта указать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В main.cpp имеется тело функции void SystemInit(void).

....

Почему ругается линкер? Может нужно что-то в настройках проекта указать?

Укажите extern "C" перед телом функции void SystemInit(void).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не спец по SPL, но может system_stm32f10x.c не хватает?

 

Нет. В этом файле просто содержится функция SistemInit, но у меня она уже есть своя.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. В этом файле просто содержится функция SistemInit, но у меня она уже есть своя.

Так все же своя - это SystemInit или SistemInit? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сергей Борщ, приношу Вам свои извинения. Ваш совет оказался верным. Просто я по невнимательности Вместо System написал Systen.

 

Всем спасибо. Вопрос закрыт.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...