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.

CCS/AM3359: JTAG load error

Part Number: AM3359
Other Parts Discussed in Thread: AMIC110

Tool/software: Code Composer Studio

Hello guys,

I am new to ARM / Sitara processeur.  I am trying to program my AM3359 for the first time throught USB interface.

I am connected through.  Texas Instruments XDS100v2 Debug Probe.

Test connection gives me the following result:

-----[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: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All 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: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End: Texas Instruments XDS100v2 USB Debug Probe_0]

I get the following error:

CortxA8: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x2000: (Error -1065 @ 0x0) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.1.0.00001)
CortxA8: File Loader: Verification failed: Target failed to write 0x00000000
CortxA8: GEL: File: C:\Users\huber\workspace_v10\HelloWorld\Debug\HelloWorld.out: Load failed.

  • Hi,

    Please post which Processor SDK you are using - Linux or RTOS? Which version?

  • Hello Biser:

    PROCESSOR-SDK-RTOS-AM335X:

    RTOS Processor SDK for AM335x and AMIC110 devices
    I am not sure where to get the GEL files? Can it be related to my problem?
    Hubert
  • Hi Hubert,

    Are you using a TI EVM?

    Can you please share the details of your .ccxml configuration?

    Can you please try the following:

    • Power cycle board
    • Launch configuration: view->target configurations, right-click configuration in Target Configuration window, select Launch
    • Click on CortexA8 in Debug window
    • Click Run->Reset->System Reset
    • Run->Connect Target

    Regards,
    Frank

  • Hello Frank,

    This the ccxml configuration.

    I did the reset as you said and I still get the same error.

    Regards,

    Hubert

  • <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
                <instance XML_version="1.2" href="drivers/tixds100v2icepick_d.xml" id="drivers" xml="tixds100v2icepick_d.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cortexA.xml" id="drivers" xml="tixds100v2cortexA.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2csstm.xml" id="drivers" xml="tixds100v2csstm.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2etbcs.xml" id="drivers" xml="tixds100v2etbcs.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2pru.xml" id="drivers" xml="tixds100v2pru.xml" xmlpath="drivers"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="AM3359_0" href="devices/AM3359.xml" id="AM3359_0" xml="AM3359.xml" xmlpath="devices"/>
                    <device HW_revision="1" XML_version="1.2" description="AM33x - Cortex A8 Embedded Processor" id="AM3359_0" partnum="AM3359">
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_D Router" id="IcePick_D_0" isa="ICEPICK_D">
                            <subpath id="subpath_11">
                                <router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_M3" isa="CS_DAP">
                                    <subpath id="M3_wakeupSS_sp">
                                        <cpu HW_revision="1.0" XML_version="1.2" desc="M3_wakeupSS_0" description="Cortex_M3 CPU" id="M3_wakeupSS" isa="Cortex_M3"/>
                                    </subpath>
                                </router>
                            </subpath>
                        </router>
                    </device>
                </platform>
            </connection>
        </configuration>
    </configurations>

  • Hi Hubert,

    Are you using a TI EVM, or is this a custom board?

    Have you ever been able to connect to the board?

    Is the board boot loading some bode (e.g. from flash)? Can you connect to the UART debug console (115200,8,none,1,none), e.g. using TeraTerm and see if anything is being displayed?

    Regards,
    Frank

  • Hello Frank,

    Yes, I am using TI EVM.

    I am able to connect to Cortex A8 and run the following:

    static int var1;

    int main(void)
    {
        //return 0;



        while(1)
        {
            var1 = 1;

            var1 = 2;

            var1 = 3;

            var1 = 4;
        }

    }

    I do not know why "Hello World" does not work.

    Other question, how can I watch variables while running a program.

    Regads,

    Hubert

  • Hi Hubert,

    >> how can I watch variables while running a program

    Go to CCS debug view

    • Right-click on .ccxml file in Debug Window
    • Edit
    • Click Target tab
    • Select Cortex A8 in Device drop down
    • Click Auto Run and Launch Options
    • In Real-time Options, select "Halt the target before any debugger access (will impact servicing of interrupts)"
    • Click Apply, Continue

    Click on the Expressions tab, then:

    • click on "Add new expression" and type in the variable you want to watch.
    • click on the "Continuous Refresh" button to the upper right-hand side of the window.

    Regards,
    Frank