Hello everyone!
Recently I have asked a question about failure with booting Concerto (F28M35H52C1) in Standalone Mode using flash. The last question in that thread - http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/279135/974871.aspx#974871 .
I was examining Lab 5 from Concerto workshop (unchanged, from the "Solutions" folder).
But today I had some progress exploring reasons of such a strange behavior. It's in the usDelay ASM function, which is used in InitAdc1() - this call caused reboot of both CPUs (I can tell that by LEDs). Let me describe the strangest thing:
1. Load programs in FLASH memorys (memories?).
2. Check it in Debug mode - running.
3. Disconnect target (without terminating Debug Session), program keeps running. Power off the MCU.
4. Power on - not running.
5. And then connect back to the MCU without reloading program and launching - running.
I can't understand this, this may be CCS error. So the only thing I could do - was to comment the line DELAY_US(ADC_usDELAY) in InitAdc1().
After that the first part of code works properly. But i got a new problem, and now I have no idea how to solve it.
The ARM core falls(haha) to the Fault_ISR() after executing the IPCCtoMFlagAcknowledge(IPC_CTOMIPCACK_IPC1)
Voltage_M3[2]= AdcValue; // read and store result from CtoM – Ram
in Lab5_M3.c. The C28 continues running. And it acts just like described above - the program is working properly only with debugger connected to the MCU.
I am now reading TRM: IPC, looking for answer, but can't find anything. I've checked forum, and found no such problem.
Upd1 [25 Jul] - problem is in reading from CtoM RAM.
Also, please look at this post of this thread: http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/279813/976825.aspx#976825
Please, help.