Thanks David, that's helpful. All the best, Cat -------------------------------------------------- From: "David Kelly" <dkelly@hiwaay.net> Sent: Sunday, June 08, 2008 6:36 PM To: <AVR-Chat@yahoogroups.com> Subject: Re: [AVR-Chat] AvrStudio4 (2008), WinAVR (2007-05...) and Dragon problem debugging C code (jtag) > > On Jun 8, 2008, at 7:00 PM, Cat Hotmail wrote: > >> I'm not sure of all that "volatile" does (I know I need it for >> variables >> that I use both in interrupts and out). > > > Volatile informs the compiler that the object may change between the > compiler's uses. Therefore the compiler has to read it immediately > before use if its value is needed. That it can't trust a copy of the > variable laying around in a register. And when changing the value it > must write it out immediately. And not merge the access across > multiple statements. > > If you say: > > volatile uint8_t v; > > v = 1; > v = 0; > v = 1; > > the compiler is not allowed to notice the end result is v = 1 and skip > the v = 0 step. With full optimization it just might skip those other > steps. Thats why I asked if it was performing the skipped lines that > you could not single-step debug.
Message
Re: [AVR-Chat] AvrStudio4 (2008), WinAVR (2007-05...) and Dragon problem debugging C code (jtag)
2008-06-09 by Cat Hotmail
Attachments
- No local attachments were found for this message.