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.

F28M35H52C: M3 not working

Part Number: F28M35H52C
Other Parts Discussed in Thread: TMDSCNCDH52C1, C2000WARE

Hi,

We have some issue regarding the M3 on the chip. The chip passes the JTAG test successfully and the C28 part of the chip flashes successfully and also runs whereas in the M3 part, the code flashes successfully but it does not seem to be running. We dont get the run button in CCS too. The chip is used in a customized board and the board has been tested and the chip did run without any issues. What could be the problem? Please suggest a solution.

Regards,

-Sushen 

  • Sushen,

    For reference with F28M35x dual subsystem debugging, please see the following workshop:

    processors.wiki.ti.com/.../C2000_Archived_Workshops

    Download the workshop manual and see Lab 1 on page 33, steps 37-46. Also, you can see Lab3 on page 77, steps 18-24, or Lab4 on page 91, steps 13-19.

    I am not sure why you are not getting the run buttom, but in CCS you can reset the perspective by clicking Window -> Perspective -> Reset Perspective. This might resolve the issue.

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Hi Ken,

    We followed the steps 37-46 on page 33 and it did help. Now we know that the M3 is working. There however seems to be another issue. Both the cores are not running simultaneously. When M3 runs, C28 does not and when C28 runs, M3 does not. Why could this be happening and what must we do to rectify this problem? Also, the code is not getting stored in the chip and we are having to flash it every time after power off. What could be the mistake?

    Regards,

    -Sushen

  • Sushen,

    Please see "Master and Control Subsystem Boot" in the workshop manual starting on page 36. The M3 is the master for the boot process and the M3 needs to send a boot command to allow the C28 application to begin execution, such as:

    IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Ken,

    Couple of observations we made:
    - The exact same code runs on the F28M35x dev kit.

    And the below observations are on our boards which we have designed:
    - Our boot mode was 1111. We changed to 0111 which makes it boot from flash.

    - On supplying an external reset through a momentary switch, both the cores run together with no issues. If external reset is not given the cores do not run together.
    - It does not look like Power On Reset is happening as code does not run until external rest is given after power cycling the board.
    - We think that the issue could be because of the board unable to reset itself.

    How correct are we? If yes, what is the solution and if no, how do we proceed?

    Regards,
    Sushen

  • Sushen,

    It sounds like this might be a hardware issue. Please check your board schematic against the controlCARD schematic, which can be found at:

    C:\ti\c2000\C2000Ware_<version>\boards\controlCARDs\TMDSCNCDH52C1\R_PWB_RevD\514982E_CONCERTO_DIMM100_RELEASE2_00_ALLEGRO_DEC_17_2011.pdf

    Check that your reset circuit matches the controlCARD schematic, including the reset circuit (on page 2) for the resistors and capacitors. Also, see the data sheet section 6.9 "Internal Voltage Regulation and Power-On-Reset Functionality" on page 182:

    www.ti.com/lit/SPRS742

    In the TRM see section 1.3.1.1 "Power-on Reset (POR)" on page 86:

    www.ti.com/lit/SPRUH22

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Ken,
    The datasheet said use any resistor between 2.2k and 10k and hence we had used 2.2k. We replaced them with a 10k and it resets perfectly as a result of which POR is also functioning perfectly. The issue as to why M3 was not running is maybe because of the core not able to reset as a result of which it did not know where to start running from in the code. This is what we think happened. The issue is now solved and thanks for all your help. You may close this thread.

    Regards,
    -Sushen