This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Greetings,
I am working with an MSP430F5529 and I am seeing issues with the way
USCI_A1_VECT gets added to the vector table. I am not sure if the bug is
in the linker script (saw nothing obvious there), or the way binutils is
populating entries to this particular entry. I have tried to add an
entry two ways,
__attribute__((interrupt((USCI_A1_VECT)))
void uart1_isr(void) {
/* snip */
}
and a rather obtuse one:
__asm (
"\t.section \"__interrupt_vector_47\",\"ax\",@progbits\n\t"
".word uart1_isr"
);
void uart1_isr(void) {
/* snip */
}
when performing an objdump on the generated binary, the following is
observed:
Disassembly of section __interrupt_vector_47:
0000ffdc <__interrupt_vector_47>:
ffdc: 90 49 90 9e Address 0x000000000000ffde is out of bounds.
Address 0x000000000000ffe0 is out of bounds.
mov -1(r9), 0xffff ; PC rel. 0xffdf
ffe0: aa 7f
/* snip */
00004990 <uart1_isr>:
/* snip */
for either case.
I am using gcc 5.3.0 and binutils 2.26.20160125 with no extra patches. I
have attached the linker script I am using.
Please advice if I am doing something wrong. Thank you.
Cheers,
Orlando.
Attachment:
msp430f5529.ld
Description: Text document
Attachment:
msp430f5529_symbols.ld
Description: Text document
Attachment:
signature.asc
Description: OpenPGP digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |