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.

CCS4 features

CCSv4 is great but there are a whole lot of features missing that are starting to really frustrate me... any chance I could enter these as feature requests?

1) I'm at a breakpoint looking at C++ code. I want to view the disassembly of that point. Great! I click View -> Disassembly, no problem, it's pointing at the current assembly instruction. Now I decide I want to look around in the disassembly code, and I forget where I was. Any way to reset the Disassembly window so it shows the current assembly instruction?

2) I'm debugging some optimized code, and the local variables never show up because they are in registers. Doesn't the symbolic information have enough information for CCS to look at the appropriate register or on the stack, so that I can see local variables? It's a real pain.

3) Is there a keyboard shortcut for the "Assembly Step Into" and "Assembly Step Over"? If not, can I assign my own keyboard shortcut? (e.g. shift-F5 and shift-F6 instead of F5 and F6 for C step into / step over)

I know I have other feature requests but can't remember them.

  • 4) *PLEASE* fix the bug in the FTDI JTAG driver for CCS, which gets confused when connecting to an XDS100 debugger when there is also another FTDI USB<->UART converter connected; most of the commercial USB<->serial drivers use FTDI chips. CCS4 works fine with an FTDI USB<->serial chip if you connect it to a USB port *after* CCS has already connected to the XDS100 debugger, but it does not handle its initial connection properly. The VID/PID numbers are different (VID_0403, PID_6001 for standard FTDI chips; for the TI 28027 experimenter's kit the VID/PID numbers were VID_0403, PID_A6D0) and it really sounds like a bug in either the JTAG driver or CCS program while trying to connect to an XDS100, that somehow it doesn't enumerate the USB devices properly to determine which one to use for JTAG debugging.

  • 5) *PLEASE* improve the Watch window value display. I am amazed by how good the PC <-> debugger link is, in order to display values while the DSP is stopped. But the format in which the PC displays those values, is very limiting. You only have the option of float, binary, decimal, or hexadecimal. This has a few limitations:

    a) If the value is a char (signed or unsigned), the debugger tries to display the value as a character. This is great if you're using a char as a character, but if you are using a char as a type to store an 8-bit number, then I don't want to see the value 97 displayed as "a", I want to see 97. Add ASCII as a separate option to the list of float/binary/decimal/hex.

    b) If I *do* have an array of characters, it would be greatly helpful to have the option of displaying them as a string.

    c) Sometimes an array is referenced via a pointer. When you watch a pointer in the Watch window, you can open up one more level of the tree to jump one level of indirection. That's great. But I can then only see the first element of the array. Please give us the ability in the watch window to tell CCS how many items in the array to look at. (Microsoft Visual C++ uses a syntax like (Foo *)x,17 I think, to tell it to look at an array of length 17.)

  • Test case:


    typedef unsigned char uint8_t;

    typedef unsigned int uint16_t;

    typedef unsigned long uint32_t;

    struct Bar {

       uint16_t x;

       uint32_t y;

    };

    struct Foo {

       uint8_t x8;

       unsigned char *myString;

       Bar *bar_array; 

    };


    Foo foo;

    foo.x8 = 0x61;

    foo.myString = "Hi!";

    Bar bar[2];

    bar[0].x = 100; bar[1].x = 101; bar[0].y = 1000; bar[1].y = 1001;

    foo.bar_array = bar;

     

    I want to watch "foo" in a Watch window and configure it to show all the fields and see those values of 0x61, "Hi!", and see both values of foo.bar_array by manually configuring the Watch window to tell it the array is of length 2.

  • Jason R Sachs said:

    1) I'm at a breakpoint looking at C++ code. I want to view the disassembly of that point. Great! I click View -> Disassembly, no problem, it's pointing at the current assembly instruction. Now I decide I want to look around in the disassembly code, and I forget where I was. Any way to reset the Disassembly window so it shows the current assembly instruction?

    Looks like I can do this by closing the Disassembly window and reopening it.

    Jason R Sachs said:

    4) *PLEASE* fix the bug in the FTDI JTAG driver for CCS, which gets confused when connecting to an XDS100 debugger when there is also another FTDI USB<->UART converter connected; most of the commercial USB<->serial drivers use FTDI chips. CCS4 works fine with an FTDI USB<->serial chip if you connect it to a USB port *after* CCS has already connected to the XDS100 debugger, but it does not handle its initial connection properly. The VID/PID numbers are different (VID_0403, PID_6001 for standard FTDI chips; for the TI 28027 experimenter's kit the VID/PID numbers were VID_0403, PID_A6D0) and it really sounds like a bug in either the JTAG driver or CCS program while trying to connect to an XDS100, that somehow it doesn't enumerate the USB devices properly to determine which one to use for JTAG debugging.

    This has been fixed somewhere between 4.0.0 and 4.1.1. Hurray!

  • Jason R Sachs said:

    4) *PLEASE* fix the bug in the FTDI JTAG driver for CCS, which gets confused when connecting to an XDS100 debugger when there is also another FTDI USB<->UART converter connected; most of the commercial USB<->serial drivers use FTDI chips. CCS4 works fine with an FTDI USB<->serial chip if you connect it to a USB port *after* CCS has already connected to the XDS100 debugger, but it does not handle its initial connection properly. The VID/PID numbers are different (VID_0403, PID_6001 for standard FTDI chips; for the TI 28027 experimenter's kit the VID/PID numbers were VID_0403, PID_A6D0) and it really sounds like a bug in either the JTAG driver or CCS program while trying to connect to an XDS100, that somehow it doesn't enumerate the USB devices properly to determine which one to use for JTAG debugging.

    This has been fixed somewhere between 4.0.0 and 4.1.1. Hurray!

    [/quote]

    I take that back, it hasn't been fixed. :-(

  • I take that back, it hasn't been fixed. :-(

    Yes it has...

    in the future could you guys make it a little easier to tell which version of Code Composer is running w/o having to go to the About box? (e.g. right now the title bar says "Code Composer Studio", it would be nice if it said "Code Composer Studio 4.1.1" (or whatever version is running).

  • You can click on top stack frame in Debug View to refocus disassembly view. 

     

    Martin