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.

RM57 ERROR issue

Other Parts Discussed in Thread: RM57L843, SEGGER, UNIFLASH

My project can be flashed into RM57l843 development target board by CCS. Because I modified some MPU configuration, maybe it has something error of MPU configuration. Now, my project can't flash into RM57 development target board by CCS.   when flashing by CCS, error prompt will pop up. It display "Error connecting to the target ; (Error - 1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.14.5)"

If I used SEGGER J-Flash V5.10 to connect my target board. There is also error prompt is poping up. "Could not detect CPU clock speed. Readback of test code downloaded into RAM failed. Failed to measure CPU clock frequency Could not start CPU core. (ErrorCode : -1) Failed to connect. Could not determine CPU clock frequency."

How I can recover my target to normal? What can I do for normally flashing my target board? Help !!!!

 

  • If I tried t again, there is another prompt "Error connecting to the target : (Error - 154 @ 0x0) One of the FTDI driver functions used to write data returned bad status or an error. (Emulation package 6.0.14.5)". How I recover my board? Hellp!!! Hellp !!!
  • My CCS version is 6.1.1
  • [Start: Texas Instruments XDS100v2 USB Debug Probe_0]Execute the command:
    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity
    [Result]
    -----[Print the board config pathname(s)]------------------------------------
    C:\Users\alian\AppData\Local\TEXASI~1\CCS\ ti\0\1\BrdDat\testBoard.dat
    -----[Print the reset-command software log-file]-----------------------------
    This utility has selected a 100- or 510-class product.
    This utility will load the adapter 'jioserdesusb.dll'.
    The library build date was 'Sep 4 2015'.The library build time was '21:59:23'.
    The library package version is '6.0.14.5'.
    The library component version is '35.35.0.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '4' (0x00000004).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.
    -----[Print the reset-command hardware log-file]-----------------------------
    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the FTDI FT2232 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for FTDI FT2232 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).
    -----[The log-file for the JTAG TCLK output generated from the PLL]----------
    There is no hardware for programming the JTAG TCLK frequency.
    -----[Measure the source and frequency of the final JTAG TCLKR input]--------
    There is no hardware for measuring the JTAG TCLK frequency.
    -----[Perform the standard path-length test on the JTAG IR and DR]-----------
    This path-length test uses blocks of 64 32-bit words.
    The test for the JTAG IR instruction path-length succeeded.
    The JTAG IR instruction path-length is 6 bits.
    The test for the JTAG DR bypass path-length succeeded.
    The JTAG DR bypass path-length is 1 bits.
    -----[Perform the Integrity scan-test on the JTAG IR]------------------------
    This test will use blocks of 64 32-bit words.
    This test will be applied just once.Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0Do a test using 0x00000000.
    Scan tests: 2, skipped: 0, failed: 0Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0All of the values were scanned correctly.
    The JTAG IR Integrity scan-test has succeeded.
    -----[Perform the Integrity scan-test on the JTAG DR]------------------------
    This test will use blocks of 64 32-bit words.
    This test will be applied just once.Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0Do a test using 0x00000000.
    Scan tests: 2, skipped: 0, failed: 0Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0All of the values were scanned correctly.
    The JTAG DR Integrity scan-test has succeeded.
    [End: Texas Instruments XDS100v2 USB Debug Probe_0]
  • Jia,

    You have me a bit confused with the Segger JFLASH / XDS100v2 combination. Usually think of Segger tools being used with a Segger JLINK emulator not an XDS100v2.

    But for CCS/XDS100v2 try the unbricking instructions here:
    e2e.ti.com/.../525005

    -Anthony
  • Anthony :

    Thank you for your reply.

    I followed the instruction of your link step by step.

    I can go step 1-11,  Cortex_Rx can't connect, then I tried to follow below process. I can go step 6 of 2nd order.

    I can write 0x00000001 to 0xFFFFFFCC, then I watched its value is 0x00010001. Afterwards, I re-connect the cortex Rx,

    but also can't connect it. A error prompt " error -2062" is popped up.

    I don't know why? would you give me some clue of solution?

    My CCS version is 6.1.1 and my cpu is RM57L843.

     

     

    1] Start CCS
    2] Open Target Configurations Window.
    3] Right click on your target configuration for your device.
    4] Click on Launch Selected Configuration.
    5] A new window (Debug) should be open.
    6] Right click on the entry in this window and select Show all Core.
    7] Right click on "Icepick" and select "Connect"
    8] Icepick should be connected now.
    9] right click on "DAP" and select "Connect"
    10] DAP should be connected now.
    11] Right Click on Cortex_R4 and select "Connect"
    12] Cortex_R4 should be connected.

     

    If you can connect with the DAP, there is one thing you can try to regain control of the part. (But it is tricky)
    1. Connect to the DAP as you did earlier, and leave the DAP connection highlighted in the Debug window.
    2. In a memory window enter the address 0x08000000 (start of RAM). The debugger will display the memory by reading it through the DAP without using the CPU.
    3. Change the value at that location to 0xEAFFFFFE (branch to self instruction)
    4. Change the memory window to address 0xFFFFFFC4. You should see 0x0000000A at this location. Change it to 0x00000005. This tells the bus matrix to switch Flash and RAM.
    5. Now write a 1 to location 0xFFFFFFCC. This causes a CPU reset.
    6. Now try to connect to the CPU in the Debug window.

     

     

     

  • lian,

    then what you need to do is repeat (many times) pressing the 'nRST' button if you have one, or assert the warm reset while at the same time clicking the RETRY button in CCS as it tries again to connect.

    You're trying to release nRST just about the same time you click the RETRY so that the code doesn't run far enough to get an error before the debugger stops it. You're trying to hit a very small timing window so vary the timing of nRST release and RETRY .. it may take 100 tries before you connect.

    After you get control - erase the flash so that it doesn't happen again. Make sure you have 'System Reset On Connect' selected for the flash settings before doing this..

    -Anthony
  • Hello, Anthony:Thank you very much for your suggestion.
    Now, I can successfully connect CortexR5 by pressing/releasing the "RST" button and Target Configuration.
    Currently, it has new issue. After connecting CPU by Target Configuration,
    I can see all registers variables value, but can't see all RAM variables value(from 0x08000000).
    Once, I tried to select On-Chip Flash ---> Entire Flash ---> Erase Flash, CPU connecting will be disconnected,
    error prompt will be popped up(Error executing Flash operation "Erase": Target failed to read 0x08000000).
    Then I still can't download program to RM57L843 after restarting.
    How can I do after connecting RM57L843 by target configuration to recover downloading program?
  • And 'System Reset On Connect' is already selected by myself. But, erase flash can't be still successful.
  • Whether there is another method for erasing flash by hardware about RM57L843?
    Such as, pull up some pin port to erase entire flash? or short circuit two pin port?
  • Anthony:I think my problem is same with below link.
    e2e.ti.com/.../918655
    This problem isn't special issue.
  • Hi Jia,

    So if you can connect then you are in good shape.

    You may need to update TI Emulators and Hercules Emulation components of CCS.
    Try 6.0.7 of Hercules Emulation and 6.0.407.3 of TI Emulators.
  • Hello Anthony,
    Now, my CCS vrsion is 6.1.1., and my ICE is XDS100vs USB probo. It seems higher than your suggesion version.
    I guess it doesn't impact to solve my issue.I want to describe my issue again.
    Any program can't burn into my RM57L843. It always prompt "error - 6032" or "error -2062" or "error -1170".
    I have ever tried to use "uniflash" tool and other method to erase the flash of CPU, but it doesn't effect.
    Although, I can connect RM57L843 by pressing/releasing the "RST" button many time in debug window of target configuration,
    I can't still access RAM and ROM variables. For register variables, such Core Registers, CP15, etc. I can read and write them when connecting by target configuration.
    Once I tried to click "erase flash" button in CCS, connecting is disconnected and error message "(Error Executing Flash operation "Erase" : Target failed to read 0x08000000)" is poped up. Afterwards, I still can't download my program to RM57L843.
    My question : What can I do anything to download my program to RM57L843? Do you have any suggestion to solve my issue?
  • Ok well then maybe it is a problem in your hardware.

    Check the nRST pin to see if it's being reset... and check the voltages on the board to make sure they are in spec.

    If you have a TI evm or launchpad that you can check in parallel that would be good.

    I don't think you're bricked because it seems you can gain control of the part. But something is affecting the stability of the part so that it's not able to flash.. and that is likely a HW problem.

    -Anthony