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.

F28M35 Dual Booting problem

Hi Guys!

I've got some problems with Concerto F28M35 controller, Sometimes the C28 starts, sometimes not: The M3 side starts like this:

---------------------------------------------------

          #ifdef _FLASH
              memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

                  SysCtlSubSystemReset(3); //both control and analog reset
                  IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
              FlashInit();
          #endif

--------------------------------------------------

When the c28 processor halts during the boot process it sends:

CTOMIPCBOOTSTS = 0x00210000 (ITRAP occures during the boot procedure)

CTOMIPCCOM =0xFFFFFFFE

I'm not sure whats wrong, could you guys suggest anything?

Andrew

  • Andrew,

    which revision of the F28M35x is this? we have an errata on C-Boot ROM for REV0 of devices. This is fixed on REVA. So I suggest using that so you don;t have to deal with work arounds. But you can try below.

    Try taking out the SysCtlSubSystemReset(3) function call before the IPCMtoCBootControlSystem() call.

    on REV0, any time C-Boot ROM is run while flash is already active the C-Boot ROM will enter iTRAP. C-Boot ROM will run if you reset the core and hit run or when you reset the core while the core is already in RUN state.

    if you are debugging dual core application with CCS connected to both M3 and C28x, then you don;t have to send an IPCBootMode command from M3, because you connect to both cores, load and run. I suggest you to follow that proceedure and once you have fully debugged you applicaiton, put the IPCMtoCBootControlSystem function back and program flash and run them stand-alone and see that it should work.

    again, this is fixed in REVA you woudn't have to worry about any of above on REVA device.

    Hope it helps.

    Best Regards

    Santosh

     

     

     

  • Santosh,

    Thanks for your fast reply!

    So you say, that this problem only occures during debugging?

    Regards,

    Andrew

  • Santosh,

    I remember now, i've put the "SysCtlSubSystemReset(3);" in the beginnig to the M3 code,

    'cause the SysCtlReset(); doesn't work well. (I'm not sure why, but It doesen't resets the whole device well) - So i worked around this problem my way :(

    I have to reset sometimes the device via a UDP packet from a computer GUI. (Cause the processing algorythm i wrote sometimes crashes - my fault :)

    -And in the near future i'd like to use our own flash (dual core) bootloader)

    Do you have any ideas what to do with the SysCtlReset?

  • Andrew,

    Just comment it out while you develop on REV0 samples. You should be able to get some REVA samples and the TMS version of the chip is going to be out soon as well. You will not have these problems on the later REVs of the chip.

     

    Best Regards

    Santosh