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.

Concerto: Failure in RAMControlInitM1MsgRam function

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