Sida 3 av 3

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 1 mars 2016, 23:14:08
av swesysmgr
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

Postat: 1 mars 2016, 23:22:32
av sodjan
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" (?).

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 2 mars 2016, 00:17:13
av swesysmgr
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

Postat: 2 mars 2016, 00:21:59
av sodjan
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... :-)

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 2 mars 2016, 23:16:25
av Magnus_K
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.

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 2 mars 2016, 23:59:14
av sodjan
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).

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 3 mars 2016, 00:10:25
av lillahuset
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å...

Re: Hjälp med Atmel Studio 7 för Arduino

Postat: 3 mars 2016, 08:07:52
av Icecap
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.