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.

TMS320F2800157: Could not burn program in flash

Part Number: TMS320F2800157

Dear Expert

We are currently encountering some issues with the TMS320F2800157 chip and would like to inquire about:
We took a new chip from the warehouse to develop a new project and found that it could not be programmed. The peripheral voltage was normal, but the reset pin (with a 2.2k pull-up) was periodically pulled down (about 14ms once), causing it to be unable to be programmed. The burning adopts a 4-wire system (VCC GND TMS TCK). Because we had previously developed projects using this chip and did not find this issue, we replaced the problematic chip with a non problematic peripheral platform and found that the reset pin was still periodically pulled down. Please help to see what problem is causing the reset foot to be constantly pulled down.

Below is RST pin waveform:

2459a9edf257ce3d0de980262be9bbe.jpg

  • Hi Gabriel,

    Let's break down the JTAG lock issue and the reset pin problem with the TMS320F2800157, based on your description and the provided information. I'll address both separately, then connect them.

    1. JTAG Lock and Firmware Downloads

    • JTAG Lock Function: The TMS320F2800157, like many other microcontrollers, has a JTAG lock mechanism. This is a security feature. When enabled, it prevents debugging and firmware downloads via JTAG. The intention is to protect the code from being easily read or modified by unauthorized parties.
    • Can you download firmware after JTAG lock is enabled? No, not directly via JTAG. Once the JTAG lock is set, standard JTAG programming tools (like those in Code Composer Studio) will be unable to communicate with the device for flashing.
    • Recovery from JTAG Lock: Recovering from a JTAG lock can have limited options and often requires special procedures, potentially involving a debug probe capable of bypassing the lock or specialized unlocking sequence, These might be manufacturer-specific and/or require specific hardware tools. It's crucial to know HOW the JTAG lock was enabled (e.g., through software configuration, fuses).

    2. Reset Pin Periodically Pulled Down – Diagnosis and Possible Causes

    The intermittent pulling down of the RESET pin is the primary source of your programming problem. The waveform you provided is very helpful. A periodic reset signal is almost always a sign of one of the following issues:

    • Brown-out Reset: The most likely cause initially is brown-out. The F2800157 has a Brown-out Reset (BOR) circuit. If the voltage on VCC drops below a certain threshold, the BOR will trigger a reset. The period of ~14ms suggests this could be the culprit. Even a slight fluctuation in the power supply can trigger it.
    • Internal Oscillator Instability: Rarely, an internal oscillator (used for timing) could become unstable, leading to spurious resets.
    • Software Triggered Reset: An errant interrupt or section of code within the existing, potentially corrupted, firmware could be intentionally (or unintentionally) asserting the RESET pin internally. This means the chip is resetting itself.
    • External Interference: Electrical noise on the power supply or RESET line could be misinterpreted as a reset signal. This is less common if your lab setup is well-filtered and grounded.
    • Faulty Chip: Less likely if it happens on multiple chips, but a flaw within the microcontroller itself could be causing the reset signal.
    • JTAG Lock Related Issue: In some cases, an incorrect or incomplete JTAG lock setup can result in a reset loop. This is especially possible if the lock configuration process was interrupted.
    • Bootloader Issues: A corrupted or malfunctioning bootloader could be causing the reset loop.

    Connecting the Two: JTAG Lock and Reset Issue

    It's unlikely that simply having JTAG lock enabled directly causes the reset pin to be pulled down intermittently. However, there are important connections to consider:

    • Failed JTAG Lock Attempt: If you attempted to enable the JTAG lock and the process failed or was interrupted, it’s possible the chip ended up in an unusual state where it keeps entering a reset cycle. The incomplete write process can corrupt essential parts of flash memory including the bootloader.
    • JTAG Lock Code: If you were performing the JTAG lock enable through software (writing to specific flash memory locations), the code itself could have a bug that's causing unintended resets.
    • Incorrect JTAG Configuration: Incorrect JTAG pin configuration (wrong voltages or compliance) during the JTAG lock process potentially can corrupt the flash.

    Troubleshooting Steps (Prioritized)

    1. Power Supply: This is the first thing to verify.

      • Clean Power: Use a stable, regulated power supply. Ensure the voltage is within the F2800157's specified range (typically 3.3V, but verify in the datasheet).
      • Decoupling: Make sure you have adequate decoupling capacitors (0.1uF and 10uF typically) very close to the VCC and GND pins of the F2800157.
      • Measure: Use an oscilloscope to carefully monitor the VCC voltage at the chip's pins while trying to program it. Look for voltage dips or noise.
      • Power Supply Current: Monitor the current draw of the F2800157 during the programming attempt. An abnormally high current draw can indicate a short circuit or a problem within the chip.
    2. Reset Pin Circuit:

      • Verify 2.2k Pull-up: Double-check the pull-up resistor (2.2kΩ) is correctly connected and functioning. Measure its resistance with a multimeter.
      • Check for Shorts: Inspect the RESET line for any shorts to ground.
      • Isolate: Temporarily disconnect the RESET pin from your application circuit. Connect it directly to the 3.3V supply through the 2.2k pull-up resistor. If the problem disappears, it means something in your application circuit is interfering.
    3. JTAG Signal Integrity:

      • Short Wires: Use the shortest possible wires for your JTAG connection.
      • Impedance Matching: Ensure your JTAG adapter and target board have similar impedance (typically 50 ohms).
      • Proper Grounding: A solid ground connection between your JTAG adapter and the target board is critical.
    4. Software/JTAG Lock Investigation:

      • If you attempted to enable the JTAG lock: Try to use a debugger with the ability to step through code. See if you can identify the exact point where the reset is triggered.
      • Flash Diagnostic Tool: Some TI development tools include diagnostic routines to check the flash memory for corruption. This can help if the JTAG lock process corrupted it.
      • Factory Reset: Refer to the F2800157 datasheet to see if there is a factory reset procedure that can clear any faulty configurations. Be careful, this may erase all the memory on the chip.
    5. Chip Verification:

      • Swap Chips: If you have another known-good F2800157, swap it into the circuit. If the problem disappears, the original chip is likely faulty. (You stated you already have done this, but important to reiterate).

    Important Considerations:

    • Datasheet: Keep the TMS320F2800157 datasheet handy. It's your primary source of information about the chip's features, specifications, and programming procedures.
    • Code Composer Studio (CCS) Settings: Review your CCS project settings. Make sure the correct device is selected and the JTAG interface is configured properly.

    To help us narrow down the problem further, could you provide the following information:

    • How did you attempt to enable the JTAG lock? (Software? Fuse settings?)
    • What JTAG emulator/debugger are you using? (e.g., XDS110, Blackhawk)
    • Can you provide a schematic of the RESET circuit and the JTAG connection?

    Best Regards,

    Zackary Fleenor

  • Hi Gabriel,

    Any feedback on this thread?

    Best Regards,

    Zackary Fleenor

  • Hi Gabriel,

    I wanted to follow up one more time on this thread. It's been about three weeks since my last message, and I haven't heard back from you regarding the TMS320F2800157 reset pin issue and JTAG lock question.

    I understand that troubleshooting can take time, and you may have resolved the issue on your own or are still working through the diagnostic steps I provided. Either way, I'd really appreciate an update so I can:

    1. Learn the outcome - If you found the root cause, it would be valuable to know what resolved it (power supply issue, faulty chip, JTAG lock configuration, etc.) for future reference and to help other customers facing similar issues.

    2. Provide additional support - If you're still experiencing the problem or have hit any roadblocks, I'm here to help with further troubleshooting or alternative approaches.

    3. Close the thread appropriately - If the issue is resolved, we can mark this thread as solved, which helps other engineers searching for similar solutions.

    Quick recap of the key diagnostic steps I recommended:

    • Verify power supply stability with oscilloscope monitoring
    • Check decoupling capacitors near VCC/GND pins
    • Verify the 2.2kΩ pull-up resistor on RESET
    • Investigate whether a failed JTAG lock attempt may have corrupted flash/bootloader
    • Test with known-good chip (which you mentioned you tried)

    If you could provide even a brief status update—whether resolved, still troubleshooting, or moved to a different approach—it would be greatly appreciated.

    Looking forward to hearing from you.

    Best Regards,

    Zackary Fleenor