Slave PLB core interrupt

Apr 24, 2007 2 Replies

Hello,



Just finished writing an ADC driver which I connected to a PPC via PLB (slave configuration). I have also instantiated a OPB interrupt controller to which I'm trying to register my ADC driver interrupt. However, so far I couldn't manage to register my interrupt handler--- SDK keeps on giving me this weird error message whenever I attempt to register my external interrupt through XExc_RegisterHandler API. The error messages is:



"cannot move location counter backwards (from fffff070 to 00000070)"



I'm using EDK 9.1.



Probably I'm missing something. Though it might be worth posting as one can never be sure in case it turned out to be a known issue or something.



Would appreciate any help in this.



Regards,



-Manny



Unfortunately I can't give you a solution. However, this error is most likely produced by the GNU PPC assembler. The assembler is one- pass and as such requires all ORG statements to be ordered incrementally. Appearently your source code specifies (explicitly or implicitly) sections in reverse order, ie first the code for fffff070 and then the code for 00000070. If you manage to rearrange this in your sources, the error should go away.

Good luck, Marc

I rearranged my functions using a demo program as a template and indeed it worked. So you'r right 100% on this.

Thanks a lot for the hint.

Regards,

-Manny

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required