Обсуждаем контроллеры компании Atmel.
Ответить

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

Вт дек 15, 2015 11:16:06

Схожу с ума уже пол дня... сил нет ... решил написать ...

Пред история всю жизнь как начал заниматься атмегами использовал 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

БОЖЕ !!!! Много часов , лазание и ручной парсинг хлама в директории солюшина привел меня к ТАКОМУ АЛЕСУ !!!!!

попорядку

в папаке солюшина\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

Попробуйте выключить антивирус.

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

Вт дек 15, 2015 12:24:55

А не разобрались почему после стирания, код с этим пробелом компилируется нормально?
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

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

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


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

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

Вт дек 15, 2015 14:16:24

На сайте 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

Сори нет времени мсне еще 23 библиотеки переваять а это очень многовремени ...

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

Вт дек 15, 2015 15:40:35

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

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

Вс окт 30, 2016 21:56:23

Если честно. Я так и не понял для каких задач создан этот навороченный софт. Реально, для отладки хватает минимума от Arduino, ну ещё AvrDude_Prog.

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

Пн окт 31, 2016 00:18:50

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

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

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

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

Пт ноя 18, 2016 12:27:30

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

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

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

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

Пт ноя 18, 2016 12:39:10

_dark писал(а):AtmelStudio, конечно, та еще гадость, и я ее практически ненавижу
+100500! сказать, что я ее ненавижу - ничего не сказать! я просто в ярости!

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

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

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

Eclipse наше все

извините...

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

Ср фев 20, 2019 11:31:48

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

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