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.

TMDXEVM6678l "IcePick_D: Error connecting to the target: Cannot access register at 0x00000000 (Error -2131) @ 0 (0x0)"

Other Parts Discussed in Thread: TMS320C6678

I buy a kit of TMDXEVM6678LE,

my CCS version is: 5.0.3

I setup an new target configuration:

and launch, when I connect target, there is a error:
IcePick_D: Error connecting to the target: Cannot access register at 0x00000000  (Error -2131) @ 0 (0x0)
please tell me how i can deal with this problem. Thank you in advance.
  • Did you attach the GEL file for each core in Target Configuration--> Advanced?

    The GEL for TMDXEVM6678LE should located in 'xx:\Texas Instruments\ccsv5\ccs_base_5.0.3.00023\emulation\boards\evmc6678l\gel'

     

  •  I just want to run the program "hello world",  can you tell me in detail about " attach the GEL file for each core in Target Configuration--> Advanced? ",  my target configuration file is  TMS320C6678, and use XDSv1 USB emulater.  

  • Hi jeremy,

    Firstly you should open the  target configuration file such as C6678.ccxml. Choose XDSv1 emulator for C6678 device and click save. Then in the lower left corner find the advanced button and click in.

    Then you can see the list of 8 cores in left side of window. And click each of these cores "C66xx_0"~"C66xx_7", you will see a initialization script in the right side, then locate the GEL file for each core and click save.

    Allen

  • Hi Allen,

        I have tried to initialize these cores "C66xx_0"~"C66xx_7" with GEL file. but the result shows

     

     

     

     

     

     

     

     

    So I donot know weather the Evaluation module has problem or others,  I also try it in another PC and restall the software saveral times, the problem remains.

  • Hi Allen,

         Thank you for  your patient answer.  Now, I can connect the target,  when I load program,  there is error,

    C66xx_0: Trouble Writing Register PC: The IM memory request is not serviced by the HW memory system.  This could be caused by the memory address specified does not exist in the specified  memory/cache level.   (Error -1176) @ 55424 (0xD880)

      

  • Hi jeremy,

    Did you specify the cmd file for your project?

    I have encountered this problem once because the miss of cmd file.

    Allen

  • Hi Allen,

        No, I do not specify the cmd file for my project, but when I simulate, there is no error. I think the system use the default cmd. does it?

  • Hi jeremy,

    You must specify the cmd in Emulation to allocate sections to legal memory space.

    But in simulation, maybe it's not so severe because the memory address is 'simulated' too and they are not associated with actual physical memory in EVM.

    So just attach the cmd file then you can get a expected result.

    Allen

     

  • Hi Allen,

       Thank you for rapid answer, I am a beginner, for .cmd, I do not know how to write it  exactly.  So I want to use the default  cmd file.  I search it in

    my CCS list,  which one should I use.  Thank you in advance.

                    Jeremy

  • Hi jeremy,

    Use the following cmd example:

    Of course you could define the size of heap and stack and make allocation of sections according to your application.

    ******************************************************************

    -heap 0x4000

    -stack 0x1000

     

    MEMORY

    {

          L2SRAM :     org = 0x800000, len = 0x80000

         MSMCRAM:   org = 0xc00000, len = 0x400000

         DDR3:           org = 0x80000000, len = 0x10000000

    }

    SECTIONS
    {
        .text       >       DDR3
        .stack      >       DDR3
        .bss        >       DDR3
       .cinit      >       DDR3
       .cio        >       DDR3
       .const      >       DDR3
       .data       >       DDR3
       .switch     >       DDR3
       .sysmem     >       DDR3
       .far        >       DDR3
       .fardata    >       DDR3
       .neardata   >       DDR3
       .rodata     >       DDR3

    }

    ******************************************************************

     copy the content to a new file and rename it to xxxx.cmd. Put the file to the directory of your project then the CCS will recognize it and take cmd into the build process.

  • Jeremy, Allen,

    The linker command file (or lack thereof) will not have any effect at this point.  The linker command file tells the compiler where to put sections when building an application.  Having an incorrect one can cause problems when you try to load a .out file, but we're not at that point yet.  Jeremy is just trying to connect to the device.

    At this point, there,problems can be binned into a few categories.  1. CCS Install Issue (missing drivers, XML files, etc). 2. CCS Target Configuration problem.  3. Target Configruation issue (i.e. board not hooked up right) or 4. Windows issue (USB driver not installed correctly)  or 5.  Board Issue (some problem specific to your board.)

     

    For #1, make sure you've installed CCS 5.0.3.  If you have, I doubt this is the issue.

    For #2, the most obvious problem would be something like selecting XDS100v2 instead of XDS100v1, or selecting the wrong target (make sure you have XDS100v1 and C6678 selected.

    # 3 might be a USB conection issue.  I doubt this is the issue, but make sure the USB cable is properly connected.  Check your Device Manager in Windows and make sure you can find an XDS100 Channel A and Channel B in the list of USB devices.  If you don't see this, then we likely need to reprograom your XDS100, and I can tell you how to do that. 

    Assume for now it's not #4.  This is rare. And assume it's not #5 for now also, unless we can't attribute it to one of the prior issues.

     

    Jeremy,

    Can you try this and send me the results?

    From the command line, use the following command.  dbgjtag is located in <CCS_INSTALL_DIR>\ccs_base_5.0.3.00028\common\uscif

     

    dbgjtag -f <board config file> -rv -Spathlength -Sgivendata,repeat=10

     The board config file is found at:

     

    C:\Documents and Settings\<user account>\Local Settings\Application Data\.TI\<CCS instance #>\0\BrdDat\ccBoard0.dat

     

    <user account> is your account name

    <CCS instance #> is a random appearing ID for each instance CCS installed on the system

     

    Regards,

    Dan

  • Allen, Dan,

         Thank you for your help. The problem has been solved. Thank you. I removed the external emulator and connected to the target throngh XDS100 embeded emulator successfully.  Maybe there is conflict between those emulators. My second error is because the project lacked of .cmd file.

     

     Jeremy

  • hi jeremy,

    You're welcome. Maybe it will be so kind of you to verify the answer.

     

    hi Dan,

    I always use the XDS560v2 to debug. So I just tried the connection of XDS100 emulator on my EVM6678LE board. And I can't find the XDS100 v1 channel A&B in device manager.

    So please tell me how to reprogram the XDS100 emulator as you said. Thank you!

     

    Allen

  • Allen,

    See the following FAQ's.  Specifically, the 2nd one will give you the steps to reprogram it.  The 1st will allow you to validate that it has been successfully programmed when you are done.

    http://processors.wiki.ti.com/index.php/XDS100#Q:_How_can_I_check_if_the_VID.2FPID_for_the_EEPROM_are_programmed_correctly.3F

    http://processors.wiki.ti.com/index.php/XDS100#Q:_How_do_I_reprogram_the_VID.2FPID_EEPROM_if_it_has_not_been_programmed_correctly.3F

     

    Regards,
    Dan

     

  • Hi Dan,

    I follow these steps and in the stage of Scan and Erase it seems ok:

     But when Program it, the following warning comes out:

    So what can I do? Thanks.

    Allen

  • Hi All,

    I tried it again in another PC, the situation is the same.

    Any suggestion?

    Thanks.

    Allen

  • Allen,

    I'll have to investigate further.  I've never seen this issue.  It's very odd that it detects a blank device, but then when you go to program it, it says device is not found.

    Regards,

    Dan

     

  • Allen,

    I went in and erased my EEPROM only to encounter the same problem that you did.

    Apparently there may be different revs of the XDS100 controller on different EVMs. 

    If you go back to http://processors.wiki.ti.com/index.php/XDS100#Q:_How_can_I_check_if_the_VID.2FPID_for_the_EEPROM_are_programmed_correctly.3F  note the part that says 

    Note:It is possible to reprogram the EEPROM using MPROG or FT_Prog and the .ept file. The .ept file depends on the type of device you have. If you have a FT2232C device download the following FT2232C EPT file. If you have a FT2232H device download the following FT2232H EPT file. Refer to the instructions in the How to make an XDS100 section

    I found that using the FT2232H EPT file was the solution.  This is a part we get from another party.  It's not made by TI.  I guess it'll just go and erase anything, but if you don't have the right part selected, it won't program it.

    Regards,

    Dan

     

  • Hi Dan,

    Your method works.

    But when the external 560v2 emulator is plugged on the EVM, the on-board XDS100 emulator can not work.

    I find a possible reason in EVM's schematic which is related to the EXT_EMU_DET signal, when the 560v2 is plugged in, the EXT_EMU_DET is pulled down to '0' which means XDS100 is disabled. 

    Allen

  • Correct.  XDS100 emulation is not supported when another emulator is connected.  That's by design.  If you have an XDS560v2, why would you want to use an XDS100?

  • Hi Dan

    I was going through your previous posts u replied, it was excellent.

    Please give me some suggestion if you can for my below issue. 1st i am giving the list of HW/SW i am using now.

    HARDWARE : BeagleBone-AM3358(REV6a) , On board TI- XDS100v2 USB Emulator

    SOFTWARE :CCSv5

    RTOS :SYS/BIOS

    If  1st time i am running SYS/BIOS on BBONE-AM3358,successfully i am able to connect, load and run  my code and able to see the O/P on console.

    But at the time of debugging when 2nd time  am clicking on BUG button on top panel of CCS, the expected behavior would be it should lunch the Target-configuration and Load the code .Everything is happening as part of the DEBUG process as expected but along with that i am getting one Error message on console, i have given below .

    CortxA8: Trouble Writing Memory Block at 0x44e35048 on Page 0 of Length 0x4: (Error -1065 @ 0x44E35048) 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.872.0)
    CortxA8: GEL: Error while executing OnTargetConnect(): target access failed     at *((unsigned int *) (0x44E35000+0x48))=(unsigned int) 0x0000AAAA [beaglebone.gel:262]     at Disable_Watchdog() [beaglebone.gel:335]     at OnTargetConnect() .

    I am confused, the above Error is unexpected if my CCS has a proper configuration.

    Can u suggest me  some solution for above issue.

    Thanks