Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/17: Рейтинг темы: голосов - 17, средняя оценка - 4.65
imbid
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 7
1

AVR Toolchain проблемы при компиляции - ошибка в либе?

02.12.2012, 21:49. Просмотров 3197. Ответов 3
Метки нет (Все метки)

Тулчейн avr-toolchain-installer-3.3.0.710.
При компиляции проекта с чужими библиотеками (v-usb cdc и др.) появляется ошибка - линкер не находит некую функцию __strlen_P, ссылка на которую есть в хедере pgmsposi.h.
Прототип этой ф-и объявлен, но в либах ее похоже нету.
Откатился на WinAVR-20100110 - там такой ошибки нету.
Это что, инженегры Atmel накосячили, как только WinAVR попал в их кривые индусские ручонки?
Если есть искушенные в этих вопросах - подскажите плиз.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 21:49
Ответы с готовыми решениями:

Ошибка при компиляции AVR Studio 4 & WinAVR
Сваял Hello World: // ok #include <util/delay.h> #include <avr/iotn13.h> void main(viod) {...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

Проблемы Toolchain при использовании float и математич. опер
AVR STtudyo4+Toolchain. Atmega128 Описал функцию: int16_t w(uint16_t H, uint16_t S, uint16_t L,...

Avr toolchain
Решил поиграться с AVR. Нашел avr toolchain. я так понял, что это бесплатный пакет для разработки....

AVR toolchain Linux
Кто-то пользовался Atmel AVR Toolchain 3.3.2 for Linux не нашел как его использовать, бинарники,...

3
Bytt
0 / 0 / 0
Регистрация: 22.08.2009
Сообщений: 525
03.12.2012, 13:04 2
Цитата Сообщение от imbid
Тулчейн avr-toolchain-installer-3.3.0.710.
При компиляции проекта с чужими библиотеками (v-usb cdc и др.) появляется ошибка - линкер не находит некую функцию __strlen_P, ссылка на которую есть в хедере pgmsposi.h.
Прототип этой ф-и объявлен, но в либах ее похоже нету.
Откатился на WinAVR-20100110 - там такой ошибки нету.
Это что, инженегры Atmel накосячили, как только WinAVR попал в их кривые индусские ручонки?
Если есть искушенные в этих вопросах - подскажите плиз.
в чужих библиотеках, может имеет смысл сначала разобраться в проблеме? Как именно описан прототип функции? Как компилятор формирует ссылки на глобальные переменные? Какие реально функции имеются в библиотеке? Динная проблема возникает из того факта, что некоторые компиляторы при генерации ссылок к глобальным переменным (функциям) могут добавлять к именам некоторый символ(ы). Например имеется стандартна функция, которая описана как
Код
int strlen(char *ptr)
Если компилятор добавляет к имени функции свой символ (чаще всего символ _), то в библиотеке должна быть функция с именем _strlen. Если библиотека "чужая" и данное соглашение не выполняется (там имеется функция strlen), то линкер требуемой функции просто не найдет. Или нет?
0
imbid
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 7
03.12.2012, 16:40 3
Я наверное непонятно объяснил. Файл pgmsposi.h принадлежит библиотеке AVR-CLIB из комплекта тулчейна 3.3.0.710. В ней объявлен прототип __strlen_P(). При компиляции линкер не находит такой функции в объектном файле из того же тулчейна. А в версии WinAVR 20100110 в pgmsposi.h такой функции (я имею в виду __strlen_P) нету вообще. Так что это не компилятор добавляет подчеркивание, это так функция объявлена. А сторонняя либа просто использует какую-то ф-ю, в которой есть вызов этой __strlen_P, возможно это функция strlen_P, которая возвращает длину строки из памяти программ.
0
Bytt
0 / 0 / 0
Регистрация: 22.08.2009
Сообщений: 525
03.12.2012, 19:21 4
Вот вы и разберитесь. И потом, я не понял AVR-CLIB для какого компилятора: IAR или WinAVR?
0
03.12.2012, 19:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2012, 19:21

WinAVR или AVR Toolchain
Какой из этих компиляторов предпочтительнее использовать? WinAVR уже не развивается, вроде....

Баги AVR Toolchain или бросать программирование?
Здравствуйте форумчане, никогда не думал, что буду просить помощи у людей, привык до всего...

Как прикрутить новый AVR Toolchain к Atmel Studio 6 ?
собственно сабж 6я студия упорно не хочет видеть новый AVR Toolchain 3.4.1.1195, говорит, что у...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.