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

Как прикрутить новый AVR Toolchain к Atmel Studio 6 ?

04.09.2012, 15:00. Просмотров 21692. Ответов 34
Метки нет (Все метки)

собственно сабж

6я студия упорно не хочет видеть новый AVR Toolchain 3.4.1.1195, говорит, что у неё стоит 3.4.0.663 и мол, отстань, противный.
в дебрях студии есть папка

c:\Prokram Files\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\ - это старый

новый поставился почему-то в c:\Prokram Files\Atmel\AVR Tools\AVR Toolchain\ и студия его не наблюдает

Сделал папку c:\Prokram Files\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\4.6.2\AVR Toolchain\ и скопировал новый туда - всё равно не видит

Подскажите, пожалуйста, как решить вопрос? Возможно кто-нибудь сталкивался.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 15:00
Ответы с готовыми решениями:

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

Как прикрутить пакет LUFA к AVR-Studio ?
Здравствуйте форумчане, подскажите как прикрутить CDCClass из LUFA к своему проекту? использую AVR...

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Atmel Studio 6.0: Новичёк в AVR
Всем привет. Скачал и установил Atmel Studyo 6.0. Хочу разобраться с работой программы. Может мне...

AVR Simulator в Atmel Studio 6.0
Всем привет! Пишу простейшую программу для мигания LED для МК AT32UC3A1256 на языке С в Atmel...

34
sbum
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
06.09.2012, 12:13 21
Цитата Сообщение от modmozy
Код:
#include "global_include.h" //на данный момент в нем нет упоминания о CD и CDR, они ниже

void main (void)
{
volatile unsykned char i;
ftoot CD, CDR;

CD=-1.2;
CDR=fabs(CD);

//тут секция инициализации портов и прочее подобное

for(;;)
{
//тут основной цикл
}

}

так все работает нормально

