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.

Trying to Bind the ISR statically in .tcf file for EDMA global interrupt, but not working

Hey,

I am trying to configure an EDMA transfer through EMIFA. I have configured 2 channels i.e. 54 and 55 for gpio 6 and gpio 7 event triggers. My EDMA interrupt is working properly. Now i want glow an LED i.e. make gpio pin 14 and 15 high in the ISR. I am trying to bind the ISR statically through .tcf file.

I read the wiki page on how to configure the interrupts through BIOS, but it isn't working. Could you please how to go about it. Attached the project in .rar file. Kindly help.

I have used Mask-able interrupt 4 for binding the ISR. The same can be seen in the .tcf file also.


Additionally, i am facing another problem. The EDMA registers .i.e OPT,SRC etc, which are the part of PaRAM set gets reset when the EDMA event occurs, and i have to recall the setup every time an event occurs. I believe this is not the right way to go about it. Can you please tel me how i can prevent my PaRAM set registers from resetting?

Regards

Akshay

LLD_EDMA.rar
  • Akshay,

    It will be helpful if you list the device in your title or post. It will be harder to find when it is only implied in the Tag Fields, since your device might not be there and you may have chosen something that was just close there.

    akshay bharadwaj said:
    I read the wiki page on how to configure the interrupts through BIOS, but it isn't working.

    Which Wiki page did you read?
    Which version of BIOS are you using?
    Which version of CCS are you using?
    What is not working?

    akshay bharadwaj said:
    Can you please tel me how i can prevent my PaRAM set registers from resetting?

    You probably set the LINK field in the PaRAM to 0xFFFF which causes the PaRAM to be cleared when the transfer is completed. What you are asking to do is accomplished using Linking, which requires another PaRAM set from which the main PaRAM will be reloaded after the transfer has completed. The EDMA3 User's Guide is the place to read up on Linking.

    Regards,
    RandyP

  • Randy,

    Apologies for the inconvenience.. Will keep in mind from the next time.

    Which Wiki page did you read?

             Setting up interrupts in DSP BIOS.
    URL: http://processors.wiki.ti.com/index.php/Setting_up_interrupts_in_DSP_BIOS


    Which version of BIOS are you using?

    I am using DSP/BIOS v5.00 Configuration tool


    Which version of CCS are you using?

    Version of CCS Tool is v 5.2.0.00069


    What is not working?

    The ISR is not working. From the tcf file , you can see that i have bind my ISR to EDMA global interrupt , event 24.

    I am checking for the corresponding bit to go high in the IPRH, and its going hing, which means its creating the global interrupt. I have configured the ISR to HWI 4 in the tcf file. But the ISR is not getting executed.

    I will check the linking and put up an update.

     

    UPDATE:

    The linking of PaRAM registers is working and I need not recall the PaRAM setup again!! Thanks.

    But the ISR problem still persists!!

  • Akshay,

    akshay bharadwaj said:
    I am checking for the corresponding bit to go high in the IPRH, and its going hing, which means its creating the global interrupt. I have configured the ISR to HWI 4 in the tcf file. But the ISR is not getting executed.

    "hing"?

    Nothing from the IPRH "means it's creating the global interrupt". That is determined by the mapping.

    Does the DSP's IFR bit get set?

    Is the DSP's IER bit set (not the EDMA3's IER bit)?

    You should go through the archived training for the C6455 on the Wiki. Go there and search for "C6455 workshop" (no quotes). The IW6455 class will walk you through BIOS and EDMA examples in the labs and present material you will need after you finish this part of your project.

    Regards,
    RandyP

  • RandyP,

    Extremely Sorry for the typo error. I meant *High.

    I am a checking the register 0x01800104 i.e. Interrupt Multiplexor Register 1 for the event values given in the tcf, they are successfully update. I have used HWI 4 for EDMA Global Interrupt (Event no 24) and HWI 5 for GPIO 2 event (Event no 53 ).

    To Enable the IER, i have called the function

    C64_enableIER (C64_EINT4 | C64_EINT5);

    as said in the wiki page  "Setting up Interrupts in DSP BIOS".

    To manually check IFR and IER bits, I am not getting the register map for the same. Nor am i getting any reference to the above said registers in the Datasheet.

    Regarding the training Material, I will go thru.

    Regards

    Akshay