Hello,
I am using the ti-cgt-arm_20.2.0.LTS compiler.
I am trying to allocated an interrupt routine to a 4byte alligned address.
For this, I'm doing the following:
.c file:
__attribute__ ((aligned (4), section (".my_DMTimer_Isr_section"))) void DMTimer2_Isr(void)
{
...
}
.h file:
__attribute__ ((aligned (4), section (".my_DMTimer_Isr_section"))) void DMTimer2_Isr(void);
.ld file:
.my_DMTimer_Isr_section: ALIGN(4)
{
*(.my_DMTimer_Isr_section)
} > DMEM0
where:
DMEM0 : ORIGIN = 0x00070000 , LENGTH = 0x0000FFE0 /* 64 KiB */
The result in the map file is the following:
It looks the section my_DMTimer_Isr_section is 4 byte aligned, but the function starts at +1 byte.
What would be the reason for this missalignement?
Thank you and have a nice day!
Mihai Mihaila.