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.

UniFlash programming F28M35x

Other Parts Discussed in Thread: UNIFLASH

1) I used UniFlash (v3.4) to program both M3 and C28 with GUI and command-line.  

   UniFlash seems to erase the sectors, program and verify without any error.

2) But, when I erased the flash on both core first, performed a blank check.

   Then program C28 and M3.  Uniflash hanged, spinning....

What is the procedure for program a fresh (blank) F28M35x device using UniFlash?

Thanks.

  • Hi,

    Its similar and there should not be any issue. Can you be a more specific? Is this happening with the same setup?

    Regards,
    Gautam
  • If we use UniFlash to program a "fresh" F28M35x device, (never been programmed before),

    1. Does M3 and C28 need to be kept in "Wait-in-reset"?

    2. Which UniFlash options to set "Wait-in-reset"?

    3. Which core need to program first?

    4. On the ControlCARD H52C1, do we need to GND pin 2 of J21? ....

    Generally, we need the procedure to transfer two files (M3.out and C28.out) into F28M35x flash, 

    using UniFlash.

    Thanks,

  • Tim,

    You said you programmed C28x first. When M3 is not programmed and you try to program C28x, you should keep M3 from causing resets (due to illegal opcode fetch). As you might know, UniFlash connects to only one core at a time and hence on a fresh or unprogrammed device, you should prevent M3 from fetching illegal code from Flash or RAM - You can prevent this either by using EMU0/1 based wait-in-reset mode or by using a boot mode like serial (using bootmode GPIOs) where in the core waits in a loop until UniFlash gets connected. UniFlash does not configure Wait-in-reset mode.

    If possible, it is better to program M3 first since C28x will be in idle mode after Bootcode execution and does not cause any issue for M3 operations.

    I will ask our Control card expert to reply on the control card question.

    Thanks and regards,
    Vamsi
  • Hi Tim,

    4. On the ControlCARD H52C1, do we need to GND pin 2 of J21? ....

    No, you shouldn't need to do this.


    Thanks,
    Brett

  • Hi Brett,

    We checked, without connecting J21-pin2 to GND,

    When we tried to
    1. Erase M3 flash
    2. Blank Check M3 flash
    3. Erase C28 Flash <-- UniFlash seems to hang indefinitely here....
    4. Blank check C28 flash

    (But with connecting J21-pin2 to GND... which holds M3 wait-in-reset, then it is OK)

    My question is
    Is there any command-line options to pass to UniFlash to keep both cores wait-in-reset? (So we do not need to connect J21-pin2 to GND)

    (We tried -targetOp reset ... which does not seem to keep M3 in reset)

    Thanks,
  • Tim,

    UniFlash does not help to keep the cores in wait-in-reset mode. You can write a DSS script that can communicate with both the cores and keep the M3 core connected while erasing/programming the C28 core.

    Wiki links for Debug Server Scripting in UniFlash:
    processors.wiki.ti.com/.../Debug_Server_Scripting
    processors.wiki.ti.com/.../UniFlash_Quick_Start_Guide

    Thanks and regards,
    Vamsi