I am having trouble with DMA and suspect the MPORT may be idle. How can I view the status of this bit? I can't seem to find the Idle Control Register in the Register view window in CCS. Can someone guide me to its location?
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.
I am having trouble with DMA and suspect the MPORT may be idle. How can I view the status of this bit? I can't seem to find the Idle Control Register in the Register view window in CCS. Can someone guide me to its location?
Mike,
I've never found it in the CCS register view either. Given that, I'd say your best bet is to read the ISTR register (Note I didn't say ICR) in your code somewhere after you think the problem has occurred and then halt the debugger just after you've read it and see if MPORTIS bit is '1' which would indicate that the MPORT is idled as you fear.
I've used code similar to the following to accomplish this:
typedef struct
{
volatile Uint16 ICR;
volatile Uint16 ISTR;
} CPU_IdleRegs;
typedef volatile ioport CPU_IdleRegs * CpuIdleRegsOvly;
#define CPU_IDLE_REGS ((CpuIdleRegsOvly) 0x0001)
Uint16 ReadISTR( void )
{
const Uint16 u16ISTR = CPU_IDLE_REGS->ISTR;
return u16ITR; // <<< Set a breakpoint here >>>
}
Bon chance...
-Jim
Thanks Jim. I''ll give it a try. I get the feeling that there are quite a few cases of missing or misnamed registers in the C55xx family/CCS (http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/t/164530.aspx#600922). Is the C55XX family a bit of an orphan at TI or is the support and documentation just lagging?
Mike,
I used 5509A for a few years and dealt with insufficient support and documentation several times.
There seems to be a bit more docs for the C5504/05/14/15, but frequently I find that you need
to look at multiple sources of docs as each one might contain some of but not all the information
you need and in some cases one is misleading and another provides more concrete info.
The code in my previous post was my own attempt at providing a CSL-like I/F to the ICR & ISTR.
I've found that if there were a few more concrete examples of the idle mode it would dealing with
it a whole lot easier, but finding the couple I did took a while and they weren't detailed enough.
-Jim