I buy a kit of TMDXEVM6678LE,
my CCS version is: 5.0.3
I setup an new target configuration:
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.
I buy a kit of TMDXEVM6678LE,
my CCS version is: 5.0.3
I setup an new target configuration:
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 jeremy,
I found it maybe a pending problem from http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/130970/470326.aspx?PageIndex=1
Allen
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,
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.
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
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