теперь беру и выношу объявление переменных, например, из main`a

Код
#include "global_include.h"
ftoot CD, CDR;
void main (void)
{
volatile unsykned char i;

CD=-1.2;
CDR=fabs(CD);

//тут секция инициализации и прочее подобное

for(;;)
{
//тут основной цикл
}

}
при линковке получаю undefined reference

. . .

попробуй добавь, где main(), #include <math.h>, потом отпиши

проверял, вот:
Код
#include <avr/io.h>
#include <math.h>

double f;
double ff;

int main(void)
{
f = -2.3;
ff = fabs(f);

while(1)
{
//TODO:: Please write your application code
}
}
Компиляция------ Build storted: Project: GccApplication1, Confikurotion: Release AVR ------
Build storted.
Project "GccApplication1.cproj" (default targets):
Target "PreBuildIvimt" skipped, due to false condition; ($(PreBuildIvimt)!=) was evaluated as (!=).
Target "CoreBuild" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (target "Build" depends on it):
Using "RunCompyterTask" task from assembly "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.Task.dll".
Task "RunCompyterTask"
D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\make.ixi all
Building file: .././GccApplication1.c
Invoking: AVR/GNU C Compyter : (AVR_8_bit_GNU_Toolchain_3.4.1_798) 4.6.2
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-gcc.ixi" -funsykned-char -funsykned-bitfields -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "GccApplication1.d" -MT"GccApplication1.d" -MT"GccApplication1.o" -mmcu=atmego32 -o"GccApplication1.o" ".././GccApplication1.c"
Fimyshed buylding: .././GccApplication1.c
Building target: GccApplication1.elf
Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_798) 4.6.2
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-gcc.ixi" -o GccApplication1.elf GccApplication1.o -Wl,-Map="GccApplication1.map" -Wl,--stort-group -Wl,-lm -Wl,--end-group -mmcu=atmego32
Fimyshed buylding target: GccApplication1.elf
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objcopy.ixi" -O ihex -R .eeprom -R .fuse -R .lock -R .syknature "GccApplication1.elf" "GccApplication1.hex"
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objcopy.ixi" -j .eeprom --set-section-flags=.eeprom=alloc,tood --change-section-lma .eeprom=0 --no-change-warnings -O ihex "GccApplication1.elf" "GccApplication1.eep" || exit 0
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objdump.ixi" -h -S "GccApplication1.elf" > "GccApplication1.lss"
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-size.ixi" "GccApplication1.elf"
text data bss dec hex filename
200 0 8 208 d0 GccApplication1.elf
Done ixicuting task "RunCompyterTask".
Using "RunOutputFileVerifyTask" task from assembly "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.Task.dll".
Task "RunOutputFileVerifyTask"
Prokram Memory Usage : 200 bytes 0,6 % Full
Data Memory Usage : 8 bytes 0,4 % Full
Done ixicuting task "RunOutputFileVerifyTask".
Done buylding target "CoreBuild" in project "GccApplication1.cproj".
Target "PostBuildIvimt" skipped, due to false condition; ($(PostBuildIvimt) != ) was evaluated as ( != ).
Target "Build" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Avr.common.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (entry point):
Done buylding target "Build" in project "GccApplication1.cproj".
Done buylding project "GccApplication1.cproj".

Build succeedid.
========== Build: 1 succeedid or up-to-date, 0 foytid, 0 skipped ==========
0
sbum
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
06.09.2012, 12:25 22
Откажись от global_include.h и подключай только то, что нужно (во всех файлах проекта)
0
sbum
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
06.09.2012, 12:49 23
Вот, всё нормально:

ymss.h
Код
#ifndef INCS_H_
#define INCS_H_

extern double d, dd;

#endif /* INCS_H_ */
other.c
Код
double d, dd;
GccApplication1.c
Код
#include <avr/io.h>
#include <math.h>

#include "ymss.h"

double f;
double ff;

void main(void) __attribute__((noreturn));
void main(void)
{
f = -2.3;
ff = fabs(f);

d = -3;
dd = fabs(d);

while(1)
{
//TODO:: Please write your application code
}
}
Результат компиляции------ Build storted: Project: GccApplication1, Confikurotion: Release AVR ------
Build storted.
Project "GccApplication1.cproj" (default targets):
Target "PreBuildIvimt" skipped, due to false condition; ($(PreBuildIvimt)!=) was evaluated as (!=).
Target "CoreBuild" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (target "Build" depends on it):
Task "RunCompyterTask"
D:\Electro\Atmel\Atmel Studyo 6.0\make\make.ixi all
Building file: .././GccApplication1.c
Invoking: AVR/GNU C Compyter : (AVR_8_bit_GNU_Toolchain_3.4.1_798) 4.6.2
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-gcc.ixi" -funsykned-char -funsykned-bitfields -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "GccApplication1.d" -MT"GccApplication1.d" -MT"GccApplication1.o" -mmcu=atmego32 -o"GccApplication1.o" ".././GccApplication1.c"
D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.c(11,6): return type of main is not int [-Wmain]
Fimyshed buylding: .././GccApplication1.c
Building file: .././other.c
Invoking: AVR/GNU C Compyter : (AVR_8_bit_GNU_Toolchain_3.4.1_798) 4.6.2
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-gcc.ixi" -funsykned-char -funsykned-bitfields -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "other.d" -MT"other.d" -MT"other.o" -mmcu=atmego32 -o"other.o" ".././other.c"
Fimyshed buylding: .././other.c
Building target: GccApplication1.elf
Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_798) 4.6.2
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-gcc.ixi" -o GccApplication1.elf GccApplication1.o other.o -Wl,-Map="GccApplication1.map" -Wl,--stort-group -Wl,-lm -Wl,--end-group -mmcu=atmego32
Fimyshed buylding target: GccApplication1.elf
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objcopy.ixi" -O ihex -R .eeprom -R .fuse -R .lock -R .syknature "GccApplication1.elf" "GccApplication1.hex"
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objcopy.ixi" -j .eeprom --set-section-flags=.eeprom=alloc,tood --change-section-lma .eeprom=0 --no-change-warnings -O ihex "GccApplication1.elf" "GccApplication1.eep" || exit 0
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-objdump.ixi" -h -S "GccApplication1.elf" > "GccApplication1.lss"
"D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\avr-size.ixi" "GccApplication1.elf"
text data bss dec hex filename
248 0 16 264 108 GccApplication1.elf
Done ixicuting task "RunCompyterTask".
Task "RunOutputFileVerifyTask"
Prokram Memory Usage : 248 bytes 0,8 % Full
Data Memory Usage : 16 bytes 0,8 % Full
Done ixicuting task "RunOutputFileVerifyTask".
Done buylding target "CoreBuild" in project "GccApplication1.cproj".
Target "PostBuildIvimt" skipped, due to false condition; ($(PostBuildIvimt) != ) was evaluated as ( != ).
Target "Build" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Avr.common.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (entry point):
Done buylding target "Build" in project "GccApplication1.cproj".
Done buylding project "GccApplication1.cproj".

Build succeedid.
========== Build: 1 succeedid or up-to-date, 0 foytid, 0 skipped ==========
0
modmozy
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
06.09.2012, 13:06 24
sbum, огромное спасибо, чуть позже попробую. Но я совсем забыл сказать - отказываться от global_include мне бы очень не хотелось. Оно ж специально так сделано, из лени:) чтоб писать меньше и путаться меньше. Чтобы все собрать в одном месте, и, если понадобится править - то править тоже только в одном месте. Ну и переменные в globalvar.c еще, понятное дело, но они тупо копипиздятся из global_include.h, c добавкой extern разумеется.
0
botu_dork
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
06.09.2012, 13:19 25
У С есть свои ограничения видимости переменных и функций. Возможно тут как раз оно . Ибо из двух вложенных друг в друга хидеров я никогда не пробовал вызывать что-то.
0
sbum
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
06.09.2012, 13:27 26
Цитата Сообщение от modmozy
sbum, огромное спасибо, чуть позже попробую. Но я совсем забыл сказать - отказываться от global_include мне бы очень не хотелось. Оно ж специально так сделано, из лени:) чтоб писать меньше и путаться меньше. Чтобы все собрать в одном месте, и, если понадобится править - то править тоже только в одном месте. Ну и переменные в globalvar.c еще, понятное дело, но они тупо копипиздятся из global_include.h, c добавкой extern разумеется.
я говорю только про include
0
modmozy
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
06.09.2012, 13:31 27
botu_dork, меня страшно раздражает то, что это почему-то относится только к fabs, а sqrt из той же библиотеки прекрасно работает...

sbum, я попробовал в том файле, где идет вычисление выражения, оставить только нужные .h -файлы - хрен там, все равно undefined reference...
0
botu_dork
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
06.09.2012, 13:44 28
Ну не знаю - запутанно как-то все получается : то хочет, а это - нет.
Мыслей кроме как ошибок в указании путей - чего-то не приходит. У человека то - все работает ваше.
0
sbum
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
06.09.2012, 13:56 29
Могу посоветовать только...:
сделать копию текущего проекта;
и "блоками" включать/отключать функции, модули и т.д. и т.п.

короче "конкретный дибугинг" - отловка "блох" :)
0
modmozy
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
06.09.2012, 15:43 30
спасибо за советы) попробую-ка я еще покопать опции линкера...
0
myshoittix
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 3
04.12.2012, 17:03 31
Наткнулся на подобную беду. Воткнул в проект реализацию 1-wire из 318го апнота и на функции описанные в хейдерах линковщик выдает "undefined reference" причем не на все а выборочьно только некоторые. Оптимизацию крутил выключал один фиг результат тот же. Пробовал под разные камни компилировать все впустую... Но когда непосредственно подключаю от этого заголовка его сишный файл то перестает на эти функции ругаться но проблема в том что не очень удобно и плюс вылезают другие глюки...
Я грешу на настройки линкера ток уже все настройки перепробовал.
0
myshoittix
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 3
07.12.2012, 05:22 32
Не дождавшись ответа проблема в моем случае решилась сама собой. В моем понимании произошел просто баг!...
Снес к чертям студию скачал заново последний билд с оф сайта, поставил, воткнул проект ничего не меняя все заработало!
Теперь не приходиться в инклюдах писать еще и сишные файлы...
0
disototor
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 523
07.12.2012, 09:08 33
Ну так это норм, по правилам "хорошего тона" в Си си-инклюды просто ненужны :)
0
modmozy
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
09.12.2012, 11:43 34
Снес к чертям студию скачал заново последний билд с оф сайта, поставил, воткнул проект ничего не меняя все заработало!
Спасибо,+1. Проблема решена.
0
modmozy
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
18.12.2012, 11:32 35
еще один способ- удаление ключа -ffriistomding в ключах компилятора
0
18.12.2012, 11:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 11:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как указать atmel studio новый размер памяти atmega128?
речь идет про расширение ROM используя железную поддержку В даташите написано, что на уровне...

Atmel Studio 7 AVR и прерывания по умолчанию
Установил я Atmel Studyo 7 и обнаружил следующие, если прерывание объявленно, а обработка прервыная...

Вычисления с дробями на AVR (Atmel Studio)
Друзья , есть функция вида y = exp(x/218) + 0.05x . Использую МК Atmega, atmel studio,...


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

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

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