Reply by Mitch Davis September 13, 20022002-09-13
Marlo Flores wrote:
>
> I am using CCS v 1.21 in writing programs for C5402. I
> am using intr.h to setup the interrupts. In one .c
> file i define an init_interrupt() function in the
> following way:
>
> #include <dma54xx.h>
> #include <intr.h>
>
> void init_interrupt(int trap_num, int isr, int
> intr_mask_bit)
> {
> INTR_GLOBAL_DISABLE;
> INTR_HOOK(trap_num,isr);
> INTR_ENABLE(intr_mask_bit);
> INTR_GLOBAL_ENABLE;
> }
>
> when I built my project the folllowing mysterious
> message comes out:
>
> undefined first referenced
> symbol in file
> --------- ----------------
> _isr_jump_table init_peripherals.obj
> >> symbol referencing errors - Dma.out not built
> Build Complete,
> 1 Errors, 1 Warnings.

Hi Marlo,

At a guess, one or more of INTR_GLOBAL_DISABLE, INTR_HOOK,
INTR_ENABLE or INTR_GLOBAL_ENABLE are not function calls,
but macros which reference something called "isr_jump_table".

You're getting the "undefined symbol" at link time because
none of the objects you're linking together are providing
isr_jump_table. But somehow you need to get one.

I think you should read up on whether there's some TI-provided
object file you also need to link in to get isr_jump_table,
or whether you need to define isr_jump_table in your own
code somewhere.

Hope this helps.

Regards,

Mitch.