The gel file that comes with the Code Composer V.5x install does not work with the EINFOCHIPS EVMC6457L and LE board. It usually causes an "Invalid Device ID" error or my program will not run at all, if downloaded.
Do you have any updated information on the Gel file, new release, etc?
Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages. Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics.
From the eInfochips.website, it looks like the GEL files are provided through the MCSDK. Please make sure you have the latest version of MCSDK 2 [rp: MCSDK 1 for C64x+ devices] and that you are using the GEL file from that release.
Why do you suspect the GEL file is causing your problems? You can make a local copy to use in your workspace or project folder, and you can edit functions out to eliminate a problem or to narrow down the location.
You should also look at your DIP switch settings and emulator Target Configuration file to make sure everything is set correctly.
Search for answers, Ask a question, click Verify when complete, Help others, Learn more.
thank you for your response. I let this sit in the background, but have looked at the problem again. The gel file breaks down when the Power and Sleep Controller attempts to look at the MDSTAT2 Register to see the current state. It is always 3, or "Enabled". It requires repeating two steps to get the failure to occur.
1. "Debug As" your program, the gel file should work and perform the PSC operation without error. Exit the debug session.
2. Again, "Debug As" your program. The gel file will this time fail with a "Core is Hung" message.
If I comment out the call to enable the PSC for EMIF64, I can download as many times as I want and let the gel file set everything up.
I'm reading a few other posts that people state something similiar--You mentioned in one post to look at the PRCM. I can't find this register/settings in the documentation.
Also, the MC SDK 2.0 doesn't appear to be released for the C6457 (a 64x+ processor). Here is the link I looked at to see what was available for the C6457: http://www.ti.com/tool/bioslinuxmcsdk
The documentation states something interesting--I can basically depend on the state of EMIF 64 to be enabled unless its a "never-gated" domain. When would this occur? I'm wondering how relevant it would be to a future non-evm board, for a modified gel file and bootloader.
Here's the code that fails:
Set_PSC_State(unsigned int pd,unsigned int id,unsigned int state)
unsigned int* mdctl;
unsigned int* mdstat;
unsigned int* pdctl;
mdctl = ( unsigned int* )(PSC_MDCTL_BASE + ( 4 * id ));
mdstat = ( unsigned int* )( PSC_MDSTAT_BASE + ( 4 * id ));
pdctl = ( unsigned int* )(PSC_PDCTL_BASE + ( 4 * id ));
// WM: Note: if you put a return statement here, you can run as many times as you like. This if statement, even broken apart into separate values/components,
// WM: still causes the crashing. The only remedy is to return from the function before checking the MDCTL reg for EMIF64.
// If state is already set, do nothing
if ( ( *mdstat & 0x1f ) == state )
GEL_TextOut( "Set_PSC_State: mdstat %x\n",,,,, *mdstat);
What is the name of the GEL file you are using?
William Martin the MC SDK 2.0 doesn't appear to be released for the C6457 (a 64x+ processor).
No idea what I was thinking. But MCSDK 1.0 is for the C64x+ parts, while MCSDK 2.0 is for the C66x parts. You want MCSDK 1.0, and I edited my post above for this. The Getting Started Guide is here. It only mentions being tested with CCSv4, so I will get this thread moved to the BIOS Forum where they may have the latest information on the MCSDK 1.0.
William MartinThe documentation states something interesting--I can basically depend on the state of EMIF 64 to be enabled unless its a "never-gated" domain.
Please give us some specifics on "the documentation" and where it states what you found interesting. I am thinking the datasheet, but I guess wrong a lot.
What CCS version are you using? I want to verify we are looking at the same GEL file
Thank you for your response. We are using version CCS 5.1.
Can you try upgrading to CCS 5.2? Our CCS expert tells me there should be working GEL files for the L/LE eInfochips boards.
Also, please note the caution on this wiki regarding "update" feature on CCS 5.1
Taking from your note about installs, I uninstalled 5.1 and installed 5.2. The configuration file I created using the Blackhawk XDS560v2 USB Mezzanine Emulator, using the TMDSEVM6457L Board. The text box below the board or device selection affirms my selection with this string "eInfochips C6457 Lite EVM Board".
This creates two devices "Device1" and "ICEPICK_C_0". The gel file for device 1 is "..\..\emulation\boards\evmc6457l\gel\evmc6457l.gel". There is no gel file for the ICEPICK choice. When I connect to the board, it tells me I have to make up my mind and use only one so I choose "device_6", which is the cpu properties selection below "Device 1".
The error I get when connecting is:
"Error connecting to the target:(Error -1265 @ 0x0)Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver.(Emulation package 5.0.681.0)
Also, the Gel file that was copied in for Version 5.2's only difference is the Date Time stamp in the comments. The new one is 30 seconds older than the other.
Is there a chance the file that supposedly fixes this issue can be posted to the forum?
Juan, going a different route--if I use the TMSDC6457 configuration, the outcome is slightly different. No device ID errors.
If I dont use a gel file, my program runs (because POST runs first and sets up everything as the I2C EEPROM bootloader)
If I use this a gel file, as specified in the configuration file below (ccxml), I get this upon loading my program---it goes straight to abort without getting to main().
A22=0x20928416 A2[C64XP_0] 3=0x10381606
B12=0x30 B13=0x[C64XP_0] 0
Exception at 0xe04a77b8
Internal exception: IERR=0x2
Fetch packet exception
ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x00000000, sp = 0xe0507ee0.
xdc.runtime.Error.raise: terminating [C64XP_0] execution
The XML configuration file looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Blackhawk XDS560v2-USB Mezzanine Emulator_0">
<instance XML_version="1.2" desc="Blackhawk XDS560v2-USB Mezzanine Emulator_0" href="connections/BH-XDS560v2-USB_Mezzanine.xml" id="Blackhawk XDS560v2-USB Mezzanine Emulator_0" xml="BH-XDS560v2-USB_Mezzanine.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Blackhawk XDS560v2-USB Mezzanine Emulator_0">
<instance XML_version="1.2" href="drivers/tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds560c64xp.xml" id="drivers" xml="tixds560c64xp.xml" xmlpath="drivers"/>
<platform XML_version="1.2" id="platform_0">
<instance XML_version="1.2" desc="TMS320C6457_0" href="devices/C6457.xml" id="TMS320C6457_0" xml="C6457.xml" xmlpath="devices"/>
<device HW_revision="1" XML_version="1.2" description="TMS320C6457 - This configuration contains full peripheral register specifications." id="TMS320C6457_0" partnum="TMS320C6457">
<router HW_revision="1.0" XML_version="1.2" description="ICEPICK_C Router" id="ICEPICK_C_0" isa="ICEPICK_C">
<cpu HW_revision="" XML_version="1.2" description="" id="C64XP_0" isa="TMS320C64XP">
<property Type="filepathfield" Value="..\..\..\..\Arbeit\ai3ifs\OFS\build\AI3_CC_MC\GEL_Files\EVM\evmc6457l.gel" id="GEL File"/>
As you know I have asked our CCS team to look into this. Just to make sure we are all in the same page, in previous communication you suggested your tried this in Linux and WindowsXP. What is your ultimate goal or what are you mostly using to report the results above?
Also, I see you are using a BalckHawk 560v2 emulator from the xml file you posted above. Along with the CCSv5.2 installation, a BH560v2 Config Utilty is included by default to test out your emulator stack is working properly (JTAG properly connected and driver installed correctly). You may want to run this utilty just to double check and eliminate variables.
The ultimate goal is to have a working configuration for developer's to work with in CCS V.5.1 that would allow configuration of hardware for the EINFOCHIPS C6457 EVM board, which ultimately, would be changed to work with a proprietary board.
I probably confused the issue by stating I've tried the updates for the MC SDK which included a linux released version to see if I could get an update to the file and configuration. We are primarily Windows only. MC SDK 1.08, with the Keystone Emulator updates.
Re: Connection to board. I understand your suggestion. I did roll back to CCS V.5.1 last night because I was getting a set of errors during build with CCS v5.2, that don't happen in my version of CGT for 5.1 (Undefined Symbols for mainly STD library type functions, which is another thread entirely!). I think they may all be related to the template instantation issue to some varying degree, unless someone knows otherwise.
Suffice to say, we can connect to boards as long as we use the POST in EEPROM, which sets up register, and the ccxml isn;t tied to any GEL File.
Just an update for others who may have run into this---the gel file was built for a 1 Ghz processor. I didn't see the order slip on the evm boards, nor is it easy to find on the board because of the heat sink. The boards we ordered support 850 Mhz. It was a simple change to move to the 850 Mhz in the gel file.
My understanding was the gel file was made to run on any EVM boards without changes, even if the settings were unoptimal. Thereby a developer could start working out of the box without understanding all of the settings they needed to configure. It didn't work out that way this time, but its good to know what to look for in the future.
Thank you for looking into my problem.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.