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.

How to disable all interrupt and modules in tms570lc4357

Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

HI,

I'm using tms570lc4357 development kit in our project, we wrote bootloader, we initialize RTI,SCI,EMAC and some other interrupts. Bootloader is working fine.

From bootloader we are jumping into other application, where we use RTI,SCI,CAN modules. Here we are facing problem ,

1. In application RTI Module is not working fine. Here interrupt is not generating.

2. CAN receive interrupt is not working fine.

We have some doubt here, We used same modules in  boot loader and Application. While jumping from boot loader to application we need to     de-initialize the module and disable all interrupts of the different modules.

How to disable all interrupt and modules(RTI,SCI,EMAC) before jumping to Application?

Please give suggestion.

Thank you

Basavanagouda

 

  • if using HALCoGen, call the routine _disable_IRQ_interrupt_(). The FIQ is non-maskable once enabled.

    ;-------------------------------------------------------------------------------
    ; Disable IRQ interrupt
    
            .def _disable_IRQ_interrupt_
            .asmfunc
    
    _disable_IRQ_interrupt_
    
            cpsid i
            bx    lr
    
            .endasmfunc
    

    There is more information about interrupts in the TRM, section 19.3.2. You may want to use a software reset to leave the bootloader as described in section 2.3.1 of the TRM.

  • HI,
    Thank you for replay,
    I'm disable the IRQ by using _disable_IRQ_interrupt_.
    I have observe while jumping to application, RTI compare0 interrupt flag is not getting clear.
    i tries to do rtiREG1->INTFLAG = 0x00000000U; But its not taking, how to disable this interrupt or how to DE- intialize RTI module.

    Please help me in this.
    Thank you
    Basavanagouda
  • You need to write a 1 to the bit to clear an interrupt flag in the RTIINTFLAG register. The register is described in section 17.3.27 of the TRM.

  • hi,
    controller not in privilege mode. i need to clear interrupt flag before jumping to application. i not taking any value (either rtiREG1->INTFLAG = 0x00000000U or 1).
    how to set privilege mode? how to assign set value to INTFLAG?

    thank you
    Basavanagouda
  • hi,
    I observed in debug mode Bootloader and application both are working fine, bootloader able to jump application and run it.
    but i'm facing issue after manual reset board,
    1.Bootloader will execute and its run the application.
    2.At the application run, interrupt is not generating(I'm expecting CAN and RTI interrupts).
    I'm not understanding it. Please suggest solution.

    Thank you
    Basavanagouda
  • I am sorry, but I don't have enough information to make any good suggestions. Are you saying that with the debugger connected everything is working, but with the debugger disconnected it does not work?