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.

Using startup_rvmdk.s; keil

Genius 3300 points
Other Parts Discussed in Thread: EK-TM4C123GXL

1. I need to add startup_rvmdk.s file in project code. I am using keil 5.13.0.0 & driverlib 2.1.1.71 & lauchpad tm4c123gxl.

2. Now I had checked two startup files with location:

C:\ti\TivaWare_C_Series-2.1.1.71\examples\boards\ek-tm4c123gxl\hello\startup_rvmdk.s

C:\ti\TivaWare_C_Series-2.1.1.71\examples\boards\ek-tm4c123gxl\interrupts\startup_rvmdk.s

3. Now both are different in a way that starup file in interrupt folder has extra lines below. Does that mean whatever interrupts I am using , I have to add their isr handler name in startup files also.I have tried uart code by not doing this & code goes into isr without this also.

;******************************************************************************
;
; External declarations for the interrupt handlers used by the application.
;
;******************************************************************************
        EXTERN  IntGPIOa
        EXTERN  IntGPIOb
        EXTERN  IntGPIOc

  • Hi,

    That is how you setup ISR at startup file. I do not think your program will go to the ISR, if this is not setup at startup file or you did not use an API that registers a function to be called when an interrupt occurs.

    - kel
  • Hi,

    Yes, you need to update/modify each project startup file; please note there are two places where your action is needed: first one is the place with declaration of external interrupt functions names (they may be located in different files) and the second place is the interrupt functions array - you must replace the default IntDefaultHandler word with the name of your interrupt at the right position. Only this way interrupts are recognized.

    As for Markel's suggestion to register the interrupts - can be used (does not harm) but in your usual test is not mandatory. Must be used if using the boot loader or if you need to change the interrupt function at run time. 

  • Hello VT,

    Registering the interrupt in the main code will cause the Interrupt vector table to be moved to the SRAM. Since this TM4C123x device, SRAM is a critical limited resource, so you may want to take that into account.

    Regards
    Amit