Skip to Main Content Skip to Search
Product Documentation

Reported Limitations and Tips

Some long-standing issues affect the Embedded Coder product. When you are using ticcs objects and the software methods to work with Code Composer Studio and supported hardware or simulators, recall the information in this section.

The latest issues in the list appear at the bottom. HIL refers to "hardware in the loop," also called processor in the loop (PIL) here and in other applications, and sometimes referred to as function calls.

Demonstration Programs Do Not Run Well with Incorrect GEL Files

To run the Embedded Coder demos, you must load the corresponding GEL files before you run the demos. For some boards, the demos run fine with the default CCS GEL file. Some boards need to run device-specific GEL files for the demos to work well.

Here are demos and boards which require specific GEL files.

In general, if a demo does not run with the default GEL file, try using a device-specific GEL file by defining the file in the CCS Setup Utility.

Changing Values of Local Variables Does Not Take Effect

If you halt the execution of your program on your DSP and modify a local variable's value, the new value may not be acknowledged by the compiler. If you continue to run your program, the compiler uses the original value of the variable.

This problem happens only with local variables. When you write to the local variable via the Code Composer Studio Watch Window or via a MATLAB object, you are writing into the variable's absolute location (register or address in memory).

However, within the processor function, the compiler sometimes saves the local variable's values in an intermediate location, such as in another register or to the stack. That intermediate location cannot be determined or changed/updated with a new value during execution. Thus the compiler uses the old, unchanged variable value from the intermediate location.

Code Composer Studio Cannot Find a File After You Halt a Program

When you halt a running program on your processor, Code Composer Studio may display a dialog box that says it cannot find a source code file or a library file.

When you halt a program, CCS tries to display the source code associated with the current program counter. If the program stops in a system library like the runtime library, DSP/BIOS, or the board support library, it cannot find the source code for debug. You can either find the source code to debug it or select the Don't show this message again checkbox to ignore messages like this in the future.

For more information about how CCS responds to the halt, refer the online Help for CCS. In the online help system, use the search engine to search for the keywords "Troubleshooting" and "Support." The following information comes from the online help for CCS, starting with the error message:

File Not Found

The debugger is unable to locate the source file required to enable source-level debugging for this program.

To specify the location of the source file

  1. Click Yes. The Open dialog box appears.

  2. In the Open dialog box, specify the location and name of the source file then click Open.

The next section provides more details about file paths.

Defining a Search Path for Source Files

The Directories dialog box enables you to specify the search path the debugger uses to find the source files included in a project.

To Specify Search Path Directories

  1. Select Option > Customize.

  2. In the Customize dialog box, select the Directories tab. Use the scroll arrows at the top of the dialog box to locate the tab.

    The Directories dialog box offers the following options.

    • Directories. The Directories list displays the defined search path. The debugger searches the listed folders in order from top to bottom.

      If two files have the same name and are located in different folders, the file located in the folder that appears highest in the Directories list takes precedence.

    • New. To add a new folder to the Directories list, click New. Enter the full path or click browse [...] to navigate to a folder. By default, the new folder is added to the bottom of the list.

    • Delete. Select a folder in the Directories list, then click Delete to remove that folder from the list.

    • Up. Select a folder in the Directories list, then click Up to move that folder higher in the list.

    • Down. Select a folder in the Directories list, then click Down to move that folder lower in the list.

  3. Click OK to close the Customize dialog box and save your changes.

C54x XPC Register Can Be Modified Only Through the PC Register

You cannot modify the XPC register value directly using regwrite to write into the register. When you are using extended program addressing in C54x, you can modify the XPC register by using regwrite to write a 23-bit data value in the PC register. Along with the 16-bit PC register, this operation also modifies the 7-bit XPC register that is used for extended program addressing. On the C54x, the PC register is 23 bits (7 bits in XPC + 16 bits in PC).

You can then read the XPC register value using regread.

Working with More Than One Installed Version of Code Composer Studio

When you have more than one version of Code Composer Studio installed on your machine, you cannot select which CCS version MATLAB Embedded Coder attaches to when you create a ticcs object. If, for example, you have both CCS for C5000 and CCS for C6000 versions installed, you cannot choose to connect to the C6000 version rather than the C5000 version.

When you issue the command

IDE_obj = ticcs

Embedded Coder starts the CCS version you last used. If you last used your C5000 version, the IDE_obj object accesses the C5000 version.

Workaround

To make your ticcs object access the right processor:

  1. Start and close the CCS version you plan to use before you create the ticcs object in MATLAB.

  2. Create the ticcs object using the boardnum and procnum properties to select your processor, if required.

    Recall that ccsboardinfo returns the boardnum and procnum values for the processors that CCS recognizes.

Changing CCS Versions During a MATLAB Session

You can use only one version of CCS in a single MATLAB session. Embedded Coder does not support using multiple versions of CCS in a MATLAB session. To use another CCS version, exit MATLAB software and restart it. Then create your links to the new version of CCS.

MATLAB Hangs When Code Composer Studio Cannot Find a Board

In MATLAB software, when you create a ticcs object, the construction process for the object automatically starts CCS. If CCS cannot find a processor that is connected to your PC, you see a message from CCS like the following DSP Device Driver dialog box that indicates CCS could not initialize the processor.

Four options let you decide how to respond to the failure:

One more option, Diagnostic, lets you enter diagnostic mode if it is enabled. Usually, Diagnostic is not available for you to use.

Using Mapped Drives

Limitations in Code Composer Studio do not allow you to load programs after you set your CCS working folder to a read-only mapped drive. When you set the CCS working folder to a mapped drive for which you do not have write permissions, you cannot load programs from any location. Load operations fail with an Application Error dialog box.

The following combination of commands does not work:

  1. cd(IDE_obj,'mapped_drive_letter') % Change CCS working directory to read-only mapped drive.

  2. load(IDE_obj,'program_file') % Loading any program fails.

Uninstalling Code Composer Studio 3.3 Prevents Embedded Coder From Connecting

Description On a machine where CCS 3.3 and CCS 3.1 are installed, uninstalling 3.3 makes 3.1 unusable from MATLAB. This is because the CCS 3.3 uninstaller leaves stale registry entries in the Windows Registry that prevent MATLAB from connecting to CCS 3.1.

Texas Instruments has documented this uninstall problem and the solution on their Web site.

Updated information on this issue may also be available from the Bug Reports section of www.mathworks.com at http://www.mathworks.com/support/bugreports/379676

PostCodeGenCommand Commands Do Not Affect IDE Projects

PostCodeGenCommand commands, such as the addCompileFlags and addLinkFlags functions in the BuildInfo API do not affect code generated by Embedded Coder while System Target File is set to idelink_ert.tlc or idelink_grt.tlc.

Use the 'Compiler options string' and 'Linker options string' parameters in the Configuration Parameters > Code Generation > IDE Link pane instead. You can also automate this process using a model callback to SET_PARAM the 'CompilerOptionsStr' and 'LinkerOptionsStr' parameters.

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS