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.

Inability to run CPU_TIMER project using CCS4 with DSP F28335 (Experimental Kit)

Other Parts Discussed in Thread: TMDSDOCK28335

Hi folks,

This is the first time I am using CCS 4 and DSP F28335.

I am Using CCS4 (30 day trial version) with DSP F28335's experimental docking Board (TMDSDOCK28335) which I believe has the on board XDS100 emulator. And this is the connection that I am using to make the PC- DSP connection.

I followed the cook book approach to run my first project, i.e. the CPU_timer project using the  wiki on C2000 Getting started with CCS  V4 and document SPRCA73.

After much toil, I was able to run it successfully as I could see the "Cputimer"s increment every second in the "Watch" window.

I tried to follow the same approach to rerun the sample project (CPU_timer) but turns out that it wont work; The Code builds up fine and the timers exhibit the right memory addresses in the "watch" window but they just would not increment with time; their value remains unchanged with time

I even checked the forums and found an earlier post titled "CCS v4 "XDS100 Limited Free License", not supporting real time debug" which addressed problems with a CCSv4 bug having problems with real time monitoring; but turns out my version of CCS 4 has the required files.

Can some one please point as to what could be the reason behind this event? Any help or suggestions will be very highly appreciated.

 

  • Saurabh,

    The xds100 does support real-time mode. Did you make sure that the real-time mode is enabled in CCS when you started up the debug session? The steps to enable realtime mode are shown in the C2000 Getting Started with CCSv4 article. In CCS 4.1.3 and higher, there is also an icon from where you can directly enable real-time mode without having to go into the Debugger Options.

    Which specific version of CCS are you using? It is always recommended to use the latest version.

    Saurabh Maithani said:
    The Code builds up fine and the timers exhibit the right memory addresses in the "watch" window but they just would not increment with time; their value remains unchanged with time


    Do the values update when you halt the code and refresh the watch window? If they do not update at all then the code is probably not running correctly.

     

  • Aarti said:

    Saurabh,

    The xds100 does support real-time mode. Did you make sure that the real-time mode is enabled in CCS when you started up the debug session? The steps to enable realtime mode are shown in the C2000 Getting Started with CCSv4 article. In CCS 4.1.3 and higher, there is also an icon from where you can directly enable real-time mode without having to go into the Debugger Options.

    Yes I enabled the silicon real-time mode; Customized the Continuous Refresh interval to 1 second;  and also enabled the continuous refresh mode.

    Aarti said:

    Which specific version of CCS are you using? It is always recommended to use the latest version.

    I am using CCS V4.1.2

    Saurabh Maithani said:
    The Code builds up fine and the timers exhibit the right memory addresses in the "watch" window but they just would not increment with time; their value remains unchanged with time

    Aarti said:

    Do the values update when you halt the code and refresh the watch window? If they do not update at all then the code is probably not running correctly.

    No they do not update even when I halt the code execution and refresh the watch window; What could possibly be the problem?

    I really appreciate your time and help!

  • You said that this code worked before on this experimenters kit, correct? Was anything changed since then? Are you able to load and run other example programs successfully?

    I would also suggest checking the boot mode pins on your kit to make sure they are set for "boot to SARAM", which is what the supplied example project is configured for (please refer to the comments at the top of the source file Example_2833xCpuTimer.c). The F28335 data sheet contains more details on the boot mode selections.

  •  

    Yes the code was working fine; Nothing was changed since then; 

    I tried running the Ledblink project;  When I was trying to debug the c code for this project, I saw the message "the target configuration.... is not compatible with the current target configuration...". I looked into the forums and found a similar problem encountered by another user and read his post titled "Target configuration has become "incompatible with current target configuration". 

    I followed the recommended steps, i.e.deleted the .metadata folder associated with the project and used Project>Clean; and the restarted CCS to successfully run the LEDBlink project. Is this the correct procedure to take care of the above mentioned error?

    The LEDBlink project runs fine as I can see  CPUTimer0.InterruptCount increment every 500ms; though I could not see the LED on the control card blinking;  I made a slight modification to the code and made the CPUtimer 0 interrupt every 1 second and reran the program; Now the CPUTimer0.InterruptCount increments every   second; However the LED on the control card still does not blink;  I figured that Project LEDblink is written for the  2833x eZdsp where the LED is mapped as GPIO32, whereas for my control card the LED's are mapped as GPIO-38 and GPIO-39; So I modified the Example_2833xLEDBLINK.c file and configured GPIO39 as the output pin; So the section of the code associated with configuring the output pins, now looks like: 

    // Configure GPIO39 as a GPIO output pin

       EALLOW;

       GpioCtrlRegs.GPBMUX1.bit.GPIO39 = 0;

       GpioCtrlRegs.GPBDIR.bit.GPIO39 = 1;

       EDIS;

    interrupt void cpu_timer0_isr(void)

    {

       CpuTimer0.InterruptCount++;

       GpioDataRegs.GPBTOGGLE.bit.GPIO39 = 1; // Toggle GPIO39 once per 1 second

     // Acknowledge this interrupt to receive more interrupts from group 1

       PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

    }

    The rest of the code is unchanged;

    I can see the CPUtimer 0 interrupt every 1 second in the watch window, but the LED on the control card still does not blink. What could be the possible reason?

    Thanks again for your patience and help!

     

  • Apologies for the flooding but I got the LED to finally blink :)

    Turns out, for the LEDBlinking Project, I was using an outdated version of the F28335 control card schematic ( Release 1.0 10/15/2007); I found the latest version (Release 1.1 4/24/2008) in which the LEDs are positioned as GPIO-31 and GPIO-34 ( and not GPIO-38 and 39 as given in the dated version)

    Still it would be great if you could please provide insight into the " target config. has become incompatible with current target config. " error.

    Thanks a ton!

  • On a secondary note I have still not been able to run the CPU_Timer Project. The same problem persists; the CPU_Interrupt counters would not increment

  • Saurabh Maithani said:

    Still it would be great if you could please provide insight into the " target config. has become incompatible with current target config. " error.

    The steps described in this Troubleshooting CCS article should help resolve such errors.