Hjälp med Atmel Studio 7 för Arduino
Re: Hjälp med Atmel Studio 7 för Arduino
DEBUG/NDEBUG sätts dynamiskt beroende a vilken konfiguration som är vald. F_CPU kan sättas för allihop om man väljer "ALL" i menyn ovan och lägger till en rad i rutan.
Re: Hjälp med Atmel Studio 7 för Arduino
Ja det var så jag tänkte. Som det sattes på bilden så är väl
F_CPU enbart definierad då man kör en "debug build" (?).
F_CPU enbart definierad då man kör en "debug build" (?).
Re: Hjälp med Atmel Studio 7 för Arduino
Helt rätt flaggan debug/nodebug styrs av menyerna och vilken config du befinner dig i, den plockas inte bort manuellt.
Re: Hjälp med Atmel Studio 7 för Arduino
OK, men det som jag ville peka på var att inställningen för just
F_CPU *inte* fungerar om man sedan väljer att bygga *utan*
debug (vad det nu kallas, production, release eller liknande).
Om jag inte missförståt något...
F_CPU *inte* fungerar om man sedan väljer att bygga *utan*
debug (vad det nu kallas, production, release eller liknande).
Om jag inte missförståt något...

- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp med Atmel Studio 7 för Arduino
Ahaa ok. Ja det finns inställningar i gardinen för "All configurations". Lade till raden där och det fungerar fortfarande kanon att kompilera.
Jag har inte riktigt doktorerat i olika "builds" med mera utan trycker alltid F7 (Build Solution) när det är dags. Tror det innebär att den kompilerar hela projektet och då också kanske en debug-build, därav att det fungerade innan?
Tar nog lite onödigt lång tid men tänkte läsa på lite mer om det här senare.
Jag har inte riktigt doktorerat i olika "builds" med mera utan trycker alltid F7 (Build Solution) när det är dags. Tror det innebär att den kompilerar hela projektet och då också kanske en debug-build, därav att det fungerade innan?
Tar nog lite onödigt lång tid men tänkte läsa på lite mer om det här senare.
Re: Hjälp med Atmel Studio 7 för Arduino
Du ställer nog in någon annanstans om du ska bygga "debug" eller "release" versionen.
Skillnaden varierar, men ibland så blir debug koden större (p.g.a extra debug-kod)
och/eller så kör det med mindre optimeringar och blir långsammare (och ofta större).
Skillnaden varierar, men ibland så blir debug koden större (p.g.a extra debug-kod)
och/eller så kör det med mindre optimeringar och blir långsammare (och ofta större).
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Hjälp med Atmel Studio 7 för Arduino
Det här är en av tjusningarna med IDEer. Man vet aldrig riktigt vad de menar. Med ett bra IDE kan man välja optimering oavsett debug eller inte: Med gcc innebär debug bara att man får med information om symboler. Med hård optimering (-O2 tex) brukar det bli svårt att följa programlogiken. Inte helt förvånande när man tänker på vad man bett om.
En annan sak är att man inte ska ta för givet är att -O2 ger snabbare kod än -Os eller -O1. Men det kan vara så...
En annan sak är att man inte ska ta för givet är att -O2 ger snabbare kod än -Os eller -O1. Men det kan vara så...
Re: Hjälp med Atmel Studio 7 för Arduino
När jag kör med e2 studio (en Eclipse avart) kan jag välja mellan Debug och Release Build.
Skillnaden är att man kan ställa optimeringarna olika om man vill men mest att det i Debug Build definieras __DEBUG__ som sann.
Det betyder att man kan lägga in specifika debug-funktioner vid hjälp av:
#if __DEBUG__
... (debug-grejs)
#endif
Annars är grundinställningen att resten är lika.
Skillnaden är att man kan ställa optimeringarna olika om man vill men mest att det i Debug Build definieras __DEBUG__ som sann.
Det betyder att man kan lägga in specifika debug-funktioner vid hjälp av:
#if __DEBUG__
... (debug-grejs)
#endif
Annars är grundinställningen att resten är lika.