[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-libc-dev] Possible hole in the assembler interrupt documentation
From: |
Brendan Hanna |
Subject: |
[avr-libc-dev] Possible hole in the assembler interrupt documentation |
Date: |
Thu, 1 Nov 2012 05:08:37 -0700 (PDT) |
Hello,
I have just spent some time trying to get my freshly minted interrupt vector to
linked into my executable and appear in the vector table at the start of flash.
I feel that there is a small, but non-obvious hole in the interrupt
documentation that could be patched up.
I had written my ISR in assembler but for the life of me could not figure why
it had not been linked into the main application. I thought the 1.6.4 libc
documentation was implying that all I needed to do was name the vector with one
of the standard vector names (PCINT0_vect in my case), and like magic all the
pieces would come together.
It took me some time to realise that the vector would not be considered for
linking unless its object file contained a dependency required by the main
object file. In real life this would probably be achieved with some ISR
initialisation code defined in the assembly source file and called at start up.
My organically growing code did not have this yet - so I had to falsify it with
a global variable accessed by the main application but defined in assembly.
I thought raising this issue here could help improve the documentation a little.
Thanks,
bOfWagg