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.

CCSV4 Can't Emulate on AM1808 EVM

Other Parts Discussed in Thread: AM1808, OMAPL138

I have the Zoom AM1808 EVM (TMDXEVM1808L-1) kit from Logic PD and cannot run either the examples or the UBL from the emulator. I am using the full licensed Version: 4.1.3.00038 of Code Composer Studio. I followed the directions that came with the kit and I get errors similar to this when I try to debug and hit the run button:

ARM9_0: Error: 0xA0002060/-242 @ marker 10825 Error during: Execution, Initialization, Control, 
ARM9_0: 1 other operation(s) were automatically canceled as a result

Single stepping through I can see that the error occurs on the following line of device.c

    /* Set PLLEN=0 to put in bypass mode*/
    PLL0->PLLCTL &= ~(0x00000001);

at one point it would run until the PLL was re-enabled

    /* Set the PLLRST bit in PLLCTL to 1 to bring the PLL out of reset */
    PLL0->PLLCTL |= 0x8;

Also I noticed several days ago (that's how long I've been beating my head against this wall) that the M register of CPSR was 0x10. But now it is 0x13. I'm not sure how or why that changed other than I now have the AM1808 gel specified in the target configuration. Also I just noticed that when I run the frequency settings menu item in the gel I get no text output to the console so I'm not sure if that works.

I installed the Code Composer version 4.1.1.00014 that came with the kit on a different computer and can run the examples and UBL with no problems. I compared the target configurations from both set ups and aside from the path to the gel file everything is identical. I've included it below.

I've tried everything I could think of. If anyone has suggestions I'd be glad to try them. Otherwise I'll switch over to the eval version of code composer.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Emulator_0">
        <instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Emulator_0" href="connections\TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Emulator_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Emulator_0">
            <instance XML_version="1.2" href="drivers\tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers\tixds100v2arm9.xml" id="drivers" xml="tixds100v2arm9.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers\tixds100v2etb11.xml" id="drivers" xml="tixds100v2etb11.xml" xmlpath="drivers"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="AM1808_0" href="Devices\AM1808.xml" id="AM1808_0" xml="AM1808.xml" xmlpath="Devices"/>
                <device HW_revision="1" XML_version="1.2" description="AM18x - ARM9 Embedded Processor" id="AM1808_0" partnum="AM1808">
                    <router HW_revision="" XML_version="1.2" description="" id="device_0" isa="ICEPICK_C">
                        <subpath id="device_3">
                            <cpu HW_revision="" XML_version="1.2" description="" id="device_4" isa="ARM9">
                                <property Type="filepathfield" Value="..\..\..\..\..\AM1808_BSL\src\bsl\AM1808.gel" id="GEL File"/>
                            </cpu>
                        </subpath>
                    </router>
                </device>
            </platform>
        </connection>
    </configuration>
</configurations>

 

 

  • John,

    Just to be clear this is what you are seeing:

    PC1 (CCSv4.1.3 + AM1808 Zoom EVM) = Fail

    PC2 (CCSv4.1.1 + AM1808 Zoom EVM) = Pass

     

    Will have to see if we can dig up a board to try.

    One thing that comes to mind is that the 4.1.1 image that comes with the board is likely customized by the board vendor so that it installs extra stuff like the BSL, gel files...   One way to tell if that is the issue is to let your 4.1.1 install update itself to 4.1.3 (the danger is that if it breaks you would have to reinstall 4.1.1).  Or a little safer would be to install the 4.1.1 image that came with the EVM on the machine that has 4.1.3.  Just install it in a separate directory.  You can copy in your full license file from the existing 4.1.3 install and drop it in the \ccsv4\debugserver\license folder of the new install.

    Regards,

    John

     

     

  • John,

    I could reproduce the error you are getting when I run the examples "out of the box" without any modifications - I blindly followed the instructions from the readme file <1016316A_Release_Notes.txt> provided with the BSL examples I downloaded from LogicPD (I don't have the CD).

    I am using the <AM1808.ccxml> file included in the project AM1808 BSL and the GEL files provided there.

    However, when I was inspecting the example code I found the following line in several of the source files:

    main_usb.c said:

    // comment this define if running with gel initialization.
    #define NO_GEL    (1)

    When I commented out the #define (as my ccxml file has a GEL file defined) the test ran ok. I tried several other tests and they always failed if I left this line uncommented.

    Although I can't necessarily explain why it worked in CCSv4.1.1 (several emulation bugs were fixed in 4.1.3), I think it makes sense to comment this out and give it a shot.

    Hope this helps,

    Rafael

     

  • Rafael

     

    I just tried the update and had the same problem.

    The problem with your solution is that it doesn't allow me to set up the PLL registers and other parameters in software. All it does is bypass the device set up. Therefore the UBL code for AM1808 that comes in the Linux PSP will not work with this new version.

    I am uninstalling and going back to the old version until you can find a solution. However, I think there are other issues with the older version concerning compiler bugs. Some code doesn't appear to work correctly even though I'm relatively certain the code is correct.

     

    Trouble Reading Register R11_FIQ:
    0xC0002844/-1060 @ marker 11800
    Error during: Register, Initialization, Timeout, Control,
    An unknown error prevented the emulator from accessing the processor
    in a timely fashion.
    It is recommended to RESET EMULATOR.  This will disconnect each
    target from the emulator.  The targets should then be power cycled
    or hard reset followed by an emureset and reconnect to each target.

  • It seems this is a known issue. I just happened across this wiki at

    http://processors.wiki.ti.com/index.php/XDS100#Q:_My_XDS100v2_does_not_work_reliabily_with_the_OMAPL138_.2F_DM365_.2F_ARM926_core

    I tried adaptive clocking, slowing the clock speed and all but updating the CPLD. Nothing works.

    The problem seems to have some relationship to the version of code composer (which may be a result of having different Blackhawk drivers) and also the hardware. I've been able to get rid of the problem on the Logic PD AM1808 Zoom board and can successfully run code that changes the PLL clock speed. Now I have our target board and the same problem is occurring. As soon as I perform the instruction to leave bypass mode

    PLL0->PLLCTL |= DEVICE_PLLCTL_PLLEN_MASK;

    I get the error:

    ARM9_0: Warning: 0x60000060/-1029 @ marker 11103 Error during: Execution, Initialization,  The ICECrusher register scan returned invalid data 
    ARM9_0: Warning: 0x40000060/-1029 @ marker 11103 Warning during: Execution, Initialization,  The ICECrusher register scan returned invalid data 
    ARM9_0: Warning: 0x60000060/-1029 @ marker 11103 Error during: Execution, Initialization,  The ICECrusher register scan returned invalid data 
    ARM9_0: Warning: 0x60000060/-1029 @ marker 11103 Error during: Execution, Initialization,  The ICECrusher register scan returned invalid data

    I will now try the CPLD update. But from what I read there this is not a sure thing either. Is it futile for me to continue using CCS to debug on the ARM?

    I also have a blackhawk USB560M. That has the same issue.

    Does anybody have a workaround? I need to set up the correct clock speed of the processor. Using the GEL seems even more problematic according to the wiki. I can confirm that.

  • I later found that I had a clock issue with my target. I've updated to the latest Code composer and am able to run the emulator