[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-libc-dev] Calls to eeprom_write_block on CAN64 increase sleepcu
RE: [avr-libc-dev] Calls to eeprom_write_block on CAN64 increase sleepcurrent?
Thu, 14 May 2009 13:17:17 -0600
> -----Original Message-----
> org] On Behalf Of Bob Paddock
> Sent: Thursday, May 14, 2009 12:25 PM
> To: address@hidden
> Subject: [avr-libc-dev] Calls to eeprom_write_block on CAN64
> increase sleepcurrent?
> I'm using a AT90SCAN64 part.
> Normally my system has a nominal sleep current of 67uA.
> I added some logging routines to record some data in EEPROM.
> When I call eeprom_block_write() my system sleep current jumps
> up to 1.1 mA. Comment out the call to eeprom_block_write() and
> the sleep current goes back down. Whats going on here?
> By 'sleep' I mean no oscillators running, and the watchdog turned off,
> everything should be static.
> Is the call to eeprom_block_write() leaving some internal
> oscillator running?
So you're saying that the current goes up to 1.1 mA and *stays there*, even
when the eeprom write is finished? I'm assuming that you're going back to sleep
after the eeprom write. Can you elaborate on the exact chain of events?
> Also when looking at eeprom.h I noticed that _EEGET and _EEPUT
> for IAR compatibility only have a single underscore. In my ancient
> IAR version, from ~2005, those functions had double underscores.
That's been fixed recently in avr-libc. It'll be in the next release.