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

 
 
> Проблема с SystemInit()
Вячик13
сообщение Sep 14 2015, 11:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



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

Почему ругается линкер? Может нужно что-то в настройках проекта указать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Сергей Борщ
сообщение Sep 14 2015, 12:12
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Вячик13
сообщение Sep 14 2015, 12:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



Цитата(Сергей Борщ @ Sep 14 2015, 15:12) *
Укажите extern "C" перед телом функции void SystemInit(void).


Указал - то же самое.
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 14 2015, 13:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Я не спец по SPL, но может system_stm32f10x.c не хватает?
Go to the top of the page
 
+Quote Post
Вячик13
сообщение Sep 14 2015, 13:20
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



Цитата(adnega @ Sep 14 2015, 16:07) *
Я не спец по SPL, но может system_stm32f10x.c не хватает?


Нет. В этом файле просто содержится функция SistemInit, но у меня она уже есть своя.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 14 2015, 13:22
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



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

Так все же своя - это SystemInit или SistemInit? sm.gif
Go to the top of the page
 
+Quote Post
Вячик13
сообщение Sep 14 2015, 13:45
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 17-01-12
Пользователь №: 69 604



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

Всем спасибо. Вопрос закрыт.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:47
Рейтинг@Mail.ru


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