This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

placement fails for .vtable when using I2CIntRegister

Hello,

I am modifying the I2C example code to enable me to send messages between two processors. Currently i am planning to use two TM4C123 launchpad kits for the development work. I am using CCS6 with the newest TI-RTOS comes in CCS..

My error is that as soon as i use "I2CIntRegister" to register the function to be called when the interrupt fires, causes the code to not compile..

The error the compiler provides is :

program will not fit into available memory. run placement with alignment fails for section ".vtable" size 0x26c , overlaps with ".vecs", size 0x360 (page 0) EK_TM4C123GXL.cmd /MainController line 66 C/C++ Problem

I assume i am missing something trivial, however i have no idea where i should be looking for this, and googling for .vtable issues brings up nothing useful :(

Thanks,

Ben

  • Ben,

    TivaWare and the SYS/BIOS kernel both provide mechanisms for registering and servicing interrupts.  In an application you need to use only one of these methods, otherwise there will be a collision for generation of the vector table, as indicated by this error message.  If you are using the kernel in your application you need to let kernel manage the interrupts.  

    You mention “I am modifying the I2C example code”.  I’m guessing this is not one of the I2C driver examples shown in the TI Resource Explorer?  Have you looked at using one of those as a starting point?

      


    Regards,
    Scott