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

 
 
 
Reply to this topicStart new topic
> ошибка на этапе линковки :-(, ARM
Gerasimov
сообщение Jan 16 2008, 08:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 23-10-07
Пользователь №: 31 648



Здравствуйте!

IAR C/C++ Compiler for ARM
4.42A Kickstart (4.42.1.301)

Осваиваю uIP. Есть демо проект с исходниками uip_webserver.
Он собирается, прошивается и работает.
С целью модификации, я скопировал его в другую папку
при проходе компилятором, всё ок, когда очередь доходит до линкера, вываливает следующее:
Error[e46]: Undefined external "__write" referred in ?putchar ( C:\Program Files\IAR\arm\LIB\dl4tptinl8n.r79 )
смотрел что и как в настройках исходного проекта проекта, разници не нашёл. Устал уже бится, помогите!
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 16 2008, 09:29
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Gerasimov @ Jan 16 2008, 11:18) *
Undefined external "__write"

Так вы должны определить функции ввода, вывода для вашего устройства
Посомтрите раздел IMPLEMENTING LOW-LEVEL CHARACTER INPUT AND
OUTPUT в даташите на компилер.

Сообщение отредактировал KRS - Jan 16 2008, 09:31
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Jan 16 2008, 10:04
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(Gerasimov @ Jan 16 2008, 11:18) *
Здравствуйте!

IAR C/C++ Compiler for ARM
4.42A Kickstart (4.42.1.301)

Осваиваю uIP. Есть демо проект с исходниками uip_webserver.
Он собирается, прошивается и работает.
С целью модификации, я скопировал его в другую папку
при проходе компилятором, всё ок, когда очередь доходит до линкера, вываливает следующее:
Error[e46]: Undefined external "__write" referred in ?putchar ( C:\Program Files\IAR\arm\LIB\dl4tptinl8n.r79 )
смотрел что и как в настройках исходного проекта проекта, разници не нашёл. Устал уже бится, помогите!

А откуда у Вас взялась функция putchar() в проекте uIP?
В моем uIP - вызовов этой функции нету и не было...
Go to the top of the page
 
+Quote Post
Gerasimov
сообщение Jan 16 2008, 11:31
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 16
Регистрация: 23-10-07
Пользователь №: 31 648



Цитата(Николай Z @ Jan 16 2008, 13:04) *
А откуда у Вас взялась функция putchar() в проекте uIP?
В моем uIP - вызовов этой функции нету и не было...

Я раскоментарил putchar , только что на нём спотыкался, теперь вылез puts
по исходникам раскиданы printf вывода на uart дебажных сообщений, imho для них нужен puts.

не могу понять проблемы, я всего лишь перенёс проект на другой диск, все пути в настройках проекта заданы относительные. help.gif


описал puts в main
Код
int puts (const char *s){
  return(0); // 8-)
}

и линкер успокоился, проект собрался... но непонятки остались (uip юзает string.h а там прописаны и putchar и puts вот они линкеру и потребовались).
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 16 2008, 11:44
Сообщение #5


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Gerasimov @ Jan 16 2008, 14:31) *
(uip юзает string.h а там прописаны и putchar и puts вот они линкеру и потребовались).

Одно дело описаны, а другое используются.
Линкер выдает ошибку только в том случае когда функция реально используется на нее есть реальные вызовы и она должна попасть в выходной файл.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:51
Рейтинг@Mail.ru


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