Страница 1 из 1

Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 11:16:06
Fastereus
Схожу с ума уже пол дня... сил нет ... решил написать ...

Пред история всю жизнь как начал заниматься атмегами использовал CVAVR, но попричине того что нет ломаных новых версий а многие новые чипы в моей уже не поддерживаются потихоньку стал заглядываться на AtmelStudio стояла 6.1 даи стояла, а тут вляпался в комерческий проект все юзают 7 студию , её солюшены в 6.1 не открываются приходится танцевать с бубном... поставил 7ю версию ... уже неделю пишу библиотеку переписываю старые с CVAVR полет нормальный, в том числе последние правки вносил вчера и все было норм ...

сегодня открываю солюшин жму F5 и вот что вываливается :

Код: Выделить всё

------ Build started: Project: TB128_Display128B, Configuration: Debug AVR ------
Build started.
Project "TB128_Display128B.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\Faster\Documents\Projects\!Test's\TB128_Display128B\TB128_Display128B\TB128_Display128B.cproj" (target "Build" depends on it):
	Task "RunCompilerTask"
		Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
		C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all 
	Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "TB128_Display128B.cproj" -- FAILED.
Done building project "TB128_Display128B.cproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
Тот же эффект и F7 ... причем ругань не компилятора а ааа шелы на то что не может запустить , я грехом подумал Форточка Х обновилась и чтото справами на папки, везде все выдал ина студию и напроект все для всех , проблема не решилась ...

Заметил глюк что при отчистки папки солюшина оставляя только проект и единственный main.c все компилится но только разок

гдето минут через пять ткнул в меню Rebuild Solution Ctr+Alt+F7 .... и Йо МойО ... все компилится ... хуже того даже если сделать Clean Solution то хоть F5 Хоть F7 разок срабатывают ....

Нов ы прикиньте какой гемор теперь пришел в мой дом ибо мне надо отрабатывать работу с железом и я шью тестовую плату по 10 ато и 50 раз в час ... а теперь это доступно только через унылое меню программирования выбор чем и кого потом еще пара тычков ...


Спасайте пока не повесился ... на всякий вот лог от компила в Rebuild :

Код: Выделить всё

------ Rebuild All started: Project: TB128_Display128B, Configuration: Debug AVR ------
Build started.
Project "TB128_Display128B.cproj" (Clean target(s)):
Target "Clean" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\Faster\Documents\Projects\!Test's\TB128_Display128B\TB128_Display128B\TB128_Display128B.cproj" (entry point):
	Task "RunCompilerTask"
		Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
		C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe clean 
		rm -rf  main.o   
		rm -rf  main.d   
		rm -rf "TB128_Display128B.elf" "TB128_Display128B.a" "TB128_Display128B.hex" "TB128_Display128B.lss" "TB128_Display128B.eep" "TB128_Display128B.map" "TB128_Display128B.srec" "TB128_Display128B.usersignatures"
	Done executing task "RunCompilerTask".
Done building target "Clean" in project "TB128_Display128B.cproj".
Done building project "TB128_Display128B.cproj".

Build succeeded.
------ Rebuild All started: Project: TB128_Display128B, Configuration: Debug AVR ------
Build started.
Project "TB128_Display128B.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\Faster\Documents\Projects\!Test's\TB128_Display128B\TB128_Display128B\TB128_Display128B.cproj" (target "Build" depends on it):
	Task "RunCompilerTask"
		Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
		C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all 
		Building file: .././main.c
		Invoking: AVR/GNU C Compiler : 4.9.2
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe"  -x c -funsigned-char -funsigned-bitfields -DDEBUG  -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include"  -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "main.d" -MT"main.d" -MT"main.o"   -o "main.o" ".././main.c" 
		In file included from .././main.c:17:0:
