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.

Code Composer Studio Version: 4.2.3.00004, Blackhawk USB510L, LM3S8962 - Debugging Errors, PTI_ERR_REG_INVALID

Other Parts Discussed in Thread: LM3S8962

Hi All,

While debugging, I get a weird warning/error at the console at every single-step through the code.

* Code Composer Studio Version 4.2.3.0004 - Single Node-Locked License, Microcontroller Edition

* Blackhawk USB510L JTAG Emulator

* EKS-LM3S9863 Evaluation Kit

 

Initially, when I bought the eval kit, I had the demo version of CCS with a direct USB connection to the eval board. In this situation, the JTAG circuitry is built directly on eval board. In CCS, the target configuration is configured as "Connection = Stellaris In-Circuit Debug Interface" and "Board or Device = LM3S8962". Under this situation, I can debug fine, single-step, etc with no strange errors or warnings.

Next, I wanted to get the real development and debug tool chain up and running (i.e. full CCS license with external JTAG device). I ordered a full CCS license as described above, and the Blackhawk USB510L. Our custom board is not yet ready, but the eval board still supports external JTAG device via its 20-pin ARM connector. The USB510L uses the 14-Pin TI header, so I also bought the TMDSADPEMU-20A adapter making it possible to connect the eval board and the 510L.

I installed the license file and re-configured the target configuration settings to support the new setup. Now the "Connection = Blackhawk USB510L Emulator" and the the "Board or Device" is the same.

(A side note here: This setup did not initially work. The 20-Pin ARM to 14-Pin TI adapter is wrong. You have to install a jumper between RTCK and TCK so that the JTAG device is happy. TI should fix the drivers for the Blackhawk USB510L so that when you select an ARM-based device, which does not use adaptive clocking, it instructs the JTAG device to ignore RTCK. Even after identifying the problem with the adapter, this setup still didn't work. I kept getting errors during the debug launch processor, something related to wrong revision of silicon on the target. After searching through the E2E forums, I found a post that said to change the "Access Port Designator" in the Cpu Properties of the target configuration from 0x02000003 to 0x02000000. This fixed the problem and I was then able to debug. I have to get my jab in here because these issues caused a lot of wasted time. I am now up and running, but I don't have any idea why 0x02000000 works and 0x02000003 doesn't work. I don't even understand what these values mean. I tried to find documentation about what these settings mean but couldn't find anything. It just doesn't give me a lot of confidence when I have to change magical numbers that I don't understand. I believe that TI is still getting up to speed on support for the Luminary stuff, but overall, I have been disappointed. This stuff shouldn't be this hard to get a basic setup working.)

Anyway, back to the issue of this post. I am able to launch debug sessions and single-step, watch variables, check registers, etc. But at every single-step, I get the following message at the console output:

"CORTEX_M3_0: Warning: Error 0x40020004/-1064 Warning during: Register, Internal,  PTI_ERR_REG_INVALID Error Occured at 0x61003009"

Whatever this is, it doesn't seem to be causing negative behavior, yet. I am just worried that in a month or two when I am in full code development mode, with a schedule to meet, the meaning and impact of this message will become clear and will be a roadblock that I can't fix to workaround.

Does anyone have any idea what this message means, what the cause is, and how to fix the problem?

Thanks

Kevin

 

 

 

 

  • Kevin,

    I am sorry to hear you had to go through a lot of trouble to get the Blackhawk XDS510L emulator working with the Stellaris kit. We do have most of the steps you went through documented in our wiki pages, but ofcourse, if one doesn't know where to look for the information, it is not as easy to get up and running. For future reference, here are the wiki articles:

    http://processors.wiki.ti.com/index.php/JTAG_configuration_for_CCS_and_Stellaris
    http://processors.wiki.ti.com/index.php/Stellaris_Emulator_Compatibility

    Kevin Schell said:

    But at every single-step, I get the following message at the console output:

    "CORTEX_M3_0: Warning: Error 0x40020004/-1064 Warning during: Register, Internal,  PTI_ERR_REG_INVALID Error Occured at 0x61003009"

    I was able to reproduce the error when single-stepping with Blackhawk XDS510L emulator. I also tested Spectrum Digital XDS510USB, Spectrum Digital XDS560v2 and TI xds100v2 emulators and none of them produced the error. I will continue to work this internally to determine the best way to address the issue. I will post an update when I have additional information.

  • Aarti,

    This was resolved when Kevin emailed our support account.

    Andrew

  • Andrew,

    Thanks for replying. For the benefit of others, would you mind reporting the nature of this issue and its solution?

    Thank you,

    Rafael

  • Update:

    I contacted Blackhawk directly about this issue. After a couple days they were able to provide a new xml target configuration file. This fixed the problem. However, I still do not know what the actual root cause was, or why, or how it was fixed. So, yes, it is fixed, but you'll have to contact Blackhawk for the details.

     

    Kevin

  • I would like to say that this issue has not really been resolved very clearly. My setup is now working, but I don't know why. Also, any other people having the same problem cannot read this thread to get the fix. They would have to contact Blackhawk just like I did.

    TI hasn't solved anything.

    I think that this issue should not be marked resolved. In my opinion, TI still has work to do to fix this problem.

    Kevin

  • Hi Kevin,

    CCSv4 comes with drivers and other support files for Blackhawk emulators, but those files are maintained by Blackhawk themselves. We don't have control over those files. We bundle what is provided to us. With the next drop, that updated file should be in the package given to us. I marked the thread as closed because the resolution to this thread was to drop in a file provided by Blackhawk, hence to contact them.

    Thanks

    ki

  • Rafael,

    A CCS update (may have) included changes to the emulation sub-system, specifically the Stellaris support and Cortex-M driver.  Most likely we need to issue an update for our DVR file, which is normal from time to time.  However, our XDS510 designs maintain compatibility with the TI XDS510 DVR files as a back-up to any changes/improvements we make.  This is what we provided as the solution - use the corresponding TI DVR file.

    In order to make this change, you need to update your CCS installation with a new Blackhawk Cortex-M Driver XML file (replace: bhemu510cortexM.xml located in Program Files\Texas Instruments\ccsv4\common\targetdb\drivers).  That file is included here in the post.

    Updated XML File: 

    <?xml version="1.0"?>
    <!--                                                  -->
    <!-- This is a USCIF v35.24.0.3 compatible XML.       -->
    <!--                                                  -->
    <!-- Blackhawk XDS510 Emulator XML Definitions.       -->
    <!-- Date: 29 September 2010                          -->
    <!-- Vers: 4.1.3.4                                    -->
    <!-- Using TI DVR File v10.0.4.0                      -->
    
    <drivers id="Cortex_M3">
    	<isa Type="Cortex_M3" ProcID="0x75803800">
    		<driver file="..\..\..\emulation\drivers\tixds510cortexM.dvr">
    			<connectionType Type="BHEMU"/>
    
    			<property Name="Access Port Designator" Type="numericfield" Value="0x02000000" NumericType="HEX" UpperBound="0xFFFFFFFF" LowerBound="0" ID="device.identify"/>		
    			<property Name="TraceDeviceId" Type="numericfield" Value="0x0" NumericType="HEX" UpperBound="0xFFFFFFFF" LowerBound="0" ID="device.traceId"/>
    		</driver>
    	</isa>
    </drivers>

    We will provide a CCS update for this, but until then, this will work just fine.

    Regards,

    Andrew

  • Andrew,

    Thank you very much for posting the solution. It will come very handy for others in the future.

    Regards,

    Rafael