![]() ![]() |
|||||||||||||||||||||||
Code Composer Studio 'C6000 Release Notes V1.19 |
|||||||||||||||||||||||
|
C64x Support - The world's highest performing compiler for the world's fastest DSP
Support for the newest member of the C6000 family the C64x has been added. The C64x architecture offers new packed data extensions targeted at raising the bar even further on the world's highest performance DSP family. All C64x extensions are accessible and are enabled by using the -mv6400 switch.
Profile Based Compilation (PBC)- Solving the code size vs performance tradeoff
A brand new tool has been added to the compile tools suite called PBC. Automatically try multiple compile options and select from a 2D graph the exact code size and performance you need for your application. Then just click build. PBC selects the right compiler options for each function in your application to meet your code size and performance requirements.
Takes best compiler in the industry and extends performance lead
Many new optimizations and performance improvements have been added above and beyond the previous 3.01 release. Check out new code examples at www.ti.com/sc/c6000compiler. Provided in the downloadable zip file are 10 benchmarks of completely native, non-C6000 specific C code. These demonstrate the excellent out of the box performance of the C compiler and allow you to compare the results versus highly optimized hand coded assembly.
On the same web page (www.ti.com/sc/c6000compiler) there are links to the compiler tutorial which offers excellent guidance on how to get full performance out of the 3.01 compiler. For a more updated version describing 4.0 early adopter, refer to the Compiler tutorial section in the programmer's guide (available on the external web - under technical documentation search type programmer's guide). A new version of the compiler tutorial will be placed on the web with the 1.2 release of Code Composer Studio.
Data Converter Support
The Data Converter Support Plug-In (DCSP) is a new addition to the standard set of CCS plug-ins. DCSP allows you to configure all necessary parameters an advanced data converter device offers and create a set of C code functions to address this data converter using your DSP.
Some anti-virus programs can cause problems when building a project with Code Composer Studio. The anti-virus software may cause A:\ to be accessed on each file compiled, or may cause compilation to hang. (SDSsq06918, SDSsq06879, SDSsq06730) If you observe these symptoms, there are three workarounds:
Upgrade to a newer version of the anti-virus software, or
Turn off your anti-virus software or change some of the options (e.g., change "scan all files" to "scan program files"), or
Add the following
lines to your C:\windows\win.ini file (this will slow down
your compilations considerably):
[Code Composer]
BackgroundCompile=SAFE
Due to incompatibilities with previously released products, the user will be prompted to uninstall the following Code Composer/Code Composer Studio releases:
All previous 'C54x Code Composer Releases
All previous 'C55x Code Composer Releases
All previous C5000 Code Composer Studio Releases
All previous C6000 Code Composer Studio Releases
The installation will permit the C5000 V1.19 and C6000 V1.19 products to be over installed into the same directory for heterogeneous debugging.
The installation will
permit the C5000 V1.19 and C6000 V1.19 products to be installed into different
directories on the same machine.
The installation will permit multiple installations of this product on the same machine.
Multiple Code Composer
Studio installs on Windows 98 (second release) can result in a failure to
boot windows 98. It appears to be a problem with windows 98 second release
and it's inability to have more than a few items in autoexec.bat.
Windows 95 has a 64KB
limitation to the size of the following key:
HK_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs. CCS
installation inserts the path of almost all files installed by it into this
key. This results in too many entries in this key, causing install/uninstall
to potentially fail on some workstations. This also negatively affects installation
of other applications later on such a system (causing "out of registry space"
problem). This also has the side-effect of requiring users to select "Yes
to all" during un-install - to avoid having to click "Yes" for all these
(hundreds of) files marked as "shared". This problem is to be fixed in Code
Composer Studio 1.20
Code Composer Studio uses the C6x 4.00 Code Generation toolset. If an older Code Generation toolset is installed, it may be useful to uninstall the older version before installing Code Composer Studio. More than one Code Generation toolset on the same machine can cause unwanted environment variable issues.
During installation on Win95/98, user is prompted to add the line c6000.bat to the autoexec.bat. This will add the proper environment variables to the system. Choosing NO will cause most applications to not function properly.
When installing Code Composer Studio v1.19 over the 'C6000 Code Composer Studio DSK Tools v1.05, the user will be prompted to uninstally the DSK Tools. Upon completion of the uninstall, a dialog box will prompt the user to reboot the machine. Select NO and continue with the Code Composer Studio v1.19 installation program. Selecting Yes will have the effect of not prompting the user to reboot the machine at the end of the Code Composer Studio v1.19 installation program. (SDSsq10787)
C6000 Code Composer Studio Desktop Icons
Two TMS320C6000 Code Composer Studio icons are installed on the desktop: "CCS C6000 1.19" and "CCS C6000 DSK 1.19." Each desktop icon is associated with a unique init.gel file that contains initialization routines for a particular set of hardware.
Choose "CCS C6000 1.19" when using 'C6201, 'C6202, 'C6203, 'C6204, or 'C6701
Choose "CCS C6000 DSK 1.19" when using 'C6211 or 'C6711 DSK's
(SDSs10672)
If you wish to simulate the C64XX device, choose the C64xx Simulator as the board. If the C64XX board does not already exist, then click on the "Install Device Driver" option and choose the file tisimC64xx.dvr as the driver.
Support has been added for the TMS320C64xx processors via the -mv6400 compiler and assembler switch.
This release adds support for simulating TMS320C6400 devices. The simulator supports all the instruction extensions for the TMS320C6400 family. It also provides support for a memory system for such a device.
The L2 cache supports 5 modes. The modes may be set via the L2MODE field in the sim64xx_fast_simulator.cfg.
The simulator currently accurately models the pipeline effects of a TMS320C6400 device. It also provides an estimator model to estimate the performance implications of the memory system. The performance estimates are not exact but may be assumed to be representative of a true device.
Version 4.00 provides substantial performance improvements.
Support has been added for the TMS320C64xx processors via the -mv6400 compiler and assembler switch.
Options update: Within Code Composer Studio, the -pm, -mi, and -mh compiler build options have been modified to work correctly with Code Composer Studio 1.19/1.20. In order that these options are parsed correctly, you will notice in the "Build Options" window that the list of all options that you have selected does not "match" up with what is provided in the documentation
-pmm = -pm (program level optimization)
-mii = -mi (i.e. the -mi option with no interrupt threshold value specified)
-mhh = -mh (i.e. the -mh option with no byte value for speculative loads to read past the end of an array)
If you specify the -mh or -mi option with a numeric value, these options work the same way as specified in the documentation. If you edit the "command line" list of options displayed by hand, please use the modified options.
While using PBC, If your project keeps source files in a separate directory than the makefile, and your makefile uses relative path names, you will need to modify your makefile to work with PBC. Code Composer Studio treats relative path names relative to the source file, whereas PBC treats them relative to the makefile.
For example, if you have a 'src' directory and an 'include' directory for your source and include files, respectively, then your makefile might have something like '-I../include' in the compiler options. To use this makefile with PBC, you would need to add the compiler option '-I./include'. By having both include directories in the makefile, it will work with Code Composer and PBC.
A bug can occur if you build a source file with debug (-g) and want to generate an assembly listing file (assembler option -l, shell option -al). The listing file generated by the assembler may swap the ordering of load and branch instructions with the instruction that follows them as you read through the instructions. You can verify correct ordering of the code by reviewing the line number and program counter (left 2 columns of the listing file) (SDSsq05689).
The compiler does not handle the 'inline' keyword correctly, a copy of the inlined function is not generated for other modules (SDSsq07239).
Code Composer does not support spaces in directory or file names. If you do use spaces, you will have problems saving and building your projects. Please avoid using spaces. (SDSsq10705)
For additional information, please refer to the Code Generation Tools readme file.
DSP/BIOS v2.0 support for C6211, C6203, and C6711.
The default DSP/BIOS II configuration turns on the product's new features when upgrading from a previous version of DSP/BIOS. This will cause an increase in code size. Using the configuration tool to disable the Task Manager and Memory Manager will restore the size close to the previous. There are additional steps described in an application note that demonstrate the enhanced scalability of DSP/BIOS II to allow even further reduction in code size. This application note will be provided on the CCS 1.19 Early Adopters web site (ftp://ftp.ti.com/pub/cs/c5000/1.19). (SDSsq10827)
There is a problem
linking DSP/BIOS applications using the 'load time initialization' model
(-cr switch). This problem will be corrected in CCS 1.2, the workaround
is to use the default 'run time initialization (rom) model (SDSsq10748).
·
The Advanced tutorial that demonstrates the usage of the new features added to DSP/BIOS (dynamic tasks, semaphores, mailboxes, etc) is not provided with CCS 1.19, it will be available in CCS 1.2 (SDSsq08886).
On slower Pentiums, the 'Server Busy' screen will come up when a user opens a DSP/BIOS Configuration file (*.cdb) that was created with a previous version of DSP/BIOS. Wait a few minutes before pressing the "retry" key as rapid selection of retry will further prevent the update process(SDSsq10789).
The Code Composer Studio Tutorial has some screen shots which do not match the product, specifically regarding setting of compiler / assembler / linker build options (available under Project->Options) (SDSsq10798).
The execution graph will incorrectly display exceptions (blue dots) for PRD objects that are configured as 'one-shot'.
Opening .cdb file from within Code Composer sometimes yields "server busy" message. This is not a real problem. Work-around is to type 'OK' to the server busy message. This will allow the configuration file load to complete (SDSsq09514).
Updating old cdb files does not maintain SWI priorities for files based on 'evm62.cdb'. Work-around is to manually change SWI priorities after updating the .cdb file (SDSsq09646).
There is a problem linking DSP/BIOS applications using the 'load time initialization' model (-cr switch). This problem will be corrected in CCS 1.2, the workaround is to use the default 'run time initialization (rom) model (SDSsq10748). ·
The Advanced tutorial that demonstrates the usage of the new features added to DSP/BIOS (dynamic tasks, semaphores, mailboxes, etc) is not shipped with CCS 1.19, it will be available in CCS 1.2. ·
On slower Pentiums, the 'Server Busy' screen will come up when a user opens a DSP/BIOS Configuration file (*.cdb) that was created with a previous version of DSP/BIOS. Wait a few minutes before pressing the "retry" key as rapid selection of retry will further prevent the update process(SDSsq10789). ·
The Code Composer Studio Tutorial has some screen shots which do not match the product, specifically regarding setting of compiler / assembler / linker build options (available under Project->Options).
execution graph for one-shot PRD objects. The execution graph will incorrectly display exceptions (blue dots) for PRD objects that are configured as 'one-shot'.
Opening .cdb file from within Code Composer sometimes yields "server busy" message. This is not a real problem. Work-around is to type 'OK' to the server busy message. This will allow the configuration file load to complete (SDSsq09514).
Kernel/Object View disables data flow when opened before other DSP/BIOS tools on first try. Work-around is to open the Kernel/Object view after opening other DSP/BIOS tools or resetting the DSP and restarting the DSP to get the data to flow (SDSsq09615).
Updating old cdb files does not maintain SWI priorities for files based on 'evm62.cdb'. Work-around is to manually change SWI priorities after updating the .cdb file (SDSsq09646).
gconf update files not marked dirty when opened from explorer (SDSsq09685).
TSK_setpri() cannot be called from an SWI. This will be addressed in the production release. This feature can be used to enable a high priority SWI function to rearrange TSK priorities (SDSsq09688).
Tutorial source files were changed and no longer correspond to instructions in the manual. The _load() function in load.asm was changed to execute 1000 * nloops instructions (SDSsq09687).
In C6000 Code Composer Studio Tutorial:
Section 4.9 part 10: The maximum number of cycles shown for the second profile-point should be 1018 (not 27).
Section 4.9 part 12: The maximum number of cycles for the second profile-point changes to 2018 (not 36). The number of cycles increases by 1000 when you increment the processingLoad by 1.
Section 5.5 part 6: Type 100 (not 10000) as the new load. This should give you about 9%.
Section 5.5 part 8: Change the load to 200 (not 20000).
Section 5.5 part 10: Change the load to 1250 (not 14000) and the CPU load increases to about 95%.
Section 5.5 part 12: The current number works fine although kind of big we suggest using something like 1500 not 160000.
The C6000 Simulator components comprise the simulators for the following configurations: C64XX, C62XX, C67XX, C6201, C6202, C6203, C6204, C6205, C6211, C6711 and C6701.
Choose the C6xxx Simulator as the board (in cc_setup.exe) if you wish to simulate either a C62XX device or a C67XX device. If a C6xxx Simulator board does not already exist, then click on the "Install Device Driver" option and choose the file tisimC6xxx.dvr as the driver.
This release adds support for simulating TMS320C6400 devices. The simulator supports all the instruction extensions for the TMS320C6400 family. It also provides support for a memory system for such a device.
If you wish to simulate
the C64XX device, choose the C64xx Simulator as the board. If the C64XX
board does not already exist, then click on the "Install Device Driver"
option and choose the file tisimC64xx.dvr as the driver.
The L2 cache supports 5 modes. The modes may be set via the L2MODE field in the sim64xx_fast_simulator.cfg.
The simulator currently accurately models the pipeline effects of a TMS320C6400 device. It also provides an estimator model to estimate the performance implications of the memory system. The performance estimates are not exact but may be assumed to be representative of a true device.
For additional information on simulation, please see the C6x Simulation readme file.
The emulation driver contains the following files for support of the TMS320C6000 family:
tixds6000.dvr |
xdsfast1.sys |
init6x0x.gel |
xdsfast2.dll |
xdsreset.exe |
init6x1x.gel |
Since the last emulation driver release the following additional targets are supported:
TMS320C6203
The following is a list of all targets that are supported by this release:
TMS320C6201 |
TMS320C6203 |
TMS320C6211 |
TMS320C6202 |
TMS320C6701 |
Special Notes:
When running code composer setup, the user now sees two types of processors under "Available Processors"
TMS320C6x0x - use with 6201, 6202, 6203, 6701 DSPs
TMS320C6x1x
- use with 6211 DSP
Make the appropriate selection for your targeted DSP.
If you are using a
memory map you must select the corresponding GEL file.
EMU0 and EMU1 based halting does not work in a multiprocessing environment, when mixing 6X0X devices with a 6211 device.
Known Bugs
Workaround: This bug pertains to c:\ti\c6000\examples\dsk\conftest\cnfdsp_nohost\cnfdsp_nohost.mak example. To fix change linker command file in the project to reflect the correct memory configuration. Change the .cio, the .stack and the .far sections to CE0 from IRAM. Caution: This workaround fails on some DSKs.
Workaround: This bug pertains to the lab1a example of the 6211DSK workshop. To fix, you must change the map attribute for the memory range of 0x00000000-0x0000FFFF from RAM to PRAM. Additionally change the linker command file .stack, .cio and .far sections to SDRAM from IRAM. This allows the program downloads and executin to operate correctly.
File Specific Build Options is supported in this release.
If you've set an extended memory map and then you turn the map off using the GEL function GEL_MapOff(), any subsequent attempt to access locations in extended memory may cause the debugger to abort. Workaround: Use the menu command Options->Memory Map to turn a memory map off, do not use GEL_MapOff(). (SDSsq08072)
Tools such as the Command Window are not separate programs. They do not appear in the <ALT>-<TAB> list of programs. If the tools are floating in the main window, <CTRL>-<TAB> cycles between them and all other windows controlled by the Code Composer Studio IDE.
The StepOut feature is not supported for pure Assembly code or C code compiled without debug information. If this operation is attempted, the debugger generates a warning message and performs a StepInto instead of the StepOut. To support StepOut, the debugger requires information about the stack which is not available in pure Assembly code or C code compile without debug information. (SDSsq07642)
The compiler supports C++ comments (// to the end of the line), but the editor's highlighting only supports C comments. (SDSsq05544)
To specify the order in which object files and libraries should be linked, insert them in reverse order. (SDSsq05610)
While sending or receiving data with the RTDX or DSP/BIOS Real-Time Analysis tools, it is possible to halt all data throughput by performing GUI actions, such as popping up a selection dialog box or pull-down menu. The data flow resumes after the pop-up/pull-down window is removed. (SDSsq05649)
Stepping out (shift F7) from within a standard C function (printf, etc.) runs to the next breakpoint. Standard C functions do not provide debugging information that would facilitate stepping out. (SDSsq06052)
If you build an application in a folder that has spaces in the directory path or project filenames, Code Composer Studio generates a compilation command that causes the compiler to announce that it cannot find a file. (SDSsq06987)
Compiler options in the *.cmd file for a project may conflict with the project build options.
Do not use File->Export... from Code Composer Setup in the same session in which you also used File->Import or the "Import Configuration" dialog. The resulting configuration file will be invalid. Instead, merely exit after saving your configuration; then use File->Export from a subsequent Code Composer Setup session. (SDSsq07278)
The C++ examples in the RTDX tutorial contain the incorrect macro definition: #define Failure 0x8004005
The correct definition is: #define Failure 0x80004005
This applies to both the example code presented in the RTDX Tutorial document and the corresponding C++ source files (*.cpp) provided with the tutorial.
You must compile all RTDX target applications using compiler optimization level 0 or 1 (ie. use the -o0 or -o1 switch). This applies to:
all exercises in the RTDX Tutorial;
all RTDX target examples shipped with this product;
all RTDX target applications which you develop.
Command Window
All register names must be entered in uppercase. You should modify all of your current command files (*.cmd) before running them. (SDSsq06678)
Data Converter Support
The Data Converter Support Plug-In (DCSP) is a new addition to the standard set of CCS plug-ins.
DCSP allows the customer to configure all necessary parameters an advanced data converter device offers and creates a set of 'C' code functions to address this data converter using the DSP. The actual functions are device dependent and usually allow to configure, read and/or write the data converter. In some cases additional support functions are provided to provide special functionality such as power-down, power-up or reset. Files created by DCSP are automatically added to the CCS project. All data entered into DCSP can be saved within a CCS workspace file.
Detailed information concerning the usage and specific data converter options is available through the DCSP help file. This can be called from the CCS HELP/TOOLS menu or by pressing F1 after opening the DCSP main window (call TOOLS/Data Converter Support).
DCSP automatically cuts text out of files. In some cases this results in UNDO warnings from CCS. This warnings should be ignored (just press OK button). This will be fixed with CCS 2.0.
Help for the following devices is incomplete: THS140x, TLV151x and TLV320AIC10. To be fixed in CCS 1.20.
Help files don't include standard disclaimer and trademark info. Please find this in other CCS help files. To be fixed with CCS 1.20.
Problem Reporting
If you need assistance, you may contact the Product Information Center, as follows:
Web: http://www.ti.com/sc/docs/pic/home.htm
Email: dsph@ti.com
Phone (Americas): +1(972) 644-5580