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.

GEL_MemoryFill error. CCS v2 vs v6

Other Parts Discussed in Thread: CCSTUDIO

Hi team,

 

I wanted to ask you some questions about a problem I'm having when trying to upgrade CCS from v2.21 to v6.1.3 with the XDS510 probe and a fairly old processor, C62xx. Currently I have managed to perform a "Reset CPU" with v6.1.3, however, we are facing issues when doing "Load Program" of an .out binary.

 

In version 2.21 we had a .gel file that, unfortunately, is not valid for v6. After researching across this really useful forum, I found a bunch of documents that explain the steps to take to obtain a valid .gel file for v6. (https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/39948/gel-documentation-where-to-find?tisearch =e2e-sitesearch&keymatch=gel%25252525252520documentation#)

 

I've made necessary changes to the StartUp() function since it's now not possible to “touch” the HW from it, and some of that functionality has been moved to OnTargetConnect() (among other changes).

 

I take this opportunity to ask if the link (http://processors.wiki.ti.com/index.php/GEL) that is in thread

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/395161/code-composer-v6-0 is still available on another url because it currently does not redirect to a comparative document between CCSv6 vs v3.

 

And the same for https://processors.wiki.ti.com/images/d/d3/CCStudio_Tips_and_Tricks.pdf from thread https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/755791/ccs-tms320c6727-global-variables-in-gel---ccs3-3 since access to the CCStudio_Tips_and_Tricks.pdf is currently not possible. Maybe because of the years passed since the reply was received.

 

The problem I have when trying to connect and load program into the target is the following:

 

C620x_0: GEL: Error while executing OnTargetConnect(): Expected a value in the range of 0 to 0 for parameter 2 but got 2

 

GEL_MemoryFill(0x03100140, 2, 1, 1);

 

What this sentence does is disable a watchdog, something essential in my FPGA in order to be able to load a program. That line was in the StartUp() function of the .gel that worked fine in CCS v2. As I said before, we have moved it to the OnTargetConnect() function to satisfy the requirement that the StartUp() function should not "touch" the HW.

 

The second parameter according to the documentation refers to the type of memory to fill. 2 is I/O space. I don't know if the difference between it working in v2 and in v6 is due to some change in the GEL_MemoryFill() API or some extra check that it does internally in v6 and that perhaps can be avoided.

 

The alternative to solve it could be to introduce a previous line like the following:

GEL_MapAdd(0x03100000, 2, 0x380, 1, 1);

 

We had this line in CCS v2, but with 0 as second parameter, referring to Program Memory and not to I/O Space.

 

That sentence also fails in CCSv6 as follows:

 

C620x_0: Error adding memory map range: invalid page specified

 

I am aware that the problem I am describing is very particular and the solution should not be easy, so I thank you for your time and I look forward to your response.