C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp(46,1): warning: "/*" within comment [-Wcomment]
		 /*
		 ^
		In file included from C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp:127:0,
		                 from .././main.c:17:
C:\Users\Faster\Documents\Libs\AVR\FONT_5x5_HB_FontCP1251.cpp(39,1): warning: "/*" within comment [-Wcomment]
		 /*
		 ^
		In file included from .././main.c:17:0:
		C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp: In function 'Graphic_MonochromeDrawChar':
C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp(648,10): warning: 'Mask1' may be used uninitialized in this function [-Wmaybe-uninitialized]
		      ctmp=Graphic_Imposition(B1,ctmp,Mask1,Rule);
		          ^
		Finished building: .././main.c
		Building target: TB128_Display128B.elf
		Invoking: AVR/GNU Linker : 4.9.2
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -o TB128_Display128B.elf  main.o   -Wl,-Map="TB128_Display128B.map" -Wl,--start-group -Wl,-lm  -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128"  
		Finished building target: TB128_Display128B.elf
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures  "TB128_Display128B.elf" "TB128_Display128B.hex"
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom  --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0  --no-change-warnings -O ihex "TB128_Display128B.elf" "TB128_Display128B.eep" || exit 0
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "TB128_Display128B.elf" > "TB128_Display128B.lss"
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "TB128_Display128B.elf" "TB128_Display128B.srec"
		"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "TB128_Display128B.elf"
		   text	   data	    bss	    dec	    hex	filename
		   4776	     30	      9	   4815	   12cf	TB128_Display128B.elf
	Done executing task "RunCompilerTask".
	Task "RunOutputFileVerifyTask"
				Program Memory Usage 	:	4806 bytes   3,7 % Full
				Data Memory Usage 		:	39 bytes   1,0 % Full
	Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "TB128_Display128B.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "C:\Users\Faster\Documents\Projects\!Test's\TB128_Display128B\TB128_Display128B\TB128_Display128B.cproj" (entry point):
Done building target "Build" in project "TB128_Display128B.cproj".
Done building project "TB128_Display128B.cproj".

Build succeeded.
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
что могло случится не понимаю ...

причем даже создав новый проект такая петрушка продолжается ... вот остался лишь шанс на переустановку , счас и пойду решать эту задачу

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 12:00:21
Fastereus
БОЖЕ !!!! Много часов , лазание и ручной парсинг хлама в директории солюшина привел меня к ТАКОМУ АЛЕСУ !!!!!

попорядку

в папаке солюшина\Debug есть файлик main.d
Это список всего что грузит компилятор , глаз упал на строки :

Код: Выделить всё

c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
 C:\Users\Faster\Documents\Libs\AVR\DISPLAY_12864b.cpp\  \
 C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp \
 C:\Users\Faster\Documents\Libs\AVR\GraphicConstants.cpp \
Ну кто заметил ? лишний слэш ? и да такое больше не где не повторяется в более чем 200 строках этого файла ...

отширстил местогде грузится либа , всю либу ... нечего не увидел ...

надо сказать что библиотека содржит дефайны которые нужны другим библиотекам а основная часть функции спрятана в обертку

Код: Выделить всё

#ifndef __DISPLAY_12864b_cpp__
#define __DISPLAY_12864b_cpp__
КОД
#endif 
Так вот в одном из мест загрузки я нашел вот это :

Код: Выделить всё

#include <avr/io.h>
#include <util/delay.h>
//#include <avr/eeprom.h> 
#include "C:\Users\Faster\Documents\Libs\AVR\DISPLAY_12864b.cpp "

#include "C:\Users\Faster\Documents\Libs\AVR\GraphicFunctions.cpp"
#include "C:\Users\Faster\Documents\Libs\AVR\FS_StdLib.cpp"
//#include <stdio.h>
НУ кто найдет где глюк ?????

Вы мне только поясните почему не файл нот фаунд или ИСЧЁ чего ??? и почему после Clean все пашет ?

для тех кто в танке :

Код: Выделить всё

#include "C:\Users\Faster\Documents\Libs\AVR\DISPLAY_12864b.cpp " <лишний пробел !!!!!
В общем всем спасибо кто хотя бы зашел и прочел ... и помните те кто пишут среды разработки так же могут ошибаться ...


p.s. провернул такой жеприем в MS Visual Studio / RadStudio / PHP не кто не жалуется все просто забивают на пробелы в конце ...

а я предпологаю что ався проблема что эти строки подставляются в коммандную строчку и от этого все глюки ...

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 12:02:05
codenamehawk
Попробуйте выключить антивирус.

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 12:24:55
COKPOWEHEU
А не разобрались почему после стирания, код с этим пробелом компилируется нормально?
avr-gcc на такое сразу выдает ошибку. Пробел тоже символ, вот препроцессор его и не может найти.

Код: Выделить всё

main.c:1:21: fatal error: avr/io.h : Нет такого файла или каталога
 #include <avr/io.h >
Может стоит глянуть в правила сборки или написать свой внешний makefile или чем они там теперь пользуются.
Так проблема решена?

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 12:43:54
Fastereus
ну мне лень было обвешиваться виндовыми дибагерами , но есть предположение что этот список подтавляется в строку GCC компилятора , а так еж туда еще много чего подставляется ключей параметров и прочего

но по идее GCC должен обругаться в поток что не нашел того чего надо , и я уверен что он этоделает авот шела а атмэл студия это какбы плагин к визуал си гдета этопропускает ...
сама то визуал си отмикрософта славится своими багами а тут еще и надстройка ... короче гдето чтото тупит ...


Ну тут уж простите не дораследований ... заработало да и ладно ... но пол дня потеряно...

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 14:16:24
COKPOWEHEU
На сайте Atmel написано, что в качестве компилятора в Atmel Studio используется обычный gcc / g++ (за что им спасибо). Раньше (AVRStudio 4.x вроде последняя, но не уверен) помимо gcc ставили еще и стандартные команды из sygwin (порт юниксовых утилит) вроде ls, make, rm и т.д. Что их заставило отказаться от этого - неизвестно, но теперь makefile стал еще сложнее (он и без того был неоправданно сложным) и непереносимее на другие платформы. Это печально.
Входные файлы по идее должны скармливаться компилятору без предварительной обработки, он сам разберется где применить препроцессор. Попробуйте запустить gcc ручную с флагом -C

Код: Выделить всё

"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include" -Os  -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128" "main.c" -C
Не знаю, зачем такая длинная строка, я бы написал проще
gcc -mmcu=atmega128 -Os -C main.c
Вместо main.c само собой тот файл с пробелом в инклюде. Запустите в консоли и посмотрите, выдадутся ли ошибки.

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 14:42:47
Fastereus
Сори нет времени мсне еще 23 библиотеки переваять а это очень многовремени ...

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вт дек 15, 2015 15:40:35
COKPOWEHEU
Как угодно. Для меня это всего лишь любопытство, использовать AtmelStudio пока не тянет, хватает консоли, avr-gcc, переделанного makefile, текстового редактора и avrdude.

Re: Atmel Studio 7 Необъяснимый

Добавлено: Вс окт 30, 2016 21:56:23
elarm
Если честно. Я так и не понял для каких задач создан этот навороченный софт. Реально, для отладки хватает минимума от Arduino, ну ещё AvrDude_Prog.

Re: Atmel Studio 7 Необъяснимый

Добавлено: Пн окт 31, 2016 00:18:50
Jeka_M
Редактор кода в ардуино - фуфло по сравнению со студией. Из отладки только вывод в serial... Ни пошаговой отладки, ни брейкпоинтов, ни удобного окошка I/O View, как в студии. Можно сказать, что отладки, как таковой, просто нет.

Когда пользователь решает спуститься на более низкий уровень (Arduino -> AVR), то разобраться с настройкой периферии и регистрами гораздо легче в студии. Убедился на собственном опыте. Очень помогает пошаговая отладка в симуляторе с просмотром состояния битов в окне I/O View.

З.Ы. Если что, я сам пользую ардуино+студию.

Re: Atmel Studio 7 Необъяснимый

Добавлено: Пт ноя 18, 2016 12:27:30
_dark
AtmelStudio, конечно, та еще гадость, и я ее практически ненавижу
(ужастная IDE от MS 2008 года, хр... документация, неочевидные настройки IDE, безобразный переход на след. версии и пр. и пр.)
но как говорится "мыши плакали кололись, но продолжали жрать кактус"
т.к. для чего-то более менее серьезного все только платное

Могу привести пример "другого", когда проект перерос 500 переменных, keil просто отказался компилировать!

Кстати, остановился банально на 6.0, т.к. уже на 6.1 (и старше) теже проекты ATmega не переносятся без траблов,
т.е. просто не компилятся при открытии ...

Re: Atmel Studio 7 Необъяснимый

Добавлено: Пт ноя 18, 2016 12:39:10
ARV
_dark писал(а):AtmelStudio, конечно, та еще гадость, и я ее практически ненавижу
+100500! сказать, что я ее ненавижу - ничего не сказать! я просто в ярости!

вчера поддался искушению и попробовал установить ее... для начала она сказала, что надо обновить винду - скачать 2 обновления. причем одно пришлось искать с бубном, по рекомендованной ссылке оно не находилось. после обновления и перезагрузки она обрадовала меня, что придется 24 раза нажать ОК при установке драйверов (вопрос - нафига они все мне? может, надо предложить выбор?), а если я не хочу - надо обновить винду... решил смириться. апосля этого она устанавливалась ровно час! ЧАС, КАРЛ!!! при этом где-то на 80% попросила перегрузить комп, после чего каждые 30 секунд стало появляться окошко об ошибке в отладчике (!!! - какой отладчик, я еще не установил до конца?!?!), причем в этом окне предлагалось произвести настройки в меню студии (еще не установленной!!!). Но спустя час оно все-таки стало... и догадайтесь, что было с настройкой того самого загадочного отладчика? а нет в в указанном меню НИЧЕГО по этому поводу! от слова вообще.

насладиться студией не получилось, т.к. каждые 30 секунд приходилось бороться с этим странным отладчиком и ошибкой в нем... но после закрытия студии стало невозможно вообще работать - окошко появлялось вообще всегда, независимо от студии!

снес, и поклялся к продуктам, в наименовании которых фигурирует Microsoft Visual Studio, не прикасаться без прямой угрозы жизни.

Eclipse наше все

извините...

Re: Atmel Studio 7 Необъяснимый

Добавлено: Ср фев 20, 2019 11:31:48
DESIER
А вот у меня проблем не было с AtmelStudio никогда, он мне больше понравился чем все остальные, до недавнего времени когда пришло обновление Framework.
После того как установилось обновление у меня при компиляции стал ругаться на множественное определение переменных.
То есть у меня в разных *.С файлах есть переменные с одинаковым именем.
Если сравнивать со средой Microsoft Visual Studio C# похоже на определение видимости private/public для переменных, но тут язык СИ, тут нет такого.
Никто не сталкивался с такой проблемой? Даже не соображу куда копать.

P.C. Всё, разобрался. http://www.cyberforum.ru/avr/thread2084917-page2.html, вот тут нашел ответ.