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.

TMS320F28379D: About booting CPU2

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

I was able to boot CPU1 conducting following E2E way.

https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/948211/3505285

But CPU2 seems like not booting.

I was using OTP and I set Z2 BOOTCTRL register is as same as Z1 control register.

Is there something wrong?

If you have any advise to boot CPU2, please let me know.

Best regards

Naoki

  • Hello

    How are you booting CPU2? Are you programming CPU2 OTP or are you letting CPU2 go to wait boot, then having CPU1 send IPC command to CPU2 to boot?

    Best regards

    Chris

  • Hello. Thank you for answering questions.

    I want to use GPIO43 and 42 for Boot mode pins. And I want to use flash Boot.

     1)I set Z1_Boot CTRL register and Z2_Boot CTRL register  0x2A290B5A.Is that correct?

       If I set above setting CPU1 can boot from flash. But CPU2 is not seems like booting.

     2)Or I should set  wait boot to Z2_Boot_CTRL? What is the meaning of wait boot?

     3)At GUI of ON-Chip flash, there is core selection drop down list.

        If I set Z2_Boot CTRL register , this drop down list is not relevant?

    Best regards

    Nishimura 

  • Hello

    Yes that BootCTRL looks correct and I agree with setting that. You're programming the OTP on CPU1. This won't affect CPU2.

    Now you want CPU2 to go to wait boot (which it will by default) where it enters an idle mode in ROM where it will wait for an IPC command to boot to application. The CPU1 flash app needs to tell CPU2 to boot. You can observe this in the dual core examples in C2000Ware.

    In order to emulate standalone with debugger connected, the following steps should perform:

    (With each CPU flash programmed already)

    1. Reset CPU1 (CPU reset, not restart)

    2. Set EMUBOOT to flash CPU1

    3. Reset(CPU reset, not restart) CPU2

    4. Run CPU2 (Don't set bootmode to flash, for this type of scenario don't use the gel scripts, you want it to go to wait boot). If it halts, tell it to run again.

    5. Run CPU1

    6. CPU1 will then boot to flash, while CPU2 is waiting for BOOT IPC command

    7. CPU1 app will send IPC to boot CPU2 to flash

    8. CPU2 will boot to flash and run

    Best regards

    Chris

  • Hello. Thank you for answering questions.

    You mentioned that "Don't set bootmode to flash, for this type of scenario don't use the gel scripts, you want it to go to wait boot".

    And you also agree with my OTP programming.

    I am setting  Z2_Boot CTRL register 0x2A290B5A,BOOT MODE is setting 0B:flash.

    Is it not correct?   Is it have to set wait mode? 

    If wait mode is correct, Is setting need not to change from default?

    Best regards

    Naoki

  • Naoki

    You're setting the boot mode to flash in OTP on CPU1, which is correct.

    For CPU2, you want it to boot to wait boot where it can then receive the IPC command from CPU1 app to boot to whatever boot mode you want.

    Best regards

    Chris