Other Parts Discussed in Thread: CONTROLSUITE, UNIFLASH
Hello.
I tried dual examples (i.e. blinky_dc_m3 and blink_dc_c28) for Concerto F28M35H52C1 in the controlSUITE v3.1.2.
For the first time, they worked well.
But C28 does not work from a few days ago,
The problem is that IPCMtoCBootControlSystem function cannot make C28 boot.
I found the cause from RAMControlInitM1MsgRam function.
When RAMControlInitM1MsgRam function calls IPCLiteMtoCSetBits_Protected function,
the MTOCIPCFLG register is set to 0x80000000 (i.e. IPC_FLAG32 is set to 1).
Thus it decided that the RAM INIT process failed.
unsigned char
RAMControlInitM1MsgRam(void)
{
unsigned int ii = 0;
//RAM INIT for M1, and CTOM MsgRAM - M0 RAM INIT is done by C-BootROM
IPCLiteMtoCSetBits_Protected(IPC_FLAG1,
CRAM_CRTESTINIT,
(CRTESTINIT_RAMINIT_M1 |
CRTESTINIT_RAMINIT_CTOMMSGRAM),
IPC_LENGTH_32_BITS, IPC_FLAG32);
//wait until C-BootROM acks
while(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG1) ;
//CHECK IF pass or fail
if(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG32) <-- MTOCIPCFLG = 0x80000000
{
//still set - so command failed.
return 1;
}
I didn't make any change to existing source codes.
Also I re-installed the controlSUITE and tried again, but failed.
I don't know why this problem happens.
Give me an advice.
Thanks in advance.
Dongseung