Tool/software: Code Composer Studio
What should I do to let my app can recognize keyword interrupt? Right now my app can't recognize keyword interrupt and compile failed.
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.
Tool/software: Code Composer Studio
What should I do to let my app can recognize keyword interrupt? Right now my app can't recognize keyword interrupt and compile failed.
Please post which AM335x Processor SDK you are using - Linux or TI-RTOS?
I take over the repository for TMS320F2837x. I need to modify it for AM3358. The keyword interrupt from old repository. Right now my app can't recognize keyword interrupt and compile failed. I don't know how old repository can recognize keyword interrupt. It just write interrupt service routine
interrupt void doSomething()
{
}
Thanks
Anping,
TMS320F2837x is a 32 bit C2000 DSP while AM335x is part of our SItara Processors business. The software, compiler is not the same as you can see from your processor SDK RTOS install.
Can you clarify what you mean by keyword interrupt in your system is it GPIO based or USB based interrupt or a voice triggered interrupt to the SOC.
Regards,
Rahul
/*****************************************************************************
*
* NAME : rx_callback
*
* DESCRIPTION : Called from the DMA ISR when an interrupt occurs.
*
* RETURNS : void
*
*****************************************************************************/
interrupt void rx_callback
(
void
)
{
}
It looks like GPIO based. I am not sure. rx_callback used to be a callback function for copying the Data received over the bus to local data. It change to interrupt to let dma do copy and it just release semaphore. It is other people code. Thanks
Keyword interrupt supported on C2000 is not support on AM335x or may be referred to by a different name. GPIO peripheral and driver is supported so you need to get clarification from the people whom you are taking over the code regarding the implementation as you have simply posted an empty ISR for us to refer and no detail on what is generating the interrupt.
Regards,
Rahul
Hi Rahul
The life will be a lot easy for me if I can talk with the code writer. He or She has gone! You said "Keyword interrupt supported on C2000 is not support on AM335x or may be referred to by a different name. " can you tell me what should I do on AM3358. I gave you the description "Called from the DMA ISR when an interrupt occurs" for the ISR. I think interrupt here is DMA interrupt. How to connect my ISR to DMA ISR on AM3358? Thanks
Anping,
Can we close this issue or do you still need help with this topic. I have pointed you to numerous DMA examples in your other post so I believe this topic can be closed as it relates to keyword interrupts which don`t exist on AM335x devices.
Regards
Rahul
Hi Rahul
I know Keyword interrupt supported on C2000 is not support on AM335x. But I like to know how AM335x implement to achieve what interrupt supported on C2000 do. The DMA examples are not exactly what I need. What I need is when received data come, it trigger the ISR. This ISR copy received data to local variable and release semaphore. Thanks
All the drivers that we provide in the PDK for serial drivers have this function implemented in blocking mode. For example, you can look at the source of the UART or SPI driver where the Receive interrupt triggers ISR which copies the data to local buffer and releases the semaphore.
Let us know if this doesn`t suffice your requirements.
Regards,
Rahul
I have MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject, MCSPI_SlaveMode_MasterExample_bbbAM335x_armExampleProject for SPI driver and UART_BasicExample_bbbAM335x_armExampleProject, UART_BasicExample_bbbAM335x_armTestProject, UART_FwExample_bbbAM335x_armExampleProject, UART_FwTest_bbbAM335x_armTestProject and UART_FwTestExtLb_bbbAM335x_armTestProject for UART driver. I can't find how they configure interrupt, something like
/* initialize each receive buffer descriptor */
for ( frame = 0; frame < pChan->uart.rxBdNum; frame++ )
{
pChan->uart.rxBdBase[frame].statusMode = BD_RX_EMPTY_BIT |
BD_RX_INTERRUPT_BIT;
pChan->uart.rxBdBase[frame].dataLength = 0;
pChan->uart.rxBdBase[frame].dataPointer =
pChan->uart.rxBufBase + ( frame * pChan->uart.rxBufSize );
}
and how to install the ISR in the application. Can you give me a example project to have this function implemented in blocking mode. Thanks