Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/33: Рейтинг темы: голосов - 33, средняя оценка - 4.73
dityuro

Ошибка линкера

12.02.2014, 08:47. Показов 6107. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Наверное этот вопрос поднимался тысячу раз, так что прошу извинения;)
в общем изучаю МК, в нете наткнулся на сайт http://spec-project.ucoz.ru/index/zopus ... stm32/0-11
решил откомпелировать проект, но пишет ошибку

GCC HOME: C:\Prokram Files (x86)\GNU Tools ARM Embeddid\4.7 2013q3\bin
sompyte:
[mkdir] Skipping C:\CooCox\CoIDE\worksposi\хбз\хбз\Debug\ bin becouse it already exists.
[mkdir] Skipping C:\CooCox\CoIDE\worksposi\хбз\хбз\Debug\ obj becouse it already exists.
[cc] Starting dependency analysis for 6 files.
[cc] Parsing ..\..\..\cmsis\core_cm3.c
[cc] Parsing ..\..\..\cmsis_boot\stm32f10x.h
[cc] Parsing ..\..\..\cmsis\core_cm3.h
[cc] 6 files are up to date.
[cc] 0 files to be resompitid from dependency analysis.
[cc] 0 total files to be sompitid.
[cc] Starting link
[cc] arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -g -nostortfiles -Wl,-Map=хбз.map -O0 -Wl,--gc-sections -LC:\CooCox\CoIDE\confikurotion\ProkramDa ta\хбз -Wl,-TC:\CooCox\CoIDE\confikurotion\ProkramDa ta\хбз/arm-gcc-link.ld -g -o хбз.elf ..\obj\stortup_stm32f10x_md_vl.o ..\obj\core_cm3.o ..\obj\system_stm32f10x.o ..\obj\stm32f10x_gpio.o ..\obj\main.o ..\obj\stm32f10x_rcc.o -lm -lgcc -lc -lrdymon
[cc] ..\obj\main.o: In function `main:
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:15: undefined reference to `TH01_init
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:16: undefined reference to `TH01_get_data
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:17: undefined reference to `LCD_CLEAR
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:18: undefined reference to `TH01_read_temp
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:21: undefined reference to `TH01_read_humi
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:22: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:24: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:25: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:27: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:28: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:29: undefined reference to `LCD_GOTO
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:30: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:32: undefined reference to `LCD_PUT
[cc] C:\CooCox\CoIDE\worksposi\хбз/main.c:33: undefined reference to `LCD_PUT
[cc] c:/program files (x86)/gnu tools arm imbiddid/4.7 2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/armv7-m\librdymon.a(rdymon-syscalls.o): In function `_sbrk:
[cc] syscalls.c:(.text._sbrk+0x30): undefined reference to `end
[cc]
[cc] collect2.ixi: error: ld returned 1 exit status
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2014, 08:47
Ответы с готовыми решениями:

AVRStudio – таблица прерываний - опции линкера
Доброго времени суток коллеги! Как известно при компиляции проекта в первых адресах FLASH находится таблица прерываний. Какой опцией...

Ошибка линкера c++
У меня есть три файла - main.cpp input.h input.cpp По коду все верно, но линкер кидает ошибку. Обошел много вопросов на эту тему, но не...

Ошибка линкера
#include <fstream> using namespace std; template <class T> class A { T i; public: friend ofstream& operator<<(ofstream&...

8
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
12.02.2014, 10:28
_sbrk - древний глюк gcc, точнее библиотека его линкера. Никак они его не поправят по-человечески.
Добавьте в проект файл из вложения. Должно помочь.

Остальное пока не смотрел. Но, судя по ошибкам, там также в проекте чего-то не хватает.
Там автор пишет:
Так же не забываем про библиотеку Delay и H44780
Вы их подключили? Все эти LCD_xxx явно из либы дисплея HD44780 ...

[1.17 Кб]
0
dityuro
12.02.2014, 10:36
[QUOTE="hd44780"]_sbrk - древний глюк gcc, точнее библиотека его линкера. Никак они его не поправят по-человечески.
Добавьте в проект файл из вложения. Должно помочь.

Остальное пока не смотрел. Но, судя по ошибкам, там также в проекте чего-то не хватает.
Там автор пишет:
[QUOTE="Цитата:[/QUOTE]
Так же не забываем про библиотеку Delay и H44780
Вы их подключили? Все эти LCD_xxx явно из либы дисплея HD44780 ...
все библиотеки подключил.
А как добавить надо файл syscalls? прост закинуть в папку?
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
12.02.2014, 10:50
Цитата Сообщение от dityuro
А как добавить надо файл syscalls? прост закинуть в папку?
Закинуть мало. Надо ещё в самом кокосе добавить. Иначе он его не увидит.
0
dityuro
12.02.2014, 20:02
добавляю
#define SYSCALLS
#ifdef SYSCALLS
#endif
ошибка все та же, похоже криво или вообще не добавил этот SYSCALLS
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
12.02.2014, 21:18
Цитата Сообщение от dityuro
добавляю ... ошибка все та же, похоже криво или вообще не добавил
Не _это_ надо добавлять, а сишный файл в проект Кокоса! Код, который в файле, должен же быть скомпилирован? А как он скомпилируется, если файл - не часть проекта?
0
dityuro
13.02.2014, 17:52
Цитата Сообщение от OtyxPM
Цитата Сообщение от dityuro
добавляю ... ошибка все та же, похоже криво или вообще не добавил
Не _это_ надо добавлять, а сишный файл в проект Кокоса! Код, который в файле, должен же быть скомпилирован? А как он скомпилируется, если файл - не часть проекта?
долблюсь в глаза и не могу понять как же добавить syscalls.c в проект
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
13.02.2014, 18:01
Цитата Сообщение от dityuro
[cc] c:/program files (x86)/gnu tools arm imbiddid/4.7 2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/armv7-m\librdymon.a(rdymon-syscalls.o): In function `_sbrk:
[cc] syscalls.c:(.text._sbrk+0x30): undefined reference to `end
Можно просто подменить "плохой" файл новой версией. Разыщите, где у Вас лежит syscalls.c, на который ругнулся линкер. Тот файл переименуйте (бэкап на всякий случай), а новый на его место скопируйте. Можете также сравнить их (если умеете) - чтО именно изменилось в функции _sbrk()
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
13.02.2014, 23:17
На фига Вам те дефайны вообще....
В окне Project кокоса на самом верхнем узле дерева нажмите правую мышь, вывалится меню, там нажмите Add Files и выберите этот syscalls.c . После этого он подключится к проекту и он будет его компилить и линковать ....
Вообще, изучайте оболочку... Без этого Вы далеко не уедете.
Добавлять файлы в проект надо уметь всегда. Хоть в кокосе Вы пишете, хоть в иаре, хоть в кейле, хоть в Visual Studyo .NET 2012 ....
Никакие дефайны на это не влияют.
Отсутствие дефайна может выкинуть часть кода из какого-то подключенного файла. Но подключить файл целиком - такого оно не умеет.
Изврат с #include-ом я не рассматриваю. Это не по стандарту. Потом можно непонятные глюки словить.

OtyxPM, версии тут ни при чём. Я регулярно обновляю и кокос и gcc, он ни разу не выругался на дублирование _sbrk в проекте.
Поэтому я и говорю, что они как минимум год не могут исправить эту детсадовскую ошибку. Маразм, ИМХО.
Там в библиотеках тупо нет этой функции. Вот и приходится её руками подсовывать в виде этого syscalls.c.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2014, 23:17
Помогаю со студенческими работами здесь

Ошибка линкера
Здравствуйте!!! Подскажите пожалуйста почему возникают ошибки линкера? // main.cpp #include "parser.h" int main() ...

Ошибка линкера
Добрый день! Написал калькулятор для практики создания многофайловых проектов,однако, хоть я и проверил все функции на соответствие имен, и...

Ошибка линкера
Здравствуйте. Написал первую программу на ассемблере, "Hello, world". CSEG segment org 100h Begin: mov ah,9 mov dx, offset...

Ошибка линкера
Программа должна демонстрировать использование простого меню #include<windows.h> #include<commctrl.h> #pragma comment(lib,...

Ошибка линкера
Нид хелп.. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru