AtmelStudio funktioniert in der Regel ordentlich.
************************************************
Wenn Atmel Studio per default in c:\program files (x86) installiert
wird, können die Leerstellen im Pfad Probleme verursachen. AtmelStudio
kann ohne Probleme in einem Verzeichnis C:\AS7 installiert werden. (
Soviel ich weiss, muss Atmel Studio aber immer auf dem Laufwerk C:\
installiert werden. )
Dasselbe gilt für den Pfad zu den Projekten.
*******************************************
AtmelStudio installiert den default Pfad zu den Projekten in der
Bibliothek Dokumente\Atmel Studio. Bei mir: D:\User\Eigene
Dokumente\Atmel Studio. Projekte können in beliebigen Verzeichnissen
erstellt werden, zum Beispiel in x:\AS_proj -> Keine Leerstellen im
Pfad..
Projekte können auch auf Netzlaufwerken liegen.
**********************************************
Damit das funktioniert, muss ein Netzlaufwerk mit Laufwerk-Buchstaben
erstellt werden (z.B AvrProj(Z:)). Netzlaufwerke via IP mit Symbol-Namen
(z.B. \\Zyxel-nsa\data\AvrProj) funktionieren nicht.
Dasselbe gilt für die Toolchain
*******************************
Die default Toolchain wird im Atmel Studio Ordner \toolchain
installiert.
Toolchains können aber auch in einem separaten Ordner gespeichert
werden, z.B. in C:\Atmel_Toolchain.
Toolchains können in den Projekt-Eigenschaften installiert und
ausgewählt werden:
SolutionExplorer|Projekt|Rechtsklick|Eigenschaften|Advanced|Tools->Optio
ns->Toolchain->FlavourConfiguration installiert werden und im
Auswahl-Fenster Toolchain-Flavour ausgewählt werden.
Falls der SolutionExplorer nicht sichtbar ist: mit View|SolutionExplorer
sichtbar machen.
EIne moderne Toolchain ist hier verfügbar:
-----------------------------------------
http://blog.zakkemble.net/avr-gcc-builds/
PS: Der Ordner \shellutils von AS7 heisst in AS6.2 \shellUtils
Ein normales Build schaut so aus:
********************************
------ Build started: Project: AVR_Toggle, Configuration: Debug AVR
------
Build started.
Project "AVR_Toggle.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition;
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\AtmelStudio_6.2\Vs\Compiler.targets" from
project "Z:\CPP\Mcucpp-12-2014___\VStudio\AVR_Toggle\AVR_Toggle.cppproj"
(target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\AtmelStudio_6.2\shellUtils
C:\AtmelStudio_6.2\shellUtils\make.exe all
Building file: .././AVR_Toggle.cpp
Invoking: AVR8/GNU C Compiler : 8.2.0
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-g++.exe"
-funsigned-char -funsigned-bitfields -DDEBUG -DF_CPU=20000000ul
-I"../../../std" -I"../../../mcucpp" -O1 -ffunction-sections
-fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p
-c -std=c++2a -fconcepts -MD -MP -MF "AVR_Toggle.d" -MT"AVR_Toggle.d"
-MT"AVR_Toggle.o" -o "AVR_Toggle.o" ".././AVR_Toggle.cpp"
Finished building: .././AVR_Toggle.cpp
Building target: AVR_Toggle.elf
Invoking: AVR8/GNU Linker : 8.2.0
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-g++.exe"
-o AVR_Toggle.elf AVR_Toggle.o -Wl,-Map="AVR_Toggle.map"
-Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections
-mmcu=atmega328p
Finished building target: AVR_Toggle.elf
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-objcopy.exe
" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R
.user_signatures "AVR_Toggle.elf" "AVR_Toggle.hex"
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-objcopy.exe
" -j .eeprom --set-section-flags=.eeprom=alloc,load
--change-section-lma .eeprom=0 --no-change-warnings -O ihex
"AVR_Toggle.elf" "AVR_Toggle.eep" || exit 0
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-objdump.exe
" -h -S "AVR_Toggle.elf" > "AVR_Toggle.lss"
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-objcopy.exe
" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R
.user_signatures "AVR_Toggle.elf" "AVR_Toggle.srec"
"C:\Atmel_Toolchain\AVR8_GCC\avr-gcc-8.2.0-x64-mingw\bin\avr-size.exe"
"AVR_Toggle.elf"
text data bss dec hex filename
136 0 0 136 88 AVR_Toggle.elf
Done executing task "RunCompilerTask".
Using "RunOutputFileVerifyTask" task from assembly
"C:\AtmelStudio_6.2\Extensions\Application\AvrGCC.dll".
Task "RunOutputFileVerifyTask"
Program Memory Usage : 0 bytes 0.0 % Full
Data Memory Usage : 0 bytes 0.0 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "AVR_Toggle.cppproj".
Target "PostBuildEvent" skipped, due to false condition;
('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\AtmelStudio_6.2\Vs\Avr.common.targets" from
project "Z:\CPP\Mcucpp-12-2014___\VStudio\AVR_Toggle\AVR_Toggle.cppproj"
(entry point):
Done building target "Build" in project "AVR_Toggle.cppproj".
Done building project "AVR_Toggle.cppproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
==========
PS: RunOutputFileVerifyTask funktioniert mit aktuellen Toolchains nicht
richtig -> 0%Full