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.

C5515 Registers display shows values from wrong memory space.

Other Parts Discussed in Thread: TMS320C5515, TMS320C5505

OS: WinXP, SP3, 32-bit.

CCS: v4.1.3.00038

TMS320C5515 with XDS100v2 USB Emulator.

 

I load up an application that does not use BIOS.  It auto-stops at main.  I open up the "Registers" window and click "+" for the SPI section.  I then open up a "Memory" window and give it an address of 0x3000 (I/O).  Those should be showing the same values, but they are much different.  If I change the "Memory" to 0x3000 in "PROGRAM" space, suddenly the numbers are the same.

The Registers window is reading it's values from the wrong memory space.  It should be reading from the "I/O" space, but it's reading it from the "PROGRAM" space.

  • Rolf,

    It looks like the "page" specification is missing from the definition file for that register group so it defaults to program page.  In the attached zip I have added the necessary info so that CCS will read the value from page 2 (I/O) instead of page 0 (program).  Can you give it a try to see if it helps for you?  I gave it a quick try and editing locations in the memory view seemed to correctly update the register view.

    The xml inside the zip file needs to go in the following folder in your installation \ccsv4\common\targetdb\Modules\C5505

    Regards,

    John

    cslr_spi_001.zip
  • Rolf,

    Looks like a few other files have the same problem.  Attached is a zip containing a set of files with the page information included.  The contents of the \C5505 folder in the zip go in the \ccsv4\common\targetdb\Modules\C5505 folder in your installation.

    Sorry for the trouble with this.

    Regards,

    John

     

     

    C5505.zip
  • I looked at the attached zip file, and I compared it to my existing configuration files.  I noticed several differences beyond the changes to the page numbers.  I'll give one example:

    in cslr_cpu_001.xml the IER1 register is at offset 0x45 in my config, but your zip file has it at 0x8A.  

     

    Also, in that cpu file, you've added page="1" but in every other file you've added page="2".  Is that correct?

  • Rolf,

    To be completely open with you we are having a versioning issue with the C55x xml files.  They come from outside of the software group and the way they get handed off and versioned is something that needs improvement (in the works).  It is a problem we have to address.

    For the first file what I did was take the file from the current CCS build and manually add page="2" for each register.  We then went and looked to see if there were other files that have the same problem and found that all the files had this problem so we went back to older CCS builds and could see that the page info was there before and then disappeared.  Thus the second zip contains a set of files from an older CCS build so that we can quickly fix the page issue.  However we can see that there were other changes in the files since the page bug showed up.  

    We are in the process of working with the group that owns the files to merge all the fixes together into a single set of good files, as well as cleaning up the handoff process so we don't have the problem anymore.

    Regards,

    John

     

  • I noticed that there is a C5515 directory along-side the C5505 directory in the Modules directory containing all those XML files.  Is there a reason why CCS is using the 5505 versions of the files instead of the 5515 versions considering my target is a 5515?

  • Rolf,

    I had the same problem. The C5515 directory you are referring to contains the correct files. To use them they need to be referenced in

    ..\Texas Instruments\ccsv4\common\targetdb\Devices\c5515.xml

    I text replaced \c5505 by  \c5515 in this file. Now it works.

  • Has the work been completed to produce a good set of 5505 register xml files?  If yes, where can I download them from.  I am debugging a problem and it would be helpful if the register window worked correctly for the 5505.

     

     

  • What version of CCS are you using? CCSv4.2 should include them with the install.

    ki

  • I have 4.1.  I will download 4.2 and try it out.

  • I am using CCS 4.2.1.00004 and working with C5505.  I have the same problem that the registers display (most of them) are not correct. Is there any fix for this issue?

    Thanks

    A shen

  • I have just installed version 4.2 and the register issue is still present for the TMS320C5505.  The xml located at "C:\Program Files (x86)\Texas Instruments V4.2\ccsv4\common\targetdb\Modules\C5505" is missing a page attribute.

    Here is an example from cslr_gpio_001.xml:

    <register id="IODIR1" acronym="IODIR1" offset="0X0006" width="16" description="GPIO data direction bits that configure the general purpose IO pins 0 - 15 as either inputs or outputs">

    should be:

    <register id="IODIR1" acronym="IODIR1" offset="0X0006" page="2" width="16" description="GPIO data direction bits that configure the general purpose IO pins 0 - 15 as either inputs or outputs">

    The page attribute specifies which memory access to use.  I beleive that 0 is for program, 1 is for data, and 2 is for IO.

  • Can someone from TI upload a correct version then? It will be too time consuming to manually change all the files.

    BTW, I have just installed the ccsv5 and the same problem exists.

    thanks

    A shen

  • Oh, I just found out there is already a C5505.zip file attached in the previous posts. Tried and it seems working. 

    thanks

    a shen

  • FYI, I diffed the 5505 xml files from version ccsV4.1 and ccs V4.2 and there were no differences.

  • With version Code Composer 4.2.3, the problem still exists!

    Just to restate the problem:

    Code Composer does not properly display the register values for "any" of the registers that are in i/o space.

    This is due to the fact that the page=2 specification is not in the C5505 register definition .xml files.

    I would like to correct an earlier posted where someone had referenced the C5515 directory. I know this can be a little confusing, but please be aware that the C5515, C5515, C5505, C5504 processors (as specified in the C:\Program Files\Texas Instruments\ccsv4\common\targetdb\devices\*.xml files) all share the same register defintion files located in the directory:

    C:\Program Files\Texas Instruments\ccsv4\common\targetdb\Modules\C5505

    I did not feel comfortable merging in the C5505.zip file attached in a previous posting in fear that I would miss additional updates made after the posting. I did a diff of the C5000.zip with the CCSv4.2.3 installed files and merged in the page references. In a number of cases the offsets were different between the versions. I preserved the v4.2.3 offset values.

    These settings have been working well for me.

    Please see the attached file.

    1830.ccsv4.2.3.4_Page2UpdateForC5505.zip

     

  • Computer #1 has been working great with the register settings that I had previously posted.

    Now I'm using another computer #2 with the same installed version of the tools (CCSv4.2.3). I used the same set of installation disks, setup procedure, etc for both machines and I never do the updates via the web because both machines  are not on the internet.

    I am finding this computer#2 has a completely different set of files!!!!!!

    The C:\Program Files\Texas Instruments\ccsv4\common\tagetdB\devices\c5515.xml is different on both machines!

    Computer #1 has the xmlpath="..\Modules\C5505" and href="="..\Modules\C5505 ... relative paths . The xml file is dated 3/1/2011

    Computer #2 had the There are no xmlpath= values after the -- END Project Wizard Settings -- message, with href="..\Modules\C5515 ... relative paths . This XML file is dated 1/15/2010.

    I compared both versions of Code Composer and both are running with v4.2.3.

    Help->About Code Composer Studio->Configuration Details generated reports indicate that I have the same installed versions of everything.

    I want to have the same build and debug environment on both machines. It is undesirable to have two different configurations/setups on two different machines.

    1. Why do both computers have different sets of files?

    2. I am using the C5515 EVM and C5515 ezDSP boards for my development. Do the xml files above change based upon board selection settings in code composer, or some other means?

    Please help!!

  • The files are not cleaned up in CCS until the 4.2.4 update this month.  One thing you will want to watch out for when installing that update when it comes out is that if you have edited your xml files more recently than when the ones that are in the update were created then the updater is likely not going to update the files.  The original zip I posted on another thread is months old so the content from it should get updated no problem.

    It is possible that when using different boards CCS will pull in different xml files.  When you configure CCS for a board or device that is really pointing to a board or device xml file.  Those files then specify which peripheral files to use.  So you could have a file for board A that points to different files than board B.

    I took at look at the EVM an ezstick board files and both are pulling in the same device file (which in turn pulls in the peripheral files).  So switching boards in target setup would not have an impact on the register displays

    <instance XML_version="1.2" desc="TMS320VC5515_0" href="Devices\c5515.xml" id="TMS320VC5515_0" xml="c5515.xml" xmlpath="Devices"/>

     

    John