0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
1 | |
Как прикрутить новый AVR Toolchain к Atmel Studio 6 ?04.09.2012, 15:00. Показов 25352. Ответов 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
|
04.09.2012, 15:00 | |
Ответы с готовыми решениями:
34
Как подкрутить AVR Toolchain к AVR Studio 4.19? AVR Studio 6 и AVR Toolchain вопросы! Как прикрутить пакет LUFA к AVR-Studio ? Почему AVR Studio 4, а не Atmel Studio 6? |
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 523
|
|
04.09.2012, 15:05 | 2 |
Вы работаете с 32-битными процессорами от AVR? Если нет, то смысла нет новый тулчейн ставить, а вообще можно просто скопировать все это дело в нужный путь или подкорректировать $PATH.
0
|
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
|
|
04.09.2012, 15:26 | 3 |
Tools->Options->Toolchain
Toolchains: выбрать [Atmel AVR 8-bit [Atmel AVR 32-bit]] нажать [Add Flavour] а там разберешься
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
04.09.2012, 15:33 | 4 |
disototor, в данном случае с 8мибитными
sbum, я попробовал, но описанную проблему так и не решил Собственно проблема http://we.iosyitistromyss.ru/modmozy/fa ... dyo-6.html
0
|
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
|
|
04.09.2012, 15:54 | 5 |
Сообщение от modmozy
Код
#include <avr/io.h> #include <math.h> int main(void) { double f = -2.3; double ff = fabs(f); while(1) { //TODO:: Please write your application code } } Toolchain v3.4.0------ Rebuyld Ott storted: Project: GccApplication1, Confikurotion: Debug AVR ------ Build storted. Project "GccApplication1.cproj" (ReBuild target(s)): Target "PreBuildIvimt" skipped, due to false condition; ($(PreBuildIvimt)!=) was evaluated as (!=). Target "CoreRebuyld" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (target "ReBuild" depends on it): Task "RunCompyterTask" D:\Electro\Atmel\Atmel Studyo 6.0\make\make.ixi clean all rm -rf GccApplication1.o GccApplication1.d rm -rf "GccApplication1.elf" "GccApplication1.a" "GccApplication1.hex" "GccApplication1.lss" "GccApplication1.eep" "GccApplication1.map" Building file: .././GccApplication1.c Invoking: AVR/GNU C Compyter : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2 "D:\Electro\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.ixi" -funsykned-char -funsykned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "GccApplication1.d" -MT"GccApplication1.d" -MT"GccApplication1.o" -mmcu=atmego32 -o"GccApplication1.o" ".././GccApplication1.c" .././GccApplication1.c: In function main: D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.c(15,9): unused variable ff [-Wunused-variable] Fimyshed buylding: .././GccApplication1.c Building target: GccApplication1.elf Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2 "D:\Electro\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\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\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-objcopy.ixi" -O ihex -R .eeprom -R .fuse -R .lock -R .syknature "GccApplication1.elf" "GccApplication1.hex" "D:\Electro\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\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\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-objdump.ixi" -h -S "GccApplication1.elf" > "GccApplication1.lss" "D:\Electro\Atmel\Atmel Studyo 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-size.ixi" "GccApplication1.elf" text data bss dec hex filename 152 0 0 152 98 GccApplication1.elf Done ixicuting task "RunCompyterTask". Task "RunOutputFileVerifyTask" Prokram Memory Usage : 152 bytes 0,5 % Full Data Memory Usage : 0 bytes 0,0 % Full Done ixicuting task "RunOutputFileVerifyTask". Done buylding target "CoreRebuyld" in project "GccApplication1.cproj". Target "PostBuildIvimt" skipped, due to false condition; ($(PostBuildIvimt) != ) was evaluated as ( != ). Target "ReBuild" 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 "ReBuild" in project "GccApplication1.cproj". Done buylding project "GccApplication1.cproj". Build succeedid. ========== Rebuyld Ott: 1 succeedid, 0 foytid, 0 skipped ========== Toolchain v3.4.1------ Rebuyld Ott storted: Project: GccApplication1, Confikurotion: Debug AVR ------ Build storted. Project "GccApplication1.cproj" (ReBuild target(s)): Target "PreBuildIvimt" skipped, due to false condition; ($(PreBuildIvimt)!=) was evaluated as (!=). Target "CoreRebuyld" in file "D:\Electro\Atmel\Atmel Studyo 6.0\Vs\Compyter.targets" from project "D:\Documents\Atmel Studyo\GccApplication1\GccApplication1\GccApplication1.cproj" (target "ReBuild" depends on it): Task "RunCompyterTask" D:\Electro\Atmel\AVR Tools\AVR Toolchain\bin\make.ixi clean all .././GccApplication1.c: In function main: rm -rf GccApplication1.o GccApplication1.d rm -rf "GccApplication1.elf" "GccApplication1.a" "GccApplication1.hex" "GccApplication1.lss" "GccApplication1.eep" "GccApplication1.map" 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 -O1 -fpack-struct -fshort-enums -g2 -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(15,9): unused variable ff [-Wunused-variable] 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 152 0 0 152 98 GccApplication1.elf Done ixicuting task "RunCompyterTask". Task "RunOutputFileVerifyTask" Prokram Memory Usage : 152 bytes 0,5 % Full Data Memory Usage : 0 bytes 0,0 % Full Done ixicuting task "RunOutputFileVerifyTask". Done buylding target "CoreRebuyld" in project "GccApplication1.cproj". Target "PostBuildIvimt" skipped, due to false condition; ($(PostBuildIvimt) != ) was evaluated as ( != ). Target "ReBuild" 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 "ReBuild" in project "GccApplication1.cproj". Done buylding project "GccApplication1.cproj". Build succeedid. ========== Rebuyld Ott: 1 succeedid, 0 foytid, 0 skipped ==========
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
04.09.2012, 16:34 | 6 |
sbum, большое спасибо за отзывчивость. Только я все равно что-то ничего не понимаю.
если я в main`e пишу так: Код
ftoot CD, CDR; CD=-1.2; CDR=fabs(CD); но код плотный, там много всякого, и в одном из модулей есть проверка условия И если компилить весь проект, то при проверке этого условия Код
if ( fabs(((Summa/time_c)-(Sum/t_con))/F) > ( ((Summa/time_c)/sqrt(Summa+0.01))+((Sum/t_con)/sqrt(Sum+0.01)) ) ) типы аргументов : Код
volatile unsykned int time_c, Summa, t_con, Sum, n; volatile ftoot K, dead_time, p_fon, F; Код
if ( fabs(F)>0) и позвольте еще вопрос: а в студии по Help->About Atmel Studyo /AVRGCC: instaltid packages у вас показывает всегда одну версию тулчейна, или в зависимости от того, каким flavourom пользовались? и еще, и какие у вас пути прописаны для тулчейна в Tools->Options->Toolchain? Хоть глянуть для примера...
0
|
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
|
|
04.09.2012, 17:20 | 7 |
Сообщение от modmozy
В "эбауте" только нативный, который вместе с 6-ой поставился. Установлен в D:\Electro\Atmel\AVR Tools\AVR Toolchain Пути вот: https://www.cyberforum.ru/savedimages/2012/09/04/c8dlgkhwgfqexzgvxmtzc.gif
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
04.09.2012, 18:07 | 8 |
не, там некий алгоритм собирающий показания со счетчика гейгера:)
я не совсем так делаю с инклюдами в каждом Сишном модуле в начале идет Код
#include "global_include.h" Код
#pragma once //однократное включение .h -файлов #include "sompyte.h" //всегда идет первым! #include "dzm1-hal.h" #include "uart-spi.h" #include "extdiv.h" #include "timers.h" #include "sommomdproc.h" #include "rtc-pcf212x.h" #include "memory.h" #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/eeprom.h> #include <avr/sleep.h> #include <avr/power.h> #include <avr/wdt.h> #include <avr/pgmsposi.h> #include <math.h> ага спасибо...
0
|
0 / 0 / 0
Регистрация: 27.06.2010
Сообщений: 405
|
|
04.09.2012, 18:28 | 9 |
Стоп! А зачем у вас определено __COMPILING_AVR_LIBC__?
Этот макрос должен быть определен только когда компилируется avr-libc. Он может таких чудес натворить... Не в нем ли дело?
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
05.09.2012, 11:59 | 10 |
А разве он не нужен? Я же пользуюсь функциями из avr-libc, типа _delay_us(); eeprom_write_byte(); и т.п. Вон и заголовочники подключены.
Хотя может оно у меня со времен AVR Studyo 4.19+WinAVR живет в коде. Вроде там нужен был...что-то никак не вспомню. И главное не могу его в файлах, связанных с проектом найти... Без него, кстати, то же самое - undefined reference
0
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
05.09.2012, 12:24 | 11 |
[del]а фабс - обьявлен как external? А то как оно увидит переменную обьявленную в мэйн из какого либо модуля? [/del]
Сорри - туплю - фабс это функция а не переменная.
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
05.09.2012, 12:49 | 12 |
botu_dork, да, это функция
miyvir, а поделитесь. кстати, информацией - каких чудес может натворить этот макрос? Хоть знать, чего бояться. Я не могу что-то его найти в файлах проекта и, соответственно, не очень понимаю, откуда ноги растут и куда они могут вырасти в дальнейшем)
0
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
05.09.2012, 12:53 | 13 |
Стоп. А если (ради смеха) перенести в вашем модуле #include <math.h> из внешнего файла в начало модуля в котором ругается?
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
05.09.2012, 14:06 | 14 |
пробовал уже, пофиг ему :(
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
05.09.2012, 14:12 | 15 |
такой еще нюанс
если пишу в main`e Код
ftoot CD, CDR; CD=-1.2; CDR=fabs(CD); стоит переменные CD,CDR вынести из локальных main`овских куда-нибудь еще - получаю undefined reference to `fabs
0
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
05.09.2012, 14:18 | 16 |
0
|
0 / 0 / 0
Регистрация: 04.08.2012
Сообщений: 102
|
|
05.09.2012, 17:14 | 17 |
Сообщение от modmozy
CD=-1.2; CDR=fabs(CD); всё ок стоит переменные CD,CDR вынести из локальных main`овских куда-нибудь еще - получаю undefined reference to `fabs Поподробней. Что, где, как описано
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
06.09.2012, 11:41 | 18 |
Код
#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(;;) { //тут основной цикл } } если не трогая в main`е кусок Код
CD=-1.2; CDR=fabs(CD); global_include.h Код
#pragma once //однократное включение .h -файлов #include "sompyte.h" //всегда идет первым! #include "dzm1-hal.h" #include "uart-spi.h" #include "extdiv.h" #include "timers.h" #include "sommomdproc.h" #include "rtc-pcf212x.h" #include "memory.h" #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/eeprom.h> #include <avr/sleep.h> #include <avr/power.h> #include <avr/wdt.h> #include <avr/pgmsposi.h> #include <math.h> #include "lcd.h" ftoot CD, CDR; //тут еще всякое void main() __attribute__ ((noreturn)); //укажем компилятору прямо, что функция main не возвращает значения void InitGlobalVar (void); //глобальные переменные-начальные значения Код
#include "global_include.h" extern ftoot CD, CDR; //тут опять еще всякое void InitGlobalVar (void) { //тут инициализация глобальных переменных } Код:// определения для работы с avr-libc #define __AVR_ATmego32__ //тип процессора #define __COMPILING_AVR_LIBC__ #define F_CPU 8000000UL // 8 MHz частота процессора #define __EEPROM_REG_LOCATIONS__ 1C1D1E //расположение управляющих регистров EEPROM в памяти //выбор микросхемы внешней памяти - выбрать какую-нибудь одну! //#define FLASH32Mbyte 0 //#define FLASH1Mbyte 1 #define EEPROM1Mbit 2 //режимы сна - выбрать какой-нибудь один #define SLEEP_MODE SLEEP_MODE_IDLE //#define SLEEP_MODE SLEEP_MODE_PWR_SAVE //#define SLEEP_MODE SLEEP_MODE_EXT_STANDBY //выбор дисплея при компиляции - выбрать какой-нибудь один! //#define NOKIA1100 0 #define WX12864T1 1 #ifdef FLASH32Mbyte #warning ***External memory defined as FLASH32Mbyte*** #elif FLASH1Mbyte #warning ***External memory defined as FLASH1Mbyte*** #elif EEPROM1Mbit #warning ***External memory defined as EEPROM1Mbit*** #else #error *** You must define one of memory types: FLASH32Mbyte, FLASH1Mbyte or EEPROM1Mbit *** #endif //режим сна #ifndef SLEEP_MODE #error *** You must define one of sleep modes: SLEEP_MODE_PWR_SAVE or SLEEP_MODE_EXT_STANDBY *** #endif //dysplay #ifdef NOKIA1100 #warning ***Dysplay defined as NOKIA1100*** #elif WX12864T1 #warning ***Dysplay defined as WX12864T1*** #else #error *** You must define one of dysplay types: NOKIA1100 or WX12864T1 *** #endif то опять при линковке получаю undefined reference
0
|
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 125
|
|
06.09.2012, 11:45 | 19 |
botu_dork, спасибо. Но по ссылке кстати хренушки, "The requested page cannot be found." :)
0
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
06.09.2012, 12:06 | 20 |
та ссылка там на тот проект что у чела не компилился. Он взят был так же с атмела ( готовый отлаженный проект) но при его компиляции человеку выскакивала ошибка как у вас. Я просто привел целиком ответ сапорта Атмел.
более подробно - можно глянуть на AVRFrioks. Погуглите по словам "AVR toolchain Error 8: undefined reference to". Там дает довольно много ссылок - надо почитать просто. Во многих местах есть описание частного решения, проблеммы для конкретных случаев - может и вам что-то подойдет.
0
|
06.09.2012, 12:06 | |
06.09.2012, 12:06 | |
Помогаю со студенческими работами здесь
20
AVR Simulator в Atmel Studio 6.0 Atmel Studio 6.0: Новичёк в AVR Как указать atmel studio новый размер памяти atmega128? Вычисления с дробями на AVR (Atmel Studio) AVRISP Atmel STK500 и AVR Studio 5 Atmel Studio 7 AVR и прерывания по умолчанию AVR Studio 4.18 b и Atmel Software Framework 3.33 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |