Re: [avr-gcc-list] interrupt problem with eeprom api, running on atmega128 (bug #23969:)

2008-08-18 Thread Stefan Ernst
Although it's still a mystery as to what the problem actually is. It is a known silicon bug. Quote from the datasheet: Reading EEPROM by using the ST or STS command to set the EERE bit in the EECR register triggers an unexpected EEPROM interrupt request. Problem Fix / Workaround Always use

Re: [avr-gcc-list] Re: issues with struct and volatile

2009-07-24 Thread Stefan Ernst
cdecl> explain int volatile *x declare x as volatile pointer to int But cdecl is wrong here. ___ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Re: [avr-gcc-list] Modifying compiler output to suit Tiny13 bootloader

2009-10-26 Thread Stefan Ernst
David Carr wrote: I wrote a very simple C program and looked at the assembly output produced by avr-gcc. The first line is: <__vectors>: 0: 10 c0 rjmp.+32; 0x22 <__ctors_end> My bootloader lives in the last 192 bytes of flash, so I'd like to replace thi

Re: [avr-gcc-list] Different size between .hex file and firmware size.

2010-03-18 Thread Stefan Ernst
Alex Fpolis schrieb: What are these bytes ? :106EDE002530325825303258253032582530325828 :106EEE002530325825303258253032582573007BE4 :106EFE0025782025782025782025782025782025AE :106F0E00782025782025732025732025732025735E :106F1E00202575207D00383430333838303964 :106F2E00388070320

Re: [avr-gcc-list] Reusing code and variables from bootloader in main program

2010-06-26 Thread Stefan Ernst
Andrey Demenev schrieb: link the bootloader with filesystem libraries, and in main program have a set of pointers to filesystem library functions in .noinit section. When bootloader is started , it upgrades main program if necessary, and then initializes the prointers with correct addresses and

Re: [avr-gcc-list] Reusing code and variables from bootloader in main program

2010-06-26 Thread Stefan Ernst
Lars Noschinski schrieb: Then you can use the --defsym option to the linker to tell the main program where to find those entry points. As alternative you can simply type cast a constant into a function pointer and dereference it. This way no special build procedure is needed. typedef void(*fu

Re: [avr-gcc-list] AVR Libc int32_t and uint32_t typedefs are incorrect

2012-01-10 Thread Stefan Ernst
However lines 125 and 126 define int32_t and uint32_t as signed int and unsigned int respectively. What about the rest of that lines? unsigned int -> 16 bit unsigned int __attribute__ ((__mode__ (__SI__))) -> 32 bit I have confirmed the sizes of the basic types on my system: sizeof(long) =