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
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
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
Alex Fpolis schrieb:
What are these bytes ?
:106EDE002530325825303258253032582530325828
:106EEE002530325825303258253032582573007BE4
:106EFE0025782025782025782025782025782025AE
:106F0E00782025782025732025732025732025735E
:106F1E00202575207D00383430333838303964
:106F2E00388070320
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
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
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) =