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.

Receive Interrupt on SPI1 not being serviced

Other Parts Discussed in Thread: OMAP-L137, OMAPL137-HT

Hi all, 

I have OMAPL137 (DSP core C6000) connected as a slave SPI. I can receive data from the Master, but it does not trigger the ISR (Breakpoint in ISR). I have enabled the ISR.

I see that the data is copied correcly to the SPIBUF. I also see that the flag is raised in SPIFLG. When i read the INTVEC1 in my routine, it gives me 12H which means interrupt should have been called. The only SPI interrupt enabled is RX buffer full interrupt in SPIINT0. I have also set the level to INT1 in SPILVL. 

Outside from this scope, I understand i need to set INTMUX correctly. So i set INTMUX2 with event#43 at place of Interrupt#8. But interrupt#8 is not called eventually. I even see that the event flag in EVENTFLAG1 is set for event#43, but the ISR is not called. 

Any help would be appreciated. 

Thanks, 

  • 1898541,

    There are more registers and bits and signals in the interrupt path than you have listed above.Look at IER and IFR and the GIE bit in CSR, assuming of course that you are trying to use the C674x DSP core in the OMAP-L137.

    The C674x DSP Megamodule Reference Guide and the CPU & Instruction Set Reference Guide, along with the datasheet, will provide you with the information you need. You may also find it helpful to review the online training material for the C6000 Embedded Design Workshop. Go to the TI Wiki Pages and search for it, then you can download the Student Guide and the labs to get a user-friendly introduction to many features of the C6000 family and Code Composer Studio and SYS/BIOS. Even though the class material is for the C6748, most of the course material will apply equally to the C6747 or OMAP-L137.

    Regards,
    RandyP

  • Thanks RandyP for the reply. 

    You are certainly right. I found the problem was the global interrupt not being enabled (CSR last bit). But I could not find this information mentioned in a straight forward method. For one the DSP mega module (SPRUFK5A) never talks about CSR register. This information is mentioned in a single paragraph in CPU and Instruction Manual (SPRUFE8B) . But then again it never talks about where to find information on IER and CSR. So i turned my attention to OMAPL137 Technical Manual (SPRUH92A). Doing a search on CSR returns me nothing. This all leads to a lot of confusion. Can you clarify where exactly do i need to refer. I am programming the DSP core on OMAPL137-HT. I would really appreciate your help. 

    Secondly your suggestion to go through the wiki pages means a lot of reading. I would love to do that to get to know the processor from the very beginning. But time would not allow me to do that. Nevertheless I would try my best to follow as much as i can. 

    Another question not pertaining to the issue here, if i may dare to ask. Are there any device drivers available to connect the DSP to AT45DB321 (32Mb flash) via SPI ? or to any related flash where i can easily port the code over instead of writing my own drivers.

    Thanks again and have a nice day :) 

  • 1898541 said:
    I found the problem was the global interrupt not being enabled (CSR last bit). But I could not find this information mentioned in a straight forward method. ... Can you clarify where exactly do i need to refer.

    Glad to hear you found your problem with this issue.

    In the datasheet, you will find a list of related documents in Section 6.2 Documentation Support. For your immediate question, although solved, I would reference the Datasheet, Megamodule Reference Guide, CPU & Instruction Set Reference Guide, and the TRM's section on the DSP Subsystem (esp. Interrupt Controllers).

    1898541 said:
    Secondly your suggestion to go through the wiki pages means a lot of reading. I would love to do that to get to know the processor from the very beginning. But time would not allow me to do that.

    You are very brave to start developing with a new processor without taking advantage of the training material and software support that we provide. The OMAP-L137 Product Folder on TI.com is the starting point for all of the available support and documentation for the device. You will find the list of Software & Tools products that are available, and all of the Technical Documents that are available.

    The training I referenced on the Wiki is the place to get a quick boot-up that ties together the common points that apply to a new project development plan. Use of the software tools is covered, as well as how to program some simple examples and how to take advantage of the major features of the device.

    One option is to contact one of the companies on our TI Design Network. You can get there from TI.com, Applications Tab. It might take a few calls to find the right agency, but it could be worth it to get your project done quickly without having started with a previous design on this processor.

    Many users use the DSP as an accelerator that simply runs codecs or other software that is purchased or licensed outside. Then they can run Linux on the ARM9 and use the drivers that are available there. This abstracts away many of the details of the device architecture.

    1898541 said:
    Are there any device drivers available to connect the DSP to AT45DB321 (32Mb flash) via SPI ?

    That Software & Tools section on the Product Folder includes an SDK for the DSP and for Linux. You will find all available device drivers and examples there.

    Regards,
    RandyP

  • Thanks RandyP for a detailed response. 

    I appreciate the help you are providing here. Means a lot to me. It's a lot of information to digest, so hopefully over few months i'll try to read more on the subject as i familiarize myself to the platform. I have noted the links to get started.

    Have a nice day ..

    AQ

    Note: Is there a way to change my username here ? i am stuck with these numbers and cannot change it from my account settings ?