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.

configuring UART ISR using DSPBIOS 5.41 on 5535 ezdsp

Hi

I'm trying to configure a simple UART isr that reads character on UART interrupt and posts a TSK or an SWI to do some operations.

But my ISR is not getting called at all. Please help me out.

Regards,

Ashok

  • Hi Ashok,

    Can you please share your BIOS configuration file? (*.tcf file)

    What drivers are you using for this?

    Steve

  • Hi Steve,

    Thanks for the response. I'm using the CSL functions to set up and config the UART. I'm trying to use HWI_6 for my UART ISR. I have attached my tcf file. Please guide me. I have renamed it to .txt and .tcf file was not getting attached.3107.dsp.txt

  • Ashok,

    Thanks for attaching that.  I see that you've made a HWI instance and assigned it to HWI6 with ISR function "uart_isr".

    Ashok H.S. said:
    I'm using the CSL functions to set up and config the UART. I'm trying to use HWI_6 for my UART ISR.

    Are you using any CSL APIs to configure hardware interrupts?  There are known conflicts between CSL and BIOS interrupt managers.  You should not use the CSL to configure interrupts if you are using BIOS.

    It would also be helpful to know a little more about the CSL you are using.  Do you know which version of CSL you have?  Did you get it from an SDK product of some sort?  What about documentation, is there an API guide that details the UART APIs and how to use and/or set up the UART using the APIs?

    I assume you have tried putting a break point at your uart_isr function, correct?  And you are not seeing that break point hit during your program run?

    Can you also put a break point at HWI6 and see if you are hitting that?  I believe you can just enter "hwi6" or "HWI6" into the dis/assembly window to get to the assembly code for it (and then you'll be able to set a break point).

    Steve

  • Steven Connell said:
    Thanks for attaching that.  I see that you've made a HWI instance and assigned it to HWI6 with ISR function "uart_isr".

    Yes.

    Steven Connell said:
    Are you using any CSL APIs to configure hardware interrupts?  There are known conflicts between CSL and BIOS interrupt managers.  You should not use the CSL to configure interrupts if you are using BIOS.

    I was using CSL functions only to setup and config the device and not the interrupts. But since the HWI setup through TCF did not work, and I had no time, I used the CSL functions to config interrupts as well and got the functionality what I wanted to get done. But still I will be glad if any one points out how to configure a HWI using TCF. You can take the same example of UART and explain if possible. Will be useful in my next functions.

    Steven Connell said:
    It would also be helpful to know a little more about the CSL you are using.  Do you know which version of CSL you have?  Did you get it from an SDK product of some sort?  What about documentation, is there an API guide that details the UART APIs and how to use and/or set up the UART using the APIs?

    The CSL package came with the Spectrum Digital 5535 ezdsp board. I don't see any specific documentation regarding it. I'm just using the example codes and the comments in the CSL files to get what I want to accomplish.

    Steven Connell said:
    I assume you have tried putting a break point at your uart_isr function, correct?  And you are not seeing that break point hit during your program run?

    Yes. I don't see break point hitting.

    Steven Connell said:
    Can you also put a break point at HWI6 and see if you are hitting that?  I believe you can just enter "hwi6" or "HWI6" into the dis/assembly window to get to the assembly code for it (and then you'll be able to set a break point).

    Will try it when ever I get some time as right now I have moved on without the HWI config using TCF.

    Thanks & regards,

    Ashok

  • Hi Steve,

    I'm finding the CSL method of HWI handling is too flaky. It works some times and it doesn't work some times. So Again I'm trying to use the HWI handling from the TCF file. But I'm not able to hit the break points as as you mentioned at the hwi6 when I run my code.

    Please let me know what all things I should take care while handling the HWI's using TCF.

    Thanks & regards,

    Ashok

  • Ashok,

    Please have a look at this forum and the wiki topic that it links to, discussing CSL and BIOS apps.

    Steve