Hi,
I have an issue, which i have "solved" in that it now works, but Im curious why.

I linked a load module where I had a library of my own (.a) and a number of
object modules.

I used external in the file containing main, however outside main, to get the 
linker to include
two ISRs that were located in the .a and one of the .o files

I also used directives for the Atmega8 to use internal EEPROM, EEMEM directive 
for declaration, and
the other constructs needed for accessing the EEPROM.

NOW: first time I linked my .a file was last in the list of modules;  the 
resulting load module didnt work.

I checked out the .lst usinng listing option for the .elf file; and saw a 
strange ting, on the position of the vector for
vector_11, there instead was written some strange address (very high) and some 
eeprom-information......
(vector_11 is in the m8 the address for the UART RX interrupt, which I use, and 
the ISR is loceted in the .a file)

Now I got some back-of-the-head hunch, so I re-arranged so that the .a was 
first in the link-list, and sure enough
the vector_11 was now a fine address to the ISR, and the load-module work (what 
I can see so far)

WHAT WAS THAT, is my question (I usuallly want to understand whats happening, 
otherwise things tend
to come back in some other shape and bite u)

/georg
_______________________________________________
AVR-chat mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to