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.

AM335x Starter Kit with StarterWare, no debug connection

Other Parts Discussed in Thread: AM3358

Hi,

Trying to have at least one of the StarterWare examples running and I'm facing this

Error connecting to the target:
(Error -1266 @ 0x0)
Device is held in reset. Take the device out of reset, and retry the operation.
(Emulation package 5.0.899.0)

The am335xsk board when it is started without an SD it requests for a SUBARCTIC driver which is non existent in TI's installation files.

I've seen posts mentioning this, yet none shows how to solve the issue. I tried to place the linux.inf file, (based on a previous answer) into the inf folder of windows, yet it didnt work.

I would deeply appreciate if TI would come forth with a step-by-step giude of how to have a simple CCS example running and debugged on the AM335XSK.

I opted for this solution since based on my previous experience the CCS is my favorite environment for applcations, yet the current situation is very much frustrating.

TI guys, this area needs some attention and work from you so please enlighten us.

Thanks for any help.

Christos

  • Hi Christos,

                     For working with EVM-SK or beaglebone you need to install FTDI driver in the host PC. The same is documented in the quick start guide

    Regards

    Baskaran

  • Ok,

    Did that, 'Updated' the virtual serial port driver with the one provided by FTDI directly.

    (By the way, I have CCS 5.2.1.00018, updated and succesfully compiled the 'Debug' configuration of 'Game' project producing its 'game.out' binary file)

    Trying to run now in debug mode the 'Game' example.

    I've started the debug session via 'Launch the selected configuration' in the target configurations, then tried to connect on A8 with 'connect Target' selection.

    At that point, it looks that it connect, yet I get this message on console

    "CortxA8: GEL: Error while executing OnTargetConnect(): identifier not found: WDT1_WSPR     at (unsigned int *) WDT1_WSPR [AM3358_StarterKit.gel:255]     at Disable_Watchdog() [AM3358_StarterKit.gel:329]     at OnTargetConnect() ."

    even if I ignore that and try to RUN-Load the program I get a message window titled "Load Program Failed" and the following message

    CortxA8: Trouble Writing Memory Block at 0x8013e6bc on Page 0 of Length 0x5320: (Error -2130 @ 0x8013E6BC) 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 5.0.899.0)
    CortxA8: GEL: File: C:\ti\boards\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\evmskAM335x\game\game.out: Load failed.
    CortxA8: Trouble Reading Register CP15_CONTROL_REGISTER: (Error -2131 @ 0x20013F00) Unable to access device register. 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 5.0.899.0)

    did that several times but it always gives that error.

    So, what should I look into?

    Regards,

    Christos

    P.S.

    Also the SUBARCTIC issue is not solved and whenever I plug the board, I get mesages about this and periodic USB sounds of plug-unplug, without me making any plug or unplug..



    FYI, my AM335x.ccxml target configuration has

    Connection: XDS100v2

    Board or Device: SK_AM3358 (AM3358 STARTER KIT BOARD)

    Cortex_A8 CPU properties : ..\..\emulation\boards\sk_am3358\gel\AM3358_StarterKit.gel

    and whenever I do a 'Test Connection' I get success

    [Start]

    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:\DOCUME~1\Christos\LOCALS~1\APPLIC~1\.TI\
        2049683058\0\0\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 'Oct 29 2012'.
    The library build time was '14:44:30'.
    The library package version is '5.0.899.0'.
    The library component version is '35.34.40.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 512 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 512 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 512 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]

  • looks like come issue with target configuration (.ccxml). Are you following the steps given at http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Environment_Setup#Debugging_on_BeagleBone_board_using_CCSv5.

    The steps are given for Beaglebone, but the same applies for EVM-SK also.

    Regards

    Baskaran

  • Yes, that is exactly the document that I try to follow.

    I managed to find one of the problems.

    It seems that the .gel files that is provided with CCS 5.2.1.00018 has a problem.

    I've compared it with the relevant .gel that is provided from the StarterWare 2.0.0.7 and it misses this section

    //*******************************************************************
    //Watchdog Timer registers
    //*******************************************************************
    #define    WDT1_BASE_ADDR                                        (0x44E35000)  
    #define    WDT1_WSPR                                             (WDT1_BASE_ADDR + 0x48)

    which needs to be placed too on the .gel of CCS 5.2.1

    After that change, the target got initialized succesfully

    CortxA8: Output: ****  AM3358_SK Initialization is in progress ..........
    CortxA8: Output: ****  AM335x ALL PLL Config for OPP == OPP100 is in progress .........
    CortxA8: Output: Input Clock Read from SYSBOOT[15:14]:  24MHz
    CortxA8: Output: ****  Going to Bypass...
    CortxA8: Output: ****  Bypassed, changing values...
    CortxA8: Output: ****  Locking ARM PLL
    CortxA8: Output: ****  Core Bypassed
    CortxA8: Output: ****  Now locking Core...
    CortxA8: Output: ****  Core locked
    CortxA8: Output: ****  DDR DPLL Bypassed
    CortxA8: Output: ****  DDR DPLL Locked
    CortxA8: Output: ****  PER DPLL Bypassed
    CortxA8: Output: ****  PER DPLL Locked
    CortxA8: Output: ****  DISP PLL Config is in progress ..........
    CortxA8: Output: ****  DISP PLL Config is DONE ..........
    CortxA8: Output: ****  AM335x ALL ADPLL Config for OPP == OPP100 is Done .........
    CortxA8: Output: ****  AM335x DDR3 EMIF and PHY configuration is in progress.........
    CortxA8: Output: EMIF PRCM is in progress .......
    CortxA8: Output: EMIF PRCM Done
    CortxA8: Output: DDR PHY Configuration in progress
    CortxA8: Output: Waiting for VTP Ready .......
    CortxA8: Output: VTP is Ready!
    CortxA8: Output: DDR PHY CMD0 Register configuration is in progress .......
    CortxA8: Output: DDR PHY CMD1 Register configuration is in progress .......
    CortxA8: Output: DDR PHY CMD2 Register configuration is in progress .......
    CortxA8: Output: DDR PHY DATA0 Register configuration is in progress .......
    CortxA8: Output: DDR PHY DATA1 Register configuration is in progress .......
    CortxA8: Output: EMIF Timing register configuration is in progress .......
    CortxA8: Output: EMIF Timing register configuration is done .......
    CortxA8: Output: EMIF waiting for full leveling.......
    CortxA8: Output: DDR PHY Configuration done
    CortxA8: Output: ****  AM335x DDR3 EMIF and PHY configuration is done ****
    CortxA8: Output: ****  AM3358_SK Initialization is Done ******************

    YET !!

    Another problem happened, the following one on the console as soon as the load got finished, with red letters

    CortxA8: Breakpoint Manager: Retrying with a AET breakpoint
    CortxA8: Trouble Setting Breakpoint with the Action "Finish Auto Run" at 0x8013e234: (Error -1066 @ 0x333C) Unable to set requested breakpoint in memory. Verify that the breakpoint address is in writable memory. (Emulation package 5.0.899.0)

    The above guide that you mentioned though, it does not specify how to actually start execution after load, so I just hit F8 but nothing happened.

    So, what is the above error and with what process do we start execution?

    Regards,

    Christos

  • Ok,

    Managed to finally have the CCS 5.2.1 working in debug mode with the 'game' example on AM335x Starter Kit.

    My previous installation was on the programs folder in windows and it was only for this type of CPUs.

    After a complete uninstall, I installed it in the folder that the setup suggested (C:\ti) and with all options (full).

    Then I created the Target config with the gel provided from the StarterWare and not from the one that the CCS was providing for the Starter Kit.

    After that, following the http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Environment_Setup#Debugging_on_EVM_AM335x_using_CCSv5  guide, started the debug session and the program got load and executed step/pause/resume normally. Breakpoints set and working ok.

    Thanks for help and pointers.

    Christos