Hi There,
I have a project which is using a TMS320f28069 MCU - I am making use of the CLA to take care of some simple processing.
While debugging the program executes as expected - the CLA task is started, finishes and triggers an interrupt. However, when the micro experiences a power cycle the CLA appears to operate as expected once, but the task remains flagged as busy (even after the task-done interrupt has fired).
(Side note: After a power cycle a WDT reset is flagged as having occured - not sure if this is related)
I have collected the information below over UART. On the left are the actions and registers while debugging, on the right are the values after a power cycle. Each line is in the format [Action] [MIER][MIFR][MMEMCFG][MIOVF][MIRUN][MPC][MSTF][MTCL] where the action is what I was doing/about to do at the time the registers were read.
I = Initialised CLA task 1 (The bulk of CLA initialization had been done before this point)
K = Not of relevance for this problem (At this stage I am bit-bashing an external ADC)
X = Interrupt occurred from which I (if the conditions are correct) start CLA task 1
C = Not relevant (no actions actually taken while this data was collected - it will normally be used to start CLA task 2)
> = About to start CLA task 1
< = CLA task 1 completed interrupt
(This table will probably be easiest to read if you copy/pase it somewhere easier to read)
|
I 0x00ff 0x0000 0x0071 0x0000 0x0000 0x0000 0x0000 0x0004 I 0x00ff 0x0000 0x0071 0x0000 0x0000 0x0000 0x0000 0x0004 |
I 0x00ff 0x0000 0x0071 0x0000 0x0000 0x0000 0x0000 0x0004 K 0x00ff 0x0000 0x0071 0x0000 0x0000 0x0000 0x0000 0x0004 |
From this output I can see that the first time I run CLA Task 1 it finishes and triggers the task-done interrupt on the main CPU, although MIRUN indicates that the task is still active. The datasheet specifies that this flag should have been cleared automatically when the task finished.
Any ideas?
Thanks in advance,
Elliott