Contact Us   |   Buy   |   About TI   |   TI Worldwide   |   my.TI  
Texas Instruments
Real World Signal Processing
 Search TI > Advanced Search   
   
   
Last Updated: Thu Nov 13 04:37:18 CST 2003

C6000 Tools Bug List

CODE COMPOSER IDE 2.20,2.20.03

SDSsq33905 reloading .exe w/profiler window open causes CCS to crash (v2.20)

SDSsq33222 PageUp/PageDown in source file crashes the CCS with Windows XP SP1 (v2.20.03)

SDSsq32200 CCS cursor jumps to start of previous function with structures (v2.20)

SDSsq32199 CCS crash problems with apps that are not thread safe (v2.20)

SDSsq32197 CCS Editor repaint/redraw issue (v2.20)

SDSsq32104 Processor name specified in CCS setup does not reflect in ccBrd*.dat (v2.20)

SDSsq31689 stepping code monitoring a value -value in pop-up doesn't change (v2.20)

SDSsq31684 CCS Editor - Cut and Paste of text does not always repaint screen (v2.20)

SDSsq31683 CCS editor - Highliting text / scrolling with mouse wheel does not work (v2.20)

SDSsq31678 Debugger may point to wrong file if the dependent pjt has same file name (v2.20)

SDSsq30561 Don't seem to be able to change sign bit in registers on ARM (v2.20)

SDSsq29503 Quick Watch does not show the array values when expanded (v2.20)

SDSsq29357 Every call of quick watch adds a new selection in source file, in CCS (v2.20)

SDSsq29238 expanding structure crashes watch window (v2.20)

SDSsq29085 File I/O does not take 0x0 as the valid starting address (v2.20)

SDSsq29071 Update Advisor returns page not found error (v2.20)

SDSsq28982 Find in Files takes 100 % CPU Usage even after execution complete (v2.20)

SDSsq28824 External editor is not invoked when file opened through Project Window (v2.20)

SDSsq28670 Cannot open any project after uninstall last update from CCS 2.2 (v2.20)

SDSsq28541 Using profiler causes crash in CCS (v2.20)

SDSsq28194 Symbol Browser doesn't display symbols having double underscores (v2.20)

SDSsq28086 CCS scripting probelms when using large applications (v2.20)

SDSsq27890 Watch window shows structure name in type as struct $$fake0 (v2.20)

SDSsq26312 GEL_MemoryLoad( ) loads only 800 Bytes of COFF files (v2.20)

SDSsq25923 ccapp doesn't load COFF file but asks to locate boot.c instead (v2.20)

SDSsq25399 Enh. Req. for automatic newline at the end of all .asm and C/C++ files (v2.20)

SDSsq25327 Reloading All symbols with offsets would result in an error (v2.20)

SDSsq25297 Not possible to access the debugger while standard input (v2.20)

SDSsq25055 Comment color extends past the end of the comment field. (v2.20)

SDSsq24215 File Search and other dialogs don't show all of longer paths (v2.20)

SDSsq24021 Cannot change a default keyboard shoortcut. (v2.20)

SDSsq24005 using find in files increases memory usage and does not return to normal (v2.20)

SDSsq23733 Request for 'Find in files' gives inconsistent results (v2.20)

SDSsq23556 Profiler gives different Incl. Count for diff. Generate Debug info. (v2.20)

SDSsq23302 Profiling a large application gives "out of memory" error. (v2.20)

SDSsq23190 CCS drivers are left in center pane of CC Setup after uninstall of 560 (v2.20)

SDSsq23009 GEL functs. do not work in CCS 2.0 StartUp() routines as they did in 1.2 (v2.20)

SDSsq23006 Terminal Font size 5 doesn't work in almost all windows (v2.20)

SDSsq22912 Data verification errors conflict with target comm time out & reset emu. (v2.20)

SDSsq22852 Volatile memory option isn't specifiable in GEL_MapAdd (v2.20)

SDSsq22756 After Emulator Reset on Multiprocessor Env, CCS waits before target call (v2.20)

SDSsq22714 Allow spaces in file names that can be used with GEL_system(); (v2.20)

SDSsq22666 Generated registration link does not work when install path has spaces. (v2.20)

SDSsq22364 Changes to a re-registered plugin shows two plugins in the Comp Manager (v2.20)

SDSsq21865 large disparity between inclusive and exclusive totals when profiling. (v2.20)

SDSsq21842 CodeMaestro attempts to autocomplete using deleted struct references. (v2.20)

SDSsq21418 Cannot open a project from CCProjMgr (v2.20)

SDSsq21119 CCS displays forward slashes in some paths (v2.20)

SDSsq20576 Project loading progress indicator on Status Bar not displaying status. (v2.20)

SDSsq20456 Memory Window will not allow sum expression of a pointer and a constant (v2.20)

SDSsq19279 "Invalid Line" error message generated when using profile points (v2.20)

SDSsq18865 Large font display causes loss of least significant column digit. (v2.20)

SDSsq18857 Exclude.dat file lists non-existent header files (v2.20)

SDSsq18819 Program name is not displayed on the title bar if loaded via GEL file (v2.20)

SDSsq18809 Find/Replace dialog box sometimes hides found text underneath the dialog (v2.20)

SDSsq18782 Hint text in the status bar is incorrect for the Register window (v2.20)

SDSsq18779 Inconsistent file extension names for Open File and Add Files to Project (v2.20)

SDSsq17022 Workspace should save clock settings (v2.20)

SDSsq16867 Editor doesn't work properly when using some BOLD fonts (v2.20)

SDSsq14867 Not returned to the same page in file after going to another file (v2.20)

SDSsq11626 Sometimes the buttons on the toolbars are highlighted but disabled. (v2.20)

SDSsq07679 releasenote.txt install instructions incorrect for visual C++ v6.0 (v2.20)

CODE GENERATION 2.20,2.20.03

SDSsq33513 Optimizer assumes any floating pt value, also NaN ,is equal to itself (v2.20)

SDSsq33467 Incorrect code generation with options -mv6400 and -o2/-o3 optimization (v2.20)

SDSsq33347 compiler does not accept file names starting with numeric digits (v2.20)

SDSsq33163 Dividing zero by zero results in INF rather than NaN (v2.20)

SDSsq32855 cgtools crashes on C++ code if optimizer o3 level is used (v2.20)

SDSsq32760 Optimizer generates wrong code with -o2 and -o3 options (v2.20)

SDSsq32682 Inlined code is not effectively optimzied (v2.20)

SDSsq32546 New[ ] operator does not put 8 byte header on size of allocated memory (v2.20)

SDSsq32076 Compiler may not correctly handle reinterpret_cast keyword (v2.20)

SDSsq31887 Optimizer may wrongly pass address instead of value to a function (v2.20)

SDSsq31742 Abnormal termination of optimizer when long is used as loop counter (v2.20)

SDSsq31673 Optimizer may give different results with different optimizations (v2.20)

SDSsq31452 Application errror on compiling a source file, with some function calls (v2.20)

SDSsq31422 Optimizer may not generate correct code when handling function pointers (v2.20)

SDSsq31162 Compiler stores double word values in non-doubleword aligned address (v2.20)

SDSsq30943 Optimizer may not handle structures correctly in Release mode (v2.20)

SDSsq30798 wrong code generated for -o3 optimization level (v2.20)

SDSsq30775 Compiler INTERNAL ERROR for the statement array[2]; (v2.20)

SDSsq30739 Compiling .cpp (-o3 ) file with templates leads cg6x to crash (v2.20)

SDSsq30569 Optimizer produces wrong program results with o2, 03 and none optimizati (v2.20)

SDSsq30443 cl6x generates error when linking the object files in a particular order (v2.20)

SDSsq30298 File c6x.h erroneously removed support for DIER. Breaks RT EMU Support (v2.20)

SDSsq30291 compiler should give error when there is no prototype of function (v2.20)

SDSsq29853 Assembly may remove multiplies when machine regs are used in .sa file (v2.20)

SDSsq29841 Use of UNROLL with a FOR loop and -o3 leads to incorrect execution (v2.20)

SDSsq29825 Optimizer may not calculate the index of an array correctly (v2.20)

SDSsq29741 Loop stores incorrect values with -o2 optimization alone (v2.20.03)

SDSsq29676 Optimizer doesn't realize args can change if passed though function ptr (v2.20)

SDSsq29605 qsort prototype is incorrect in stdlib.h (v2.20)

SDSsq29590 mem2 intrinsic doesn't load and store the values correctly in big endian (v2.20)

SDSsq29578 Linker emits errors when linking with -ar (v2.20)

SDSsq29514 incorrect optimization of if statements inside of while loop (v2.20)

SDSsq29462 Assembly source code display problem after loading the project. (v2.20)

SDSsq29392 abnormal termination of opt6x (v2.20)

SDSsq29295 Compiler shd give approprate warning when C,C++ files used with -pm optn (v2.20.03)

SDSsq29154 Optimizer is terminated by windows on running this testcase (v2.20)

SDSsq29108 Compiler generates SPTRUNC when converting float to unsigned int (v2.20)

SDSsq29042 Watch window points to the same static variable for two variables (v2.20)

SDSsq29012 Optimiser aborts with out of memory message when compiled with -o2 (v2.20)

SDSsq28883 Optimizer inputs incorrect values into a CMPGT (sign bits are incorrect) (v2.20)

SDSsq28864 Error message, "INTERNAL ERROR: no match for ICALL", when using -o2/-o3. (v2.20)

SDSsq28728 Incorrect debug information in mapping .reg variable to machine register (v2.20)

SDSsq27942 .out is not built when .lib file is added through Project->Build Options (v2.20)

SDSsq27810 -fr option does not take into account the spaces in paths. (v2.20)

SDSsq25271 Linker selects wrong library file irrespective of the order (v2.20)

SDSsq24891 obj, lst files owned by other parties cannot be overwritten by the cl6x (v2.20)

SDSsq23983 STRUCT_ALIGN pragma does not work (v2.20)

SDSsq23856 unexpected pre-incrementation of pointer occurs with -mv6400 (v2.20)

SDSsq22814 Loop label is used multiple times in assembly output of asm optimizer (v2.20)

SDSsq21747 Program level optimization does not work with multi-level programs. (v2.20)

SDSsq21569 ASM optimizer comments out ".equ" and creates symbol undefined errors. (v2.20)

SDSsq21504 Assembler .include directive does not like files such as "2d1cfg.asm". (v2.20)

SDSsq15293 Single stepping through a switch/case statement is misleading (v2.20)

SDSsq11742 std::type_info::operator==() may return FALSE when typedefs are used (v2.20)

SDSsq11721 "Extern inline" functions are not supported in C6x C/C++ Compiler (v2.20)

SDSsq11710 Covariant return types of virtual functions are not fully supported (v2.20)

SDSsq11669 C++ allows enumerators larger than 'int' but C6x Compiler does not (v2.20)

SDSsq11516 Long types for bitfields are not supported although they're legal in C++ (v2.20)

SDSsq11514 o2/o3 optimization of C++ .*/->* pointer to member operation (v2.20)

SDSsq06884 Variadic (stdarg.h) functions work incorrectly with struct args (v2.20)

DSP APPLICATION LIBRARIES 2.20,2.20.03

SDSsq31570 Undefined symbols for adddp and subdp in fastrts62x.lib (v2.20)

SDSsq30567 "." in ".text" and .align 32 directive missing in expsp.asm (v2.20)

SDSsq30277 Bug in CACHE_setL2Mode function. (v2.20.03)

SDSsq29908 PCI_intEnable code does an 'add' instead of 'OR' on C64x devices. (v2.20)

SDSsq29319 Generic driver doesn't properly do EDMA event selection for C6713 (v2.20)

SDSsq29118 Index->Frame Index(FIX) value in the EDMA properties is not 16 bit (v2.20)

SDSsq29102 EDMA_enableChannel called even when EDMA is not enabled. (v2.20)

SDSsq28467 TRC field calcualtion in SDRAM Control Register in CDB file is wrong (v2.20)

SDSsq28129 IOM UART driver should include 'CIRC_reset' for IOM_ABORT (v2.20)

SDSsq27876 PCI_intEnable() does not modify PCIIEN appropriately on C64x devices. (v2.20)

SDSsq25543 change the edmaCfg properties for c6x11 seeds from Urgent(64x) to other (v2.20)

SDSsq25465 EDMA_OPT_PRI_DEFAULT must not be used for C6x1x EDMA (v2.20)

SDSsq24121 Request for a longer comment field in DMA & MCBSP cfg entries of CSL (v2.20)

SDSsq24038 Misleading entry field wording of global index tab in CSL-.>DMA (v2.20)

SDSsq23849 Allow multiple header files entries under CSL Extern Declaration (v2.20)

SDSsq23439 SDRAM control fields in EMIF configuration accepts invalid values. (v2.20)

SDSsq23329 In C64xx.cdb the Parameter RAM table limit should be 0-18 not 0-60. (v2.20)

SDSsq19127 Library search path points to include dir. instead of the lib directory. (v2.20)

DSP BIOS 2.20,2.20.03

SDSsq32965 Bug in non-instrumented BIOS w/ TSK manager enabled (v2.20)

SDSsq32800 Document Understanding Basic DSP/BIOS Features (SPRA653) to be corrected (v2.20)

SDSsq32145 devid type declarations inconsistent in dev.h (v2.20)

SDSsq32102 cdbupd does not pick up all config changes unless using -a switch (v2.20)

SDSsq31180 Semaphore services may get delayed in certain cases (v2.20)

SDSsq30635 Selecting Mask all interrupts causes gconf to show mask value 0xFFFF (v2.20)

SDSsq29900 TCONF Rhino Debugger crashes when calling config.hasReportedError (v2.20)

SDSsq29553 GCONF incorrectly shows DSP type as 6711 when CHIPTYPE 6713 is chosen (v2.20)

SDSsq29471 Typo in cdbcmp output for Timer module (v2.20)

SDSsq29470 Gconf shows erroneous values in Timer module object (v2.20)

SDSsq29328 #pragma's in *cfg_c.c causes compilation errors during a C++ build (v2.20)

SDSsq29285 SWI of pri 1 won't run if posted from ISR that interrupts SEM_pend (v2.20)

SDSsq29098 #pragma CODE_SECTION in <>cfg_c.c file is NOTOK for C++ (fix with 26209) (v2.20)

SDSsq29002 Migrating to 2.20 from 2.1x will overwrite previous cache configuration (v2.20)

SDSsq28503 CCS save workspace does not save message log options (v2.20)

SDSsq28449 Unexpected fatal error....stack overflow message is generated (v2.20)

SDSsq28148 DSP/BIOS support for c6713 target (v2.20)

SDSsq28127 Updating an old cdb file may result in build errors for IDL objects (v2.20)

SDSsq27939 The callback version of DIO has a bug in DIO_cbIssue() (v2.20)

SDSsq27539 Examples : gmake breaks if CCS installation path has spaces (v2.20)

SDSsq25584 STS object reporting negative total and average times in Statistics View (v2.20)

SDSsq23914 LCK object declaration missing in xxxcfg.h in C6000 & C5000 (v2.20)

SDSsq23882 KNL_swi STS numbers are not accurate (v2.20)

SDSsq23815 SIO_startup has propblems when SIO is created dynamically from main. (v2.20)

SDSsq23802 Microseconds/tick field of PRD Function MAnager should be greyed out. (v2.20)

SDSsq23340 PRD function break point not hit for one shot PRDs (v2.20)

SDSsq23091 Disabling RTDX overwrites settings for HWI_INT11 and HWI_INT12 (v2.20)

SDSsq22990 IDRAM object in the attached .CDB file cannot be deleted. (v2.20)

SDSsq22122 The CPU graph freezes when CPU load overruns (v2.20)

SDSsq11880 Setting Breakpoints inside assembly files complied w/UNIX (v2.20)

DOCUMENTATION 2.20,2.20.03

SDSsq32833 Inconsistent information in CCS help on intrinsic _amem2 support on c6x (v2.20)

SDSsq32832 Incorrect information on intrinsic _mem2 in spru198g and in CCS help (v2.20)

SDSsq31536 Dcumentation error in syn directive (v2.20)

SDSsq30749 Add information about .if/.endif directives around .(c)proc blocks (v2.20)

SDSsq30179 Compiling maxminmath available in tutorial can cause compile errors (v2.20)

SDSsq29689 SEM_post() and TSK_yield() API documentation constraints need updates (v2.20)

SDSsq29511 Documentation bugs in COFF Format section of SPRU186L (v2.20)

SDSsq29502 Error in PCI_xfrTest documentation in SPRU403e (v2.20)

SDSsq29472 SPRU403 does not document .Order property PRD, SWI, TSK, IDL (v2.20)

SDSsq29339 Doc Update about the option "Do Not Scan Dependencies When Loading" (v2.20)

SDSsq29185 Missing RTDX interrupt entries under RTDX/Interface/User Interface help (v2.20)

SDSsq28588 User Guides sometimes do not open from ATK online help (v2.20)

SDSsq28447 CCS Help sometimes gives error that it can't find certain help files (v2.20)

SDSsq27361 C6x RTDX help incorrectly refers to "Extended Addressing" target library (v2.20)

SDSsq27159 Buttons on toolbar appear to be active when they are not highlighted (v2.20)

SDSsq20326 Error in Interrupt Service Code example. (v2.20)

SDSsq20251 Documentation Error specifying fill command (v2.20)

SDSsq19870 Dragging and dropping of columns in profiler no longer implemented (v2.20)

SDSsq14439 C64x specific registers DIER, EM, and ER aren't fully documented (v2.20)

SDSsq12553 Description of COFF section header flags is incomplete (v2.20)

EMULATION 2.20,2.20.03

SDSsq31157 Profiler does not behave correctly when a task is created dynamically (v2.20.03)

SDSsq30169 Abnormal behavior of 6416 TEB when the profiler is ON (v2.20.03)

SDSsq28352 Register display list is not correct for 6711 and 6713 (v2.20)

SDSsq28258 CESEC0B is mapped to wrong address. (v2.20)

SDSsq28197 Cache register names do not match those documented (v2.20)

SDSsq27368 C6211 Examples shipped with CCS does not work with XDS560. (v2.20)

SDSsq26917 Execution doesn't stop at breakpoint in C6416 XDS 510 Emulator (v2.20)

SDSsq26482 Debugging the projects on 6416 TEB may restart BIOS from BIOS_init (v2.20)

SDSsq24330 CCS Emulator CPU Serial-Port Display Random non-corresponding values (v2.20)

SDSsq22689 Sequencer not programmed while target is running. (v2.20)

SDSsq22346 6X11 DSK does not supply accurate errors or text descriptions (v2.20)

SDSsq22259 XDSPROBE does not work correctly on heterogeneous systems. (v2.20)

SDSsq22218 Profiling & HSRTDX do not work at the same time on XDS560 (v2.20)

SDSsq21022 CCS doesn't exit properly when the parallel port is unexpectedly removed (v2.20)

SDSsq20783 FAUCR, FMCR & FADCR don't update properly the core register window. (v2.20)

SDSsq19911 Out of Environment Space error when attempting to autoconfigure 6X11 DSK (v2.20)

SDSsq15002 Advanced Event Triggering plug-ins should be grayed out. (v2.20)

SDSsq08597 Bit 0 for RESET in IER register is read only and should always be 1. (v2.20)

SDSsq08015 EVM debugger does not correctly profile peripheral memory access stalls. (v2.20)

INSTALLATION 2.20,2.20.03

SDSsq29166 Problem using the C6713 after installing the CCS 2.20 upgrade. (v2.20)

SDSsq28386 Error messge indicating problem with jtagdata.dll during installation (v2.20)

SDSsq23188 XDS560 unininstall should remove PNF file (v2.20)

SDSsq21021 CCS 2.0 uninstallation did not clear shortcuts from start -> programs (v2.20)

SDSsq20817 Users must have administrator privileges to install and use CCS (v2.20)

PLUGINS 2.20,2.20.03

SDSsq29209 Setting a HW Breakpoint genertes an error message when CCS is closed. (v2.20)

SDSsq28625 Incorrect BIOS version used by Project Wizard in .cdb file (v2.20)

SDSsq22692 AET job is removed when return then backspace key hit. (v2.20)

SDSsq20774 DASM command is unsupported in the Command Window (v2.20)

SDSsq07472 All executables do not have copyright or banner information. (v2.20)

PRODUCTIVITY TOOLS 2.20,2.20.03

SDSsq30742 FlashBurn gives WRITE ERROR for Motorola-S formats (v2.20)

SDSsq25199 Client (Excel) emits warning when a Scripting call (run) takes too long (v2.20)

REFERENCE FRAMEWORKS 2.20,2.20.03

SDSsq31500 C6000 module and application are ship/compiled with -o2 option (v2.20)

SDSsq30938 RFs using DDK v1.1 must pass version # and interrupt masks as dev params (v2.20)

SDSsq29946 Reference Frameworks failed to build with C++ compiler (v2.20)

SDSsq29633 ICC_linearDelete hits assertion when linearIccHandle is non-NULL (v2.20)

SDSsq23999 RF 3 executable doesn't automatically run on dsk6211 (v2.20)

RTDX 2.20,2.20.03

SDSsq31932 RTDX tutorial shipped not working for 6201/6701 EVMs (v2.20)

SDSsq30363 RTDX_writing never becomes null (v2.20)

SDSsq30348 LOG window doesn't update for all processors in multi-processor setup (v2.20)

SDSsq29583 loading a coff file crashes CCS (v2.20)

SDSsq28141 RTDX Data Flow never resumed after Reset/Restart/Reload (v2.20)

SDSsq22204 Setting a breakpoint in RTDX_Poll ISR will cause RTDX to fail (v2.20)

SDSsq21893 CCS does not support more than 255 devices (v2.20)

SDSsq19411 COFF Load corrupts received RTDX data in running Multi-Proc System (v2.20)

SDSsq17835 Building C++ client using Visual C++ 6.0 gives error messages (v2.20)

SDSsq11863 RTDX stops if interrupts temporarily disabled for greater than 1 second. (v2.20)

SIMULATION 2.20,2.20.03

SDSsq32162 C62xx simulators may sometimes generate spurious interrupts (v2.20)

SDSsq32123 TCP cycle count is much different in simulator from that of 6416TEB (v2.20)

SDSsq30811 Problem Xferring RTDX msgs to host whose size is in non multiple words (v2.20.03)

SDSsq29558 VCP may return zeros for some of the configurations in 64x simulator (v2.20)

SDSsq28745 _spint() ignores rounding settings in FAD CR register on 6713 simulator (v2.20)

SDSsq28361 EDMA PARAM dest addr write delayed in C6414 device simulator: (v2.20)

SDSsq22746 Memoy map support is not documented in Simulator User Guide (v2.20)

SDSsq18874 Watch window variable update happens 1 cycle too late on C6000 sims (v2.20)

SDSsq18177 single step is not working on multiple nop (v2.20)

XDAIS 2.20,2.20.03

SDSsq29906 Template Code Generator expects a space between * and the file name (v2.20)

SDSsq27510 Copy (^C) doesn't work in Algorithm Standard code generator windows (v2.20)

SDSsq19096 CCS's edit menu is grayed out-cannot cut/paste/delete... text using menu (v2.20)

SDSsq13881 algFree() example in the docs MUST set memTab[0].base & size attributes (v2.20)

SDSsq08289 Options for Algorithm controls are left in background (v2.20)

CODE COMPOSER IDE 2.20,2.20.03

Title: CCS crash problems with apps that are not thread safe
Bug #      ComponentCCS VersionStatus
SDSsq32199 Application 2.20 No plans to fix

Release Note

When using dual processors any multi-threading or inter processor
communications which are not thread safe will cause a crash. These
crashes will happen on a single processor eventually, but usually will
be very very rarely and unrepeatable as they are completely dependent
on system timing, which is dependent on all the processes running on
machine and what they are doing at the moment. However with a dual
processor as that each thread can run on a different CPU the
likelihood of hitting the timing such that the thread communications
are unstable increases to the point where the problem is generally
repeatable by issuing the offending commands only a couple of times.


Title: CCS scripting probelms when using large applications
Bug #      ComponentCCS VersionStatus
SDSsq28086 CCS Scripting 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

TargetRun command may not function properly from 2nd time onwards when
TargetRun->Reset->Restart sequence is used in a loop.


Title: Changes to a re-registered plugin shows two plugins in the Comp Manager
Bug #      ComponentCCS VersionStatus
SDSsq22364 Component Manager 2.20 No plans to fix

Release Note

When re-registering a plug-in (by developers usually) an extra copy may
show up in the component manager.
 
To make sure this doesn't happen, whenever significant changes are made
to a plug-ins registry handling (for example, in the UpdateRegistry
function) the following method can be used to clear the registry before
running the new version of the plug-in:
1. Go to the directory where the plug-in is located. Move it (this is
only temporary so make sure you keep track of the location) to another
name (without the OCX extension).
2. Run CCStudio. You can close it right away. Alternatively you can
launch the comp_mgr.exe. Running the application after moving the OCX
will clean up the registry and the component manager's INI file. You
can confirm in component manager that the plug-in is gone.
3. Move the file back or compile the new version.
4. Run "regsvr32" on the file. From a prompt this would look like:
 
"regsvr32 [pluginname].ocx"
 
5. Launch CCStudio. A message box should be shown indicating that new
components were detected. Select "Yes" to enable them. Confirm in
component manager that there is now just one copy of the plug-in.


Title: Cannot open any project after uninstall last update from CCS 2.2
Bug #      ComponentCCS VersionStatus
SDSsq28670 Component Manager 2.20 Fix scheduled to appear in CCS 2.21.

Release Note

Opening any project after a uninstall last update from CCS 2.2 causes
the following error
 
" No build tools found . Cannot open the project: Try re-installing the
application"
 
Reason:
The component manager does not manage the build tools in the same way
it manages the plug-ins, though the component manager shows the build
tools in its view.
 
Work-around:
To get around this problem, the user needs to re-register build tools.
 
Re-register the build tool dlls for ccs 2.12 re-enables the IDE to open
the projects.
 
For different ISAs, there are different build tool dlls. They dlls
start with "bti" prefixes and are located under the  installation.
For exampe,
c6000: bti6000.dll
c5500: bti5500.dll
c5400: bti5400.dll
 
Once the proper dlls are located, register the dlls in a dos command
window by using the regsvr32 program.
For example,
regsvr32 bti6000.dll
 
 
 
IMPORTANT NOTE of 2.21 fix:
The "fix" is not visible when the user upgrades 2.x to 2.21 and then
rollback to the previous version, because the bug is not fixed in the
uninstaller or component manager.
 
The user will see the same project-loading problem after the rollback.
This is because the user is still using the previous project server and
BTI after the rollback, and the previous project server is not able to
register the bti dll before loading it.
 
In this case, the user still have to perform the same work-around to
solve the project loading problem after the rollback. That is, to
regsvr32 btixxxx.dll
 
The fix is "visible" when the user upgrades 2.21 to a higher version.
 

Workaround

Re-register the BTI dlls for ccs 2.12 re-enables the IDE to open the
projects.
 
For different ISAs, there are different BTI dlls and they all start
with "bti" prefixes.
For exampe,
c6000: bti6000.dll
c5500: bti5500.dll
c5400: bti5400.dll
 
Once the proper dlls are located, register the dlls in a dos command
window by using regsvr32 program.
For example,
regsvr32 bti6000.dll


Title: Update Advisor returns page not found error
Bug #      ComponentCCS VersionStatus
SDSsq29071 Component Manager 2.20 Fix scheduled to appear in CCS 2.21.00.01.

Release Note

Sometimes when trying to launch Update Advisor you get an error that
the page cannot be found.  The problem stems from a limitation in the
length of the url allowed.  This typically occurs if you have not yet
logged into MyTI and the MyTI server has to add information to the url
inorder to complete the login process.


Title: After Emulator Reset on Multiprocessor Env, CCS waits before target call
Bug #      ComponentCCS VersionStatus
SDSsq22756 Debug Server 2.20 Fixed; will release in a future version of CCS

Release Note

On a multiprocessor environment, CCStudio may occasionally not work as
expected after an emulator reset.  After the target has reconnected,
but
before the programs are reloaded onto the target, CCStudio seems to be
busy, or stuck, trying to finish the Reset Emulator operation.
 
If a disassembly window right-click, 'Start Address...' is performed,
or
some other GUI operation, CCStudio will get out of this situation and
resume, finishing the reload program operations.
 


Title: Data verification errors conflict with target comm time out & reset emu.
Bug #      ComponentCCS VersionStatus
SDSsq22912 Debug Server 2.20 Fixed; will release in a future version of CCS

Release Note

If a board power cycles while a program is loading or a program is
about
to start loading then the user will get data verification errors.
These
errors sometimes interfere with the emulator reset causing CCStudio to
go into a bad state and lock up.


Title: Not possible to access the debugger while standard input
Bug #      ComponentCCS VersionStatus
SDSsq25297 Debug Server 2.20 No plans to fix

Release Note

Not possible to access the debugger during standard input.
 
#include "stdio.h"
 
void main(void)
{
        char buffer[20];
 
        printf("\nEnter anything >");
        gets(buffer);
 
}
 
 


Title: Sometimes the buttons on the toolbars are highlighted but disabled.
Bug #      ComponentCCS VersionStatus
SDSsq11626 Debugger 2.20 No plans to fix

Release Note

After selecting some toolbar buttons the buttons appear
"highlighted" or "raised."  This does not affect the usability of the
buttons as they still display their "enabled" or "disabled" status
correctly.
 


Title: Inconsistent file extension names for Open File and Add Files to Project
Bug #      ComponentCCS VersionStatus
SDSsq18779 Debugger 2.20 Fixed; will release in a future version of CCS

Release Note

Inconsistent file extension names when using the Open File and Add
Files to Project.
 
For example, Open File has *.c for C Source Files, but Add Files to
Project has *.c or *.ccc extension.
 


Title: Allow spaces in file names that can be used with GEL_system();
Bug #      ComponentCCS VersionStatus
SDSsq22714 Debugger 2.20 No plans to fix

Release Note

Customer Enhancement Request
 
When using GEL_System() gel command, spaces are not allowed in the DOS
command name. For example, I can use GEL_System("C:\\myProgram.exe")
but not GEL_System("C:\\my Program.exe").  While this may not seem like
a big problem, it is very limiting on file and path names.
 


Title: Volatile memory option isn't specifiable in GEL_MapAdd
Bug #      ComponentCCS VersionStatus
SDSsq22852 Debugger 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Volatile memory option isn't specifiable in GEL_MapAdd


Title: Terminal Font size 5 doesn't work in almost all windows
Bug #      ComponentCCS VersionStatus
SDSsq23006 Disassembly Window 2.20 No plans to fix

Release Note

Terminal Font size 5 doesn't work in almost all windows
 
There are no plans to fix this bug.


Title: Editor doesn't work properly when using some BOLD fonts
Bug #      ComponentCCS VersionStatus
SDSsq16867 Editor 2.20 No plans to fix

Release Note

When deleting characters in the edit window the character may not
appear to be deleted (although it actually is) when using some bold
fonts.  It is recommended that bold fonts are not used in the edit
window.

Workaround

Please describe the workaround for this problem.


Title: Not returned to the same page in file after going to another file
Bug #      ComponentCCS VersionStatus
SDSsq14867 Editor 2.20 No plans to fix

Release Note

When switching between documents in the edit area, sometimes the
document being switched to may not appear on the same page that it was
previously.
 


Title: CodeMaestro attempts to autocomplete using deleted struct references.
Bug #      ComponentCCS VersionStatus
SDSsq21842 Editor 2.20 No plans to fix

Release Note

CodeMaestro attempts to complete variable names using previously
defined and deleted variable names.  As you can see in the attached
screen shot CodeMaestro attempts to complete the variable "number2"
using "number" because "number" was previously used and was deleted.
Rebuilding the project also does not resolve this problem.
 
typedef struct number2
{
int n1;
int n2;
};
 
void main()
{
   a = 10;
   numb   /*CodeMaestro suggests number instead of number2*/
}


Title: using find in files increases memory usage and does not return to normal
Bug #      ComponentCCS VersionStatus
SDSsq24005 Editor 2.20 No plans to fix

Release Note

After the 'Find in Files' selection is used from the toolbar, the
processor loading increases greatly on the PC and never decreases back
to the normal levels.


Title: Cannot change a default keyboard shoortcut.
Bug #      ComponentCCS VersionStatus
SDSsq24021 Editor 2.20 Fixed; will release in a future version of CCS

Release Note

The keyboard shortcuts do not work if you remap any of the already
assigned keys to new keys. As an example, I have attached 2 .key files,
the standard cc_app.key and new_app.key. The only difference between
cc_app.key and new_app.key is that the function key F5 has been
remapped to be Edit-Copy instead of Debug-Run. However, upon restarting
CCS using new_app.key map, CCS always defaults F5 to Debug-Run instead
of copy.
 
In order to duplicate the problem, load the file test_board.key from
the Options->Customize->Keyboard->filename. After doing this open a
project with a source file and try using F5 key to do Edit->copy. It
will still default to Debug->Run despite the fact that the options show
F5 being mapped to Edit -> Copy.
I have tried mapping Edit ->Copy to a function key that was unassigned
like F4 and this seems to work. However, if you change the mapping for
any key assigned at default this DOES NOT work.


Title: File Search and other dialogs don't show all of longer paths
Bug #      ComponentCCS VersionStatus
SDSsq24215 Editor 2.20 No plans to fix

Release Note

The file search dialog box doesn't show all of longer paths

Workaround

Note: By "file search" I presume the reference is to the standard File
Open/Save dialogs. These dialogs are not implemented by the CCS team
but rather, are standard Windows file I/O dialogs (hence why they are
similar to the ones seen in Dev Studio).
 
In Win2K and WinXP, Microsoft now allows the user to resize the width
of the window and in turn, the width of the dropdown list also
increases, allowing users to see more of the file path. (Win98/Me lets
the user resize the dialog but this doesn't cause the dropdown list to
increase in width and WinNT doesn't allowing resizing of standard
dialogs at all -- hence only on newer OSs can the user see the
additional path information).
 


Title: Comment color extends past the end of the comment field.
Bug #      ComponentCCS VersionStatus
SDSsq25055 Editor 2.20 No plans to fix

Release Note

Sometimes after changing the options for the color of the text,
comments, and the background, the comment color seems to extend past
the
end of the comment.


Title: Enh. Req. for automatic newline at the end of all .asm and C/C++ files
Bug #      ComponentCCS VersionStatus
SDSsq25399 Editor 2.20 No plans to fix

Release Note

Enhancement request for automatic CR/LF at the end of all C/C++ and
Assembly files


Title: External editor is not invoked when file opened through Project Window
Bug #      ComponentCCS VersionStatus
SDSsq28824 Editor 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Change in functionality (from 2.12 to 2.2).  In CCS 2.12, the source
file is opened through the external editor when the customer clicks on
the file in the project window, however, in v.2.2 this is not
happening.  The file is opened through the CCS editor when the same
steps are performed.  The same functionality is seen when double
clicked on a syntax error.


Title: CCS editor - Highliting text / scrolling with mouse wheel does not work
Bug #      ComponentCCS VersionStatus
SDSsq31683 Editor 2.20 Pending analysis.

Release Note

Highlighting text and scrolling with mouse wheel does not always work.


Title: CCS Editor - Cut and Paste of text does not always repaint screen
Bug #      ComponentCCS VersionStatus
SDSsq31684 Editor 2.20 Pending analysis.

Release Note

Cut and Paste of text does not always repaint screen correctly, pasted
text will have characters missing but really there.


Title: stepping code monitoring a value -value in pop-up doesn't change
Bug #      ComponentCCS VersionStatus
SDSsq31689 Editor 2.20 Analyzed; commitment is pending.

Release Note

When stepping through code monitoring a value with yellow cursor over
pop-ups, the value in pop-up does not change.


Title: CCS Editor repaint/redraw issue
Bug #      ComponentCCS VersionStatus
SDSsq32197 Editor 2.20 Pending analysis.

Release Note

When highlighting a work in one code window, like to copy a word, then
switch to another code window in CCS and paste the word, when you
return to the first code window the text is still highlighted, but
cursor is at another location, thus typing does not replace
highlighted text.


Title: CCS cursor jumps to start of previous function with structures
Bug #      ComponentCCS VersionStatus
SDSsq32200 Editor 2.20 Pending analysis.

Release Note

Each time you type the structure followed by the period "." to access
a member the cursor jumps to another place in my code. Actually to the
start of previous function and then highlights that function
definition and starts over writing.


Title: PageUp/PageDown in source file crashes the CCS with Windows XP SP1
Bug #      ComponentCCS VersionStatus
SDSsq33222 Editor 2.20.03 Pending analysis.

Release Note

In CCS 2.20.03 with Windows XP, opening a source file in a project and
then scrolling down with PgUp/PgDown keys leads CCS to crash

Workaround

Switching on CodeMaestro, when the source file is already open, does
not lead to a crash.


Title: File I/O does not take 0x0 as the valid starting address
Bug #      ComponentCCS VersionStatus
SDSsq29085 File I/O Manager/Controls 2.20 Fixed; will release in a future version of CCS

Release Note

File i/o does not take 0x0000 as the valid starting address. It works
 
 
without any problem for any other address other than this.
 
 


Title: Find/Replace dialog box sometimes hides found text underneath the dialog
Bug #      ComponentCCS VersionStatus
SDSsq18809 GUI Server 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Find/Replace dialog box sometimes hides found text underneath the
dialog box.
 
 

Workaround

Scroll the text or move the dialog box.


Title: Large font display causes loss of least significant column digit.
Bug #      ComponentCCS VersionStatus
SDSsq18865 GUI Server 2.20 Fixed; will release in a future version of CCS

Release Note

When using large fonts in the desktop display settings, CCS does not
display the least significant digit of the column display on the status
bar when viewing a file with the cursor on column 10 or higher.
 
 

Workaround

Use small fonts in the display settings.
 


Title: Request for 'Find in files' gives inconsistent results
Bug #      ComponentCCS VersionStatus
SDSsq23733 GUI Server 2.20 No plans to fix

Release Note

Request for Find in files gives inconsistent results.


Title: GEL functs. do not work in CCS 2.0 StartUp() routines as they did in 1.2
Bug #      ComponentCCS VersionStatus
SDSsq23009 General Extension Language(GEL) 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The following GEL functions are ignored if they are in the StartUp()
routine:

GEL_MemoryLoad
GEL_MemorySave
GEL_PatchAssemblyFunction
GEL_SrcDirAddFunction
GEL_SrcDirRemoveAllFunction

 


Title: GEL_MemoryLoad( ) loads only 800 Bytes of COFF files
Bug #      ComponentCCS VersionStatus
SDSsq26312 General Extension Language(GEL) 2.20 No plans to fix

Release Note

GEL_MemoryLoad writes only 800 bytes of memory of the COFF(.out) files
generated from CCS projects


Title: Don't seem to be able to change sign bit in registers on ARM
Bug #      ComponentCCS VersionStatus
SDSsq30561 General Extension Language(GEL) 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

In CCS 2.20 for OMAP using a 1510 or a 1610, if you open the CPU
regsiters window and attempt to edit/modify any register such as PC,
SP or R0-R12 to any value greater than 0x7FFFFFFF or try to change the
sign bit, CCS returns an error "Invalid Input for Register R0 =
0x80000000. Enter a value in the range 0...0x0".
 
The same beavior seems to occur on any register, not just CPU
registers.

Workaround

Enter the register's you wish to work with in the watch window.  They
can even be placed in a new tab (right click and select add tab) and
they should be able to be saved with the workspace.
 
The watch window does not have this limitation when editing registers.


Title: Generated registration link does not work when install path has spaces.
Bug #      ComponentCCS VersionStatus
SDSsq22666 Help 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

When CCStudio is installed in a directory that has spaces in the
pathname (i.e. ) the menu
link "Help->CCS on the Web->Register OnLine" does not work correctly
(The spaces are removed from the path string).

It's still possible to register online by manually launching the HTML file: "\docs\releasenotes\ccs_registration.html"



Title: Memory Window will not allow sum expression of a pointer and a constant
Bug #      ComponentCCS VersionStatus
SDSsq20456 Memory Window 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

CCS Generates "Cannot Add Two Pointers" message when a pointer and a
symbolic constant are added in the memory address window.


Title: Symbol Browser doesn't display symbols having double underscores
Bug #      ComponentCCS VersionStatus
SDSsq28194 Object File Server 2.20 No plans to fix

Release Note

Global Symbols having double underscores in their names will not get
displayed completely in the Symbol Browser


Title: "Invalid Line" error message generated when using profile points
Bug #      ComponentCCS VersionStatus
SDSsq19279 Profiler 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

"Invalid Line" error message is generated when using profile points.
Profile all funcions, then view the source code in Mixed Mode. When you
right-click on the profile points again, they now say "Invalid Line."
 


Title: large disparity between inclusive and exclusive totals when profiling.
Bug #      ComponentCCS VersionStatus
SDSsq21865 Profiler 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Large disparity observed between the Excl. Total and the Incl. Total
when profiling a function in CCS 2.0 C6000.


Title: Profiling a large application gives "out of memory" error.
Bug #      ComponentCCS VersionStatus
SDSsq23302 Profiler 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The CCS profiler cannot profile single functions that are greater than
32kb in size. Attempting to profile a function greater than this limit
will result in an "Out of memory" message box appearing.


Title: Profiler gives different Incl. Count for diff. Generate Debug info.
Bug #      ComponentCCS VersionStatus
SDSsq23556 Profiler 2.20 No plans to fix

Release Note

The profiler gives different Incl. Count for Function Profile Debug(-
gp)
and Full Symbolic Debug(-g) for a function.
 
It shows Incl. Count for the case of -gp option as 24 and for -g option
as 31.


Title: Using profiler causes crash in CCS
Bug #      ComponentCCS VersionStatus
SDSsq28541 Profiler 2.20 Pending analysis.

Release Note

build project, add 2 functions to the
profile session, run the project, make small adjustments to code,
rebuild, my 2 functions have disappeared from the profile session, so
I re-add them, and run again.  This procedure will eventually cause a
fatal crash.
 
 


Title: Workspace should save clock settings
Bug #      ComponentCCS VersionStatus
SDSsq17022 Profiler Window 2.20 No plans to fix

Release Note

Workspace fails to save disassembler type and enable clock status.  When
workspace is reloaded, these have their default values.
 
No plans to fix this bug.  The clock will become an obsolete item


Title: reloading .exe w/profiler window open causes CCS to crash
Bug #      ComponentCCS VersionStatus
SDSsq33905 Profiler Window 2.20 Pending analysis.

Release Note

If you keep the profiler window open on C6000 CCS v2.20 (and maybe
2.21) and reload an .EXE, CCS sometimes crashes.


Title: Reloading All symbols with offsets would result in an error
Bug #      ComponentCCS VersionStatus
SDSsq25327 Program/Symbol Loader 2.20 Fix appears in CCS 2.20.

Release Note

When selecting "ALL" in the Reload Symbols Submenu that contains files
loaded with offsets, an error stating that the file cannot be found and
suggesting that it might have been moved or deleted would appear.

Workaround

Load each file indiviual through the Reload Symbols Sub menu.


Title: ccapp doesn't load COFF file but asks to locate boot.c instead
Bug #      ComponentCCS VersionStatus
SDSsq25923 Program/Symbol Loader 2.20 No plans to fix

Release Note

ccapp doesn't load COFF file after build


Title: CCS displays forward slashes in some paths
Bug #      ComponentCCS VersionStatus
SDSsq21119 Project Manager 2.20 No plans to fix

Release Note

CCS displays forward slashes in some paths


Title: Cannot open a project from CCProjMgr
Bug #      ComponentCCS VersionStatus
SDSsq21418 Project Manager 2.20 Fixed; will release in a future version of CCS

Release Note

If you are using the SDK 2.00 to open a project in Code Composer Studio
2.00 there are two methods available. It is recommended that you use
the
following method:
 
- use CCApplication to get the active CCDebugControlWindow.
- use CCDebugControlWindow to get CCDspTask.
- use CCDspTask to get CCProjects2.
- use CCProjects2::OpenProject to open the existing project.

Workaround

See release note.


Title: Debugger may point to wrong file if the dependent pjt has same file name
Bug #      ComponentCCS VersionStatus
SDSsq31678 Project Manager 2.20 No plans to fix

Release Note

If a project(.out) and dependent project(.lib) have a file with same
file name then debugger may not be able to point to the correct file
 
Do not use same file names in the dependent projects.
 
The sequence of looking for source files is
- currently opened files
- active project
- all other projects
- debug source directories in the customize dialog.
 
If the user knows the file in advance, he can close the opened files of
same file name first and then set a particular project be active. Then
stepping through source code in a wrong file will not happen.

Workaround

Do not use same file names in the dependent projects.
 
The sequence of looking for source files is
- currently opened files
- active project
- all other projects
- debug source directories in the customize dialog.
 
If the user knows the file in advance, he can close the opened files of
same file name first and then set a particular project be active. Then
stepping through source code in a wrong file will not happen.


Title: Hint text in the status bar is incorrect for the Register window
Bug #      ComponentCCS VersionStatus
SDSsq18782 Register Window 2.20 Fixed; will release in a future version of CCS

Release Note

Some of the hint text (at the bottom of CCS interface) in the Status
Bar is incorrect for the Register Window.  This was displaying
erroneous text.
 


Title: CCS drivers are left in center pane of CC Setup after uninstall of 560
Bug #      ComponentCCS VersionStatus
SDSsq23190 Setup Program 2.20 No plans to fix

Release Note

After the XDS560 is uninstalled, references to the XDS560 CCS drivers
will still appear in the center pane of CC setup.  Although visible,
these XDS560 drivers will be marked invalid.

Workaround

Please describe the workaround for this problem.


Title: Processor name specified in CCS setup does not reflect in ccBrd*.dat
Bug #      ComponentCCS VersionStatus
SDSsq32104 Setup Program 2.20 No plans to fix

Release Note

Processor name specified in CCS setup does not reflect in ccBrd*.dat
file.
 
Open CCS setup and choose any board for System configuration. Select
the board under 'My System', and then modify the name of the processor
(for eg: Generator).
 
This name of the processor shows up in the PDM when you invoke CCS.
But the name of the processor does not get updated in the generated
ccBrd*.dat file. Here it still shows up as "cpu_0" etc.
 


Title: Watch window shows structure name in type as struct $$fake0
Bug #      ComponentCCS VersionStatus
SDSsq27890 Watch Window 2.20 No plans to fix

Release Note

Watch window fails to show the structure name in the type column. It
displays this "as struct $$fake0".


Title: Quick Watch does not show the array values when expanded
Bug #      ComponentCCS VersionStatus
SDSsq29503 Watch Window 2.20 Fix scheduled to appear in CCS 2.21.

Release Note

Expanding an array in Quick Watch doesn't show array values in CCS 2.20.
 


Title: expanding structure crashes watch window
Bug #      ComponentCCS VersionStatus
SDSsq29238 Watch Window 2.20 Fix scheduled to appear in CCS 2.21.

Release Note

The problem is with watch windows. If a watch window is open and
the .out file is loaded a second time. The *opening of structure* in
the watch window causes the CCS to crash.


Title: Every call of quick watch adds a new selection in source file, in CCS
Bug #      ComponentCCS VersionStatus
SDSsq29357 Watch Window 2.20 Fixed; will release in a future version of CCS

Release Note

Every call of quick watch dialog in CCS 2.20 adds a new selection in
source window.


Title: releasenote.txt install instructions incorrect for visual C++ v6.0
Bug #      ComponentCCS VersionStatus
SDSsq07679 none 2.20 Fixed; will release in a future version of CCS

Release Note

The file ReleaseNote.txt, which contains install information for
the SDK, incorrectly tells you you copy the contents from
 
"ti\SDK\CCActXWiz\" to
 
"C:\Program Files\DevStudio\SharedIDE\bin\ide" .
 
For version 6.0 of the C++ development studio, the
correct path is:
 
"C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\IDE"
 
 


Title: Program name is not displayed on the title bar if loaded via GEL file
Bug #      ComponentCCS VersionStatus
SDSsq18819 none 2.20 Fixed; will release in a future version of CCS

Release Note

The currently loaded program name is not displayed on the title bar if
the program is loaded via GEL file (with the GEL_Load function). If the
same program is loaded through CCS Load Program, then the name is
correctly displayed.


Title: Exclude.dat file lists non-existent header files
Bug #      ComponentCCS VersionStatus
SDSsq18857 none 2.20 Fixed; will release in a future version of CCS

Release Note

Some of the files in the exclude.dat files do not exist, e.g. malloc.h
and types.h. The files are not installed by CCS, therefore, they should
not be included in the default exclude.dat file.
 
 


Title: Project loading progress indicator on Status Bar not displaying status.
Bug #      ComponentCCS VersionStatus
SDSsq20576 none 2.20 No plans to fix

Release Note

The Project Load indicator on Code Composer Studio's status bar does
not correctly indicate the status of the load process.  This indicator
should display a blue-block (no a solid bar) progress bar.


Title: Find in Files takes 100 % CPU Usage even after execution complete
Bug #      ComponentCCS VersionStatus
SDSsq28982 none 2.20 Fix scheduled to appear in CCS 2.21.

Release Note

After using "Find in Files" functionality in CCS (menu) Edit -> Find in
Files, CPU load (from Task Manager) will remain close to 100%.


CODE GENERATION 2.20,2.20.03

Title: Assembler .include directive does not like files such as "2d1cfg.asm".
Bug #      ComponentCCS VersionStatus
SDSsq21504 Assembler 2.20 No plans to fix

Release Note

Assembler .include directive does not like files such as --
2d1cfg.asm.
 
The assembler will generate an error message when trying to include
thile file --
 
"vectors.asm", ERROR!   at line 1: [E0003] Invalid constant
specification
                .include 2d1cfg.s62
Errors in Source - Assembler Aborted
Build Complete,
2 Errors, 0 Warnings, 0 Remarks.
 
Add quotations around the filename in the .asm file --
 
        .include "2d1cfg.s62"
 
 

Workaround

Put quotation marks around the filename:
 
   .include "2dicfg.s62"
 


Title: Assembly source code display problem after loading the project.
Bug #      ComponentCCS VersionStatus
SDSsq29462 Assembler 2.20 No plans to fix

Release Note

CCS does not show the correct assembly source code display after
loading the project that has the entry point and another assembly
header file included in it.
The debugger shows the control in the header file even if there is no
executable code in it, on program load.

Workaround

Do not include assembly header files in assembly source code, instead
write the code in source code itself and access it in another source
files by using the .ref directive for the data variables.
 


Title: ASM optimizer comments out ".equ" and creates symbol undefined errors.
Bug #      ComponentCCS VersionStatus
SDSsq21569 Assembly Optimizer 2.20 No plans to fix

Release Note

Assembly optimizer comments out .equ directives and when the
initialized symbols are used out side of ".cproc" and ".endproc"
it generates the following symbol undefined errors.  This used to
assemble fine with version 4.00 of the assembler.
 
1 Assembly Error, No Assembly Warnings
"test.asm", ERROR!   at EOF: [E0300] The following symbols are
undefined:
  DATA_VALUE
 
Errors in Source - Assembler Aborted
 
Compile Complete,
  2 Errors, 0 Warnings, 0 Remarks.
 
************test.sa  start************************
 
DATA_VALUE  .equ        0x1000
       MVKL DATA_VALUE, A2
 
;_LABEL:             .cproc
;                    MVKL DATA_VALUE, A2
;                    .endproc
 
************test.sa  end***************************


Title: Program level optimization does not work with multi-level programs.
Bug #      ComponentCCS VersionStatus
SDSsq21747 BTI DLL 2.20 Analyzed; commitment is pending.

Release Note

Program level optimizations do not work correctly in a multi-level
directory program. The assembly files object files are always put in
the base directory in default mode or the object directory if defined.
Program Level Optimization looks for them in the object directory + the
directory where the object files are defined to go.
 


Title: .out is not built when .lib file is added through Project->Build Options
Bug #      ComponentCCS VersionStatus
SDSsq27942 BTI DLL 2.20 Fixed; will release in a future version of CCS

Release Note

If the rts library is needed by a project and it is not added to the
project as a file, the user should specify the -x linker option in
addition to the -i or -l linker options. Otherwise, linker errors
may occur because the rts library will get processed by the linker
before the obj files.
 

Workaround

If the rts library is needed by a project and it is not added to the
project as a file, the user needs to specify the -x linker option in
addition to the -i or -l linker options. Otherwise, linker errors
may occur because the rts library will get processed by the linker
before the obj files.
 
 


Title: obj, lst files owned by other parties cannot be overwritten by the cl6x
Bug #      ComponentCCS VersionStatus
SDSsq24891 C/C++ Compiler 2.20 No plans to fix

Release Note

When using the 4.10 compile tools in a solaris environment, if an
object file with the same name exists but you do not have write
permissions to it (it might be owned by someone else)
the compiler will fail to create a new obj file even if it
has write access to the directory.
 
=====================================================================
 
A user needs to ensure that pre-existing .obj/.lst files in their
operating system can be overwritten by the user before invoking the
compiler to generate .obj/.lst files of the same name.


Title: -fr option does not take into account the spaces in paths.
Bug #      ComponentCCS VersionStatus
SDSsq27810 C/C++ Compiler 2.20 No plans to fix

Release Note

The -fr option in CCS does not take into account the spaces in the path.
For eg. The option -fr "c:\my documents\debug" gets converted to
-fr "c:\mydocuments\debug"
 
This is a bug.
 
----------------------------------------------------------------
 
12/17/2002 (Tom Suchyta)
 
The C24x codegen tools were designed for the DOS environment and spaces
in file names or directories are not supported.


Title: Watch window points to the same static variable for two variables
Bug #      ComponentCCS VersionStatus
SDSsq29042 C/C++ Compiler 2.20 Fixed; will release in a future version of CCS

Release Note

Watch Window points to the same static variable if the there are 2
differenct static variable with same name. The static variable are
declared in the same file, but in diffrent function locally.
 
Also (minor issue) The watch window is able to displays a local static
variable even though you are not in the scope of the variable. You just
have to be in the same file as where the local variable is defined.


Title: Compiler shd give approprate warning when C,C++ files used with -pm optn
Bug #      ComponentCCS VersionStatus
SDSsq29295 C/C++ Compiler 2.20.03 Fixed; will release in a future version of CCS

Release Note

Compiler generates a warning message "symbol 'xxxx' redeclared with
incompatible type" when -pm option is selected in the project build
options.
 
This happens when mixing C and C++ source code where the C file
defines a variable (i.e. int x;) and the C++ file references that
variable (i.e. extern int x;).
 
 


Title: mem2 intrinsic doesn't load and store the values correctly in big endian
Bug #      ComponentCCS VersionStatus
SDSsq29590 C/C++ Compiler 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

1) The statement
_mem2(&a[7]) = 0x1234;
does load the values into the array in in both big endian and little
endian modes.
 
2) In Big endian mode
        as = _mem2(&a[1]);
'as' will not gett loaded with correct value.


Title: compiler should give error when there is no prototype of function
Bug #      ComponentCCS VersionStatus
SDSsq30291 C/C++ Compiler 2.20 No plans to fix

Release Note

The compiler should generate an error when it sees a function call
without any prototype. As Generated code for a function call without a
prototype will generate wrong code.


Title: Compiler INTERNAL ERROR for the statement array[2];
Bug #      ComponentCCS VersionStatus
SDSsq30775 C/C++ Compiler 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiler generates "INTERNAL ERROR: no match for UMULT"
on compiling the below code.
 
void main ()
{
 
}
 
void f( void )
{
   int params[ 3 ]={0,0,0};
 
    params[2];
 
}


Title: Compiler stores double word values in non-doubleword aligned address
Bug #      ComponentCCS VersionStatus
SDSsq31162 C/C++ Compiler 2.20 No plans to fix

Release Note

Compiler may store double word values in non-doubleword aligned address
 
========================================================================
 
User needs to ensure that if they are using their own code for memory
allocation that variables of type double, long double, or long are
aligned to a double-word boundary.


Title: Application errror on compiling a source file, with some function calls
Bug #      ComponentCCS VersionStatus
SDSsq31452 C/C++ Compiler 2.20 Fixed; will release in a future version of CCS

Release Note

Application error occurs and Dr Watson window pops up when compiling
the following source file:
 
command for compiling:
cl6x -c -mv6400 exec.c
 
The source file(exec.c) contents is as follows:
----------------------------------------------
#include 
void main()
{
  printf("Hello\n");
}
void f() {}
interrupt void i() {f();}
interrupt void vwxyz00() {f();}
----------------------------------------------

Workaround

Any of the following actions results in a clean compile:
 
        1)      Remove the "-mv6400" switch.
        2)      Remove the either "interrupt" keyword from exec.c.
        3)      Remove the either "f()" call.
        4)      Alter the identifier "vwxyz00" in one of the
                following ways:
 
                a)      insert or delete a character before the "00"
                b)      alter the "00" in any way


Title: Compiler may not correctly handle reinterpret_cast keyword
Bug #      ComponentCCS VersionStatus
SDSsq32076 C/C++ Compiler 2.20 No plans to fix

Release Note

Compiler may not handle reinterpret_cast keyword correctly. Following
code generates different results.
 
#include 
#include 
 
using namespace std;
volatile int a = 0;
char *cc = "oooo/n";
 
void isrnextdata(void)
{
  a = 0x25;
}
 
int main(void)
{
  cc = "toto/n";
  char *ca = reinterpret_cast(reinterpret_cast(0x100));
  printf("ca: %08X\n", ca);
  char *cb = reinterpret_cast(reinterpret_cast
(isrnextdata));
  printf("cb: %08X\n", cb);
  printf("reinterpret_cast: %08X\n", (reinterpret_cast
(reinterpret_cast(isrnextdata)))
                   - (reinterpret_cast(reinterpret_cast
(0x100))));
  printf("Direct          : %08X\n", cb - ca);
}
 
=======================================================================
 
The C/C++ standard does not allow for conversion between function
pointers and data object pointers. Therefore it is illegal to convert
between a function pointer and a void pointer and will result in
undefined behavior.


Title: New[ ] operator does not put 8 byte header on size of allocated memory
Bug #      ComponentCCS VersionStatus
SDSsq32546 C/C++ Compiler 2.20 Fixed; will release in a future version of CCS

Release Note

New[ ] operator does not put 8 byte header on size of allocated memory


Title: Dividing zero by zero results in INF rather than NaN
Bug #      ComponentCCS VersionStatus
SDSsq33163 C/C++ Compiler 2.20 Analyzed; commitment is pending.

Release Note

Dividing zero by zero results in INF(Infinite) rather than NaN(Not a
Number)
 
const double x = 0.0 / 0.0;
const double y = 1.0 / 0.0;
results in x being assigned the value +Inf (0x7FF0000000000000) rather
than NaN of some flavour (e.g. 0x7FFC000000000000); y is correctly set
to +Inf.


Title: compiler does not accept file names starting with numeric digits
Bug #      ComponentCCS VersionStatus
SDSsq33347 C/C++ Compiler 2.20 Fixed; will release in a future version of CCS

Release Note

Using a file name that begins with numbers (22.obj) and a long enough
list of options passed to the linker --
 
cl6x -z -llnk.cmd -lrts6200.lib 22.obj -lrts6200.lib -lrts6200.lib
-lrts6200.lib -lrts6200.lib -lrts6200.lib -lrts6200.lib -lrts62.lib00
-lrts6200.lib -lrts6200.lib -lrts6200.lib
 
The linker will generate an error message about not being able to open
file '.obj' or file 'obj.obj'.
 
 

Workaround

Use a shorter command line, with less options for the linker.
 
Change the name of the file or directory to not start with a number or a '.'
 
For non-C++, try invoking the linker directly.


Title: Optimizer assumes any floating pt value, also NaN ,is equal to itself
Bug #      ComponentCCS VersionStatus
SDSsq33513 C/C++ Compiler 2.20 Analyzed; commitment is pending.

Release Note

The Optimiser, for c6x CCS2.2 CGT v 4.32, appears to assume that any
floating point value is equal to itself. This is not true - NaN is not
equal to itself. Thus, as a very simplified example, the function
 
int isnan(double val)
{
  return (val != val);
}
 
just returns zero on all occasions: which is wrong.


Title: Loop label is used multiple times in assembly output of asm optimizer
Bug #      ComponentCCS VersionStatus
SDSsq22814 Code Generator 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Adding a conditional branch around a loop in linear assembly code
where the target label does not contain any code before the end
of the linear assembly function will cause the assembly optimizer
to generate multiple uses of the loop label.  This will be flagged
as an error by the assembler.
 

foo:   .proc  A4, B4, A6
       ...
 [!reg1]  B    go_back
 
loop:
       <linear assembly loop code>
 [reg2]   B    loop
 
go_back:
        .endproc



Title: unexpected pre-incrementation of pointer occurs with -mv6400
Bug #      ComponentCCS VersionStatus
SDSsq23856 Code Generator 2.20 No plans to fix

Release Note

Unexpected pre-incrementation of pointer occurs with -mv6400
 
void RLIB_swap(unsigned char *uPdem,
               const unsigned int nSymbols)
{
  unsigned int symbInd;
  unsigned int* restrict temp_p;
 
  temp_p = (unsigned int*) uPdem;
  for (symbInd = 0; symbInd < nSymbols * RLIB_MAX_N_RFR; symbInd++)
  {
    *temp_p++ = _rotl(*temp_p, 16);
0000077C 023C82E6            LDW.D2T2      *+SP[0x4],B4
00000780 00006000            NOP           4
00000784 02908942            ADD.D2        B4,0x4,B5
00000788 02BC82F6            STW.D2T2      B5,*+SP[0x4]
0000078C 029402E6            LDW.D2T2      *+B5[0x0],B5
00000790 00006000            NOP           4
00000794 029607B2            ROTL.M2       B5,0x10,B5
00000798 00000000            NOP
0000079C 029002F6            STW.D2T2      B5,*+B4[0x0]
000007A0 00002000            NOP           2
  }
}
 
=======================================================================
 
This operation is undefined. The increment can occur before or after the
_rotl takes place. Please see the C standard Section 6.5.2.4 ,# 2


Title: Incorrect debug information in mapping .reg variable to machine register
Bug #      ComponentCCS VersionStatus
SDSsq28728 Code Generator 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiling linear assembly code with the debug option may not show
you the right registers when you attempt to watch your variables
defined with the .reg directive in Code Composer Studio.


Title: Compiler generates SPTRUNC when converting float to unsigned int
Bug #      ComponentCCS VersionStatus
SDSsq29108 Code Generator 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiled the code below for C67x.
 
void main()
{
    unsigned int i, j;
    float f;
 
    i = 0x81000000;
    f = (float)i;
    j = (unsigned int)f;
    printf("i = 0x%8x, f = %f, j = 0x%8x\n", i, f, j);
}
 
The compiler generates a SPTRUNC instruction for "j = (unsigned int)f;".
This will put an incorrect value in j, as the SPTRUNC instruction will
return 0x7fffffff or 0x80000000 if any kind of overflow (f > INT_MAX
or f < INT_MIN) occurs.  So j will get the value 0x7fffffff instead of
0x81000000.


Title: Loop stores incorrect values with -o2 optimization alone
Bug #      ComponentCCS VersionStatus
SDSsq29741 Code Generator 2.20.03 Fix scheduled to appear in CCS 3.00.

Release Note

The compiler generates code that accesses memory out of order with -o2
-mv6400 on the following code --
 
       void foo(unsigned char *e) {
            unsigned int r = 16, i, j;
            unsigned char *p = e+15;
 
            for (i = 0; i < 2; i++) {
                *(p++) = *(e+r++); *(p++) = *(e+r++);
                *(p++) = *(e+r++); *(p++) = *(e+r++);
                for (j = 10; j < 21; j++) {
                    *(p++) = *(e+r++); *(p++) = *(e+r++);
                    *(p++) = *(e+r++); r++;
                }
            }
        }


Title: Assembly may remove multiplies when machine regs are used in .sa file
Bug #      ComponentCCS VersionStatus
SDSsq29853 Code Generator 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Assembly optimizer may remove multiplies when machine registers are used
in the linear assembly source code. In the following loop the optimizer
replaces with one mpy instruction and so half the values of the array b
will be wrong.
 
_scale: .cproc  a, b, scaleF, len
        .reg    cnt
loop:
        LDDW    *a++, A1:A0
        MPY     scaleF, A1, A1
        MPY     scaleF, A0, A0
        STDW    A1:A0, *b++
        BDEC    loop, cnt
 
 

Workaround

Use only variables as follows.
 
_scale: .cproc  a, b, scaleF, len
        .reg    cnt, x:y
loop:
        LDDW    *a++, x:y
        MPY             scaleF, x, x
        MPY             scaleF, y, y
        STDW    x:y, *b++
        BDEC    loop, cnt
        .endproc


Title: File c6x.h erroneously removed support for DIER. Breaks RT EMU Support
Bug #      ComponentCCS VersionStatus
SDSsq30298 Code Generator 2.20 Fixed; will release in a future version of CCS

Release Note

File: C6x.h
version: 4.32
Product: CCS 2.20
 
This file needs to contain support for the Debug Interrupt Enable
Register (DIER) and is missing.
 
The DIER is required in order to select RT interrupts from within the
application.  These are the interrupts that the application selects to
notify the on-chip emulation logic that, when the debugger has
configured the target in realtime mode and when the target is halted,
must continue to be serviced.
 
If this bug is encountered in a release then it can be worked around
in the following manner:
 
Add the following lines to the c6x.h file.
 
#ifdef _TMS320C6400
extern __cregister volatile unsigned int DIER;
#endif
 

Workaround

If this bug is encountered in a release then it can be worked around in
the following manner:
 
Add the following lines to the c6x.h file.
 
#ifdef _TMS320C6400
extern __cregister volatile unsigned int DIER;
#endif


Title: Compiling .cpp (-o3 ) file with templates leads cg6x to crash
Bug #      ComponentCCS VersionStatus
SDSsq30739 Code Generator 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiling C++ code that contains templates with -o3 may cause cg6x to
abnormally terminate.
 
 


Title: std::type_info::operator==() may return FALSE when typedefs are used
Bug #      ComponentCCS VersionStatus
SDSsq11742 Linker 2.20 Analyzed; commitment is pending.

Release Note

std::type_info::operator==() may return FALSE for equivalent
fundamental or derived types when typedefs for them are used.


Title: Linker selects wrong library file irrespective of the order
Bug #      ComponentCCS VersionStatus
SDSsq25271 Linker 2.20 No plans to fix

Release Note

It seems as if the linker is selecting a library irrespective of the
order mentioned. If a same function present in 2 libraries , lib A and
lib B . If lib A is specified in the build options and lib B in a .cmd
file. The library B is called when the function is evoked. Ideally the
lib A should be called.
 
Always the function present in .cmd get a higher precedence than what
is mentioned in the build option. Ideally the build option should get a
higher precedence.
 
----------------------------------------------------------------------
In actuality the linker is not really doing this. For example:
 
If you compile on the command line, the lib specified first is
searched first, ie;
 
cl6x -qq hello.c -z -llib1.lib -lrts6700.lib my.cmd -o hello.out
load6x -q hello
 
lib1 is activated!
 
However,
 
cl6x -qq hello.c -z my.cmd -lrts6700.lib -llib1.lib -o hello.out
load6x -q hello
 
lib2 is activated!
 
Within code composer, the cmd file is read first, hence the lib
specified in it is always used. Please also see the Section on "Object
Libraries" in the Linker Manual.
 


Title: Linker emits errors when linking with -ar
Bug #      ComponentCCS VersionStatus
SDSsq29578 Linker 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The linker did not combine '.bss' and '.bss:c' sections (the same
for '.cinit' and '.cinit:c' sections) when the -ar linker option was
used.  This can cause the linker to generate relocation error messages.
 
 

Workaround

The user and/or BIOS can force '.bss:c' to get combined into
the '.bss' output section (and similarly for '.cinit:c'):
 
SECTIONS
{
    ...
    .bss: { *(.bss) } > IDRAM
    .cinit: { *(.cinit) } > SBSRAM
}
 
 


Title: cl6x generates error when linking the object files in a particular order
Bug #      ComponentCCS VersionStatus
SDSsq30443 Linker 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The Linker(cl6x ver 4.32) crashes when Linking the object files in a
particular order.
 
On Windows 2000 the following error message pops up:
"lnk6x.exe has generated errors and will be closed by Windows.  You
will need to restart the program. An error log is being created."
 
On WinNT the the following error appears:
"unknown software exception (0xc00000fd) ..."
 
Workaround:
The bug can be avoided by using the -b linker option to disable the
type-merging pass.


Title: Error message, "INTERNAL ERROR: no match for ICALL", when using -o2/-o3.
Bug #      ComponentCCS VersionStatus
SDSsq28864 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

When compiling code with the -o2 option, the following error message is
generated, INTERNAL ERROR: no match for ICALL.
 
void foo(..., struct1S* const restrict p5, ...)
{   ...
    unsigned int a;
    signed int tmp;
    ...
    for (k = 0; k < X; k++) { ...
        tmp = ((signed long)a * (signed long)tmp +
               (signed long)(8 - a) *
               (signed long)p5->r[k][0]) >> 3;
        ... }
}


Title: Optimizer inputs incorrect values into a CMPGT (sign bits are incorrect)
Bug #      ComponentCCS VersionStatus
SDSsq28883 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiler uses the CMPGT instruction instead of the CMPGTU instruction
to compare unsigned values. This becomes a problem because the compiler
then chooses to use CLR.


Title: Optimiser aborts with out of memory message when compiled with -o2
Bug #      ComponentCCS VersionStatus
SDSsq29012 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compilation terminated with the message
"ERROR - OUT OF MEMORY - OPTIMISER ABORTED" when using -o2/o3
compilation option.
 
This occurs on files that contain switch statments containing dozens
of cases containing non-trivial code for each case.
 
 


Title: Optimizer is terminated by windows on running this testcase
Bug #      ComponentCCS VersionStatus
SDSsq29154 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Optimiser is terminated by windows with the message "opt6x.exe has
generated errors and will be closed by windows. You will need to
restart this program"


Title: abnormal termination of opt6x
Bug #      ComponentCCS VersionStatus
SDSsq29392 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The optimizer abnormally terminates when using either -o2 and -o3
optimisation level and the source code uses an UNROLL pragma to ask
that a for loop be unrolled hundreds of times.
 
  #pragma MUST_ITERATE(702, 702, 702);
  #pragma UNROLL(702);
  for(i = 1; i < 702 - 1; i++) {
    *p += diff >> k;
    x = *(p = (diff > 0) ? p1 : p2);
    if(x < min) x = min;
    *p = x;
    p1++;
    p2++;
  }


Title: incorrect optimization of if statements inside of while loop
Bug #      ComponentCCS VersionStatus
SDSsq29514 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Compiling with -o2 causes incorrect code to be generated for the
following example --
 
#include 
 
void main()
{
    int i = 0;
 
    while (i < 4)
    {
        if      (i==0) { printf(" Statement ZERO , i=%d \n",i); }
        else if (i==1) { printf(" Statement ONE ,  i=%d \n",i); }
        else if (i==2) { printf(" Statement TWO ,  i=%d \n",i); }
        else
        {
           printf("Else, i=%d \n",i);
           i++;
           continue;
        }
 
        printf("Iteration done, i=%d \n\n",i);
        i++;
    }
    printf("\nEnd of test, i=%d \n", i);
}
 
A workaround would be to delete the 'continue;' statement and add an
if-statement around the last 2 statements of the while loop --
 
        if (i <= 2)
        {
            printf("Iteration done, i=%d \n\n",i);
            i++;
        }
    }
    printf("\nEnd of test, i=%d\n, i);
}


Title: Optimizer doesn't realize args can change if passed though function ptr
Bug #      ComponentCCS VersionStatus
SDSsq29676 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The Optimizer doesn't realize arguments can change if passed though
function pointer.


Title: Optimizer may not calculate the index of an array correctly
Bug #      ComponentCCS VersionStatus
SDSsq29825 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The optimizer(-o2/-o3) may not calculate the index value of an array
correctly in some scenarios and may return wrong value.


Title: Use of UNROLL with a FOR loop and -o3 leads to incorrect execution
Bug #      ComponentCCS VersionStatus
SDSsq29841 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

If a FOR loop is completely unrolled (using #pragma UNROLL) and
optimised -o3, then the loop can exit prematurely. This occurs if the
only statement within the FOR loop is an IF statement. If the IF
statement returns false, then the compiler has generated code that
will exit the FOR loop prematurely.
 
Removing the '#pragma UNROLL' fixes the problem.
 
for (i = 0; i < X; i++) if (Mask & (0x1<

Workaround

Removing the '#pragma UNROLL' seems to fix the problem.


Title: Optimizer produces wrong program results with o2, 03 and none optimizati
Bug #      ComponentCCS VersionStatus
SDSsq30569 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The compiler with optimization enabled (-o2 or -o3) for C67x generates
incorrect code for the following --
 
    extern float b[], c[];
    float a, *ptr, *p;
    for (i = 0; i < X; i++)
    {
        a = 0;
        p = ptr++;
        for (j = 0; j < Y; j++) a += b[j] * *p--;
        c[i] = a;
    }


Title: wrong code generated for -o3 optimization level
Bug #      ComponentCCS VersionStatus
SDSsq30798 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

With -o2 or -o3 optimization, the compiler generates incorrect code
which reads the 'i' attribute before it is defined.  This causes the
operation a.b.get_i() to return 0 instead of 1234.
 
class b_c {
public:
  b_c(void) : i(0) {}
  template void f(T& t)
    {
      if (i == 0) { i = 1234; }
      else        { i = 4321; }
    }
  int get_i(void) const { return i; }
 
protected:
  int i;
};
 
class a_c {
public:
  b_c b;
};
 
int main(void)
{
  a_c a;
  int x = 1;
 
  a.b.f(x);
  printf("i = %d\n", a.b.get_i());
  x = a.b.get_i();
  printf("x = %d\n", x);
  return 0;
}

Workaround

Add the volatile keyword to the attribute 'i'.
 
class b_c {
public:
  b_c( void ) : i( 0 ) {}
  template void f( T& t )
    {
      if (i == 0) { i = 1234; }
      else        { i = 4321; }
    }
  int get_i(void) const { return i; }
 
protected:
  volatile int i;  /* ADDED VOLATILE KEYWORD */
};


Title: Optimizer may not handle structures correctly in Release mode
Bug #      ComponentCCS VersionStatus
SDSsq30943 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The compiler may generate incorrect code when copying input data to a
local structure pointer with -o2 or -o3.
 
    typedef struct { ... } Y;
    void foo(unsigned x, ...) { Y *z = (Y*)(&x); ... }
 


Title: Optimizer may not generate correct code when handling function pointers
Bug #      ComponentCCS VersionStatus
SDSsq31422 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Optimizer may not return correct values when handling function
pointers. The function bugfunc() always returns zero in -o1 and -o2
optimizations.
 
#include 
typedef void (*FuncPtr)(int *);
typedef struct _Cinfo {
        FuncPtr func1;
        int foo;
} Cinfo;
 
int bugfunc(Cinfo *cinfo)
{
    int retval;
    retval = 0;  /* Set retval to zero. */
    (*cinfo->func1)(&retval);
    return(retval);  // Expected to return 42
}
 
void myfunc(int *iptr)
{    *iptr = 42;  }
 
main()
{
    Cinfo cinfo;
 
    cinfo.foo = 57;  /* Initialize the cinfo structure. */
    cinfo.func1 = myfunc;
    cinfo.foo = bugfunc(&cinfo);// The return value is always zero in -
o1 and -o2 optimziations
 
    printf("%d\n", cinfo.foo); /* At this point, cinfo.foo should be
equal to 42. */
}

Workaround

If -o1 or -o2 is necessary, you can add the volatile keyword in front of
'retval' (and added to the typedef -- void (*FuncPtr) (volatile int *);).
 
Use -o0/-o3 optimziations otherwise.


Title: Optimizer may give different results with different optimizations
Bug #      ComponentCCS VersionStatus
SDSsq31673 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Optimizer may give different results


Title: Abnormal termination of optimizer when long is used as loop counter
Bug #      ComponentCCS VersionStatus
SDSsq31742 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Optimzier terminates abnormally for -o2 and -o3 optimizations for the
following code.
 
#include 
#include 
#include 
#include 
#include 
#include 
 
void test_floor (void);
main ()
{
        test_floor();
}
 
static inline double xxx(double x)
{
        double y;
        return modf(x, &y);
}
 
void test_floor()
{
  double      f;
  long        i;
  int      x[] =  {1,2};
 
  for (i = 0; i < 2; i++)
  {
    f = xxx(x[i]);
    if (f == 1) {    f = f+1;    }
  }
}
 

Workaround

Use "int  i" in place of "long  i" in the function test_floor()


Title: Optimizer may wrongly pass address instead of value to a function
Bug #      ComponentCCS VersionStatus
SDSsq31887 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Optimizer may wrongly pass address of structure member, when structure
member is passed to a function.


Title: Inlined code is not effectively optimzied
Bug #      ComponentCCS VersionStatus
SDSsq32682 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The code generated with INLINE is not effectively optimized.
Optimization result is not the same as in the case of manually in
lining the code.


Title: Optimizer generates wrong code with -o2 and -o3 options
Bug #      ComponentCCS VersionStatus
SDSsq32760 Optimizer 2.20 Fixed; will release in a future version of CCS

Release Note

With -o2/-o3 optimization, the compiler may generate incorrect code.
This occurs when casting a variable to another class type when
assigning
to a class object and immediately using that class object.
 
For example --
 
struct X { int * rNum; int nSize; };
static X y;
 
class K { ... }
 
K K::operator >> (int n) const { ... }
 
void foo()
{
    unsigned int out[2];
 
    out[1] = bar( &y );
    out[2] = bar( &y );
    /* out may not get copied into temp before temp is used */
    K temp = *((K*)(out));
    printf("%d ", (unsigned int)(temp >> 32));
    printf("%d ", (unsigned int)(temp));
}
 


Title: cgtools crashes on C++ code if optimizer o3 level is used
Bug #      ComponentCCS VersionStatus
SDSsq32855 Optimizer 2.20 Fixed; will release in a future version of CCS

Release Note

Long and complex template names can cause the compiler to overflow its
buffers when compiling with optimization enabled.


Title: Incorrect code generation with options -mv6400 and -o2/-o3 optimization
Bug #      ComponentCCS VersionStatus
SDSsq33467 Optimizer 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Code generation tools (v 4.32 and 4.36) generate incorrect code with
options -mv6400 and -o2/-o3 optimization,
 
int foo(unsigned x, unsigned y, unsigned *z)
{
    unsigned a = x * y, b = a & ~0x03, i;
    int Sum = 0;
    for( i = 0; i < b; ) {
        Sum += w[z[i++]]; Sum += w[z[i++]];
        Sum += w[z[i++]]; Sum += w[z[i++]];
    }
    for( ; i < a; i++) Sum += w[z[i]];
    return Sum;
}


Title: Long types for bitfields are not supported although they're legal in C++
Bug #      ComponentCCS VersionStatus
SDSsq11516 Parser 2.20 Analyzed; commitment is pending.

Release Note

Long bitfield types are not supportd in C++ programs on the C6x.
 


Title: o2/o3 optimization of C++ .*/->* pointer to member operation
Bug #      ComponentCCS VersionStatus
SDSsq11514 Parser 2.20 Fixed; will release in a future version of CCS

Release Note

Using pointer to member operations in C++ (.* or ->*) with the -o2
or -o3 option can cause the compiler to lose some memory dependency
information, leading to incorrect code generation.
 
 


Title: C++ allows enumerators larger than 'int' but C6x Compiler does not
Bug #      ComponentCCS VersionStatus
SDSsq11669 Parser 2.20 Analyzed; commitment is pending.

Release Note

C++ allows enumerators larger than an int.  Currently, the C6x
compiler forces all enumerators to ints.


Title: Covariant return types of virtual functions are not fully supported
Bug #      ComponentCCS VersionStatus
SDSsq11710 Parser 2.20 Analyzed; commitment is pending.

Release Note

Covariant return types of virtual functions are not fully supported.
 


Title: "Extern inline" functions are not supported in C6x C/C++ Compiler
Bug #      ComponentCCS VersionStatus
SDSsq11721 Parser 2.20 Analyzed; commitment is pending.

Release Note

"Extern inline" functions are not supported by the C6x C/C++ compiler.
The V3.00 compiler/code generator does not create globally accessible
code for functions which are declared inline. A simple example is:
 
inline int x() { return 1; }
int y() {return 2;}
 
When compiled with cl6x -k -c test.c a warning is produced:
"test.c", line 1: warning: function "x" was declared but never
referenced
 
and the resulting assembler file (test.asm) does not contain any code
for x().
 
See section "Workaround" for a workaround to this problem.
 
 

Workaround

As a workaround that involves the least amount of code modification, I
suggest that the user define a macro to be "static inline" and use that
macro as the inline modifier for these functions.  In the normal case,
these functions will be inlined.  To generate callable versions of these
functions, also compile the header files containing the inlined
functions with this new macro undefined.
 

For example:
 
----------------------------------------------------------------------
header.h:
 
#ifdef NO_INLINE
#define STATIC_INLINE
#else
#define STATIC_INLINE static inline
#endif
 
/* Replace the inline modifier with STATIC_INLINE for all inlined */
/* functions which you also want to generate a callable version.  */
STATIC_INLINE int x() { return 1; }
 
----------------------------------------------------------------------
foo.c:
 
/* Inline occurs normally in this file */
#include "header.h"
 
int y() { return x(); }
 
----------------------------------------------------------------------
body.c:
 
/* Compile this file to generate callable versions of all inline */
/* functions which use the STATIC_INLINE macro.                  */
#define NO_INLINE
#include "header.h"



Title: Single stepping through a switch/case statement is misleading
Bug #      ComponentCCS VersionStatus
SDSsq15293 Parser 2.20 Fix appears in CCS 2.20.

Release Note

When stepping through a C 'switch' statement the PC (program counter)
register will always jump into the last 'case' statement before
returning to the correct 'case'.  Program flow will continue normally.


Title: STRUCT_ALIGN pragma does not work
Bug #      ComponentCCS VersionStatus
SDSsq23983 Parser 2.20 Analyzed; commitment is pending.

Release Note

The compiler does not correctly align an array of STRUCT_ALIGNed
structures.  It does, however, place the structures the correct
distance apart.


Title: Variadic (stdarg.h) functions work incorrectly with struct args
Bug #      ComponentCCS VersionStatus
SDSsq06884 RTS 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The implementation of va_start() and va_arg() cannot handle a variadic
(passed through "...") argument that is a struct, nor any variadic
argument when the last known argument is a struct. This results in
incorrect values from va_arg().
 


Title: qsort prototype is incorrect in stdlib.h
Bug #      ComponentCCS VersionStatus
SDSsq29605 RTS 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The qsort prototype in stdlib.h is incorrect.

Workaround

Manually change the declaration of qsort in stdlib.h to be
 
 _CODE_ACCESS void qsort(void *_base, size_t _nmemb, size_t _size,
                         int (*_compar)(const void *, const void *));


DSP APPLICATION LIBRARIES 2.20,2.20.03

Title: Library search path points to include dir. instead of the lib directory.
Bug #      ComponentCCS VersionStatus
SDSsq19127 CSL 2.20 Fixed; will release in a future version of CCS

Release Note

There is a problem with the path mentioned under the linker tab for the
example found in C:\ti\c6000\ssl\examples\6211dsk\mcbsp1.
 
The library search path indicates c:\ti\c6000\ssl\include instead of
c:\ti\C6000\ssl\lib.


Title: In C64xx.cdb the Parameter RAM table limit should be 0-18 not 0-60.
Bug #      ComponentCCS VersionStatus
SDSsq23329 CSL 2.20 No plans to fix

Release Note

There's a bug in the BIOS Configuration cdb GUI for C64xx.cdb.
 
On the C64x the Limit on the EDMA - Table Numbers is 0-60, this was the
C6x1x range, on C64x the range should be 0-18.  This is in the
Parameter RAM table setup
(i.e. when setting up a Table Handle to use a Table Pointer.)
 
It is also documented in help under EDMA_allocTable API.
 


Title: SDRAM control fields in EMIF configuration accepts invalid values.
Bug #      ComponentCCS VersionStatus
SDSsq23439 CSL 2.20 Fixed; will release in a future version of CCS

Release Note

The EMIF SDRAM Refresh Period will not accept values outside 1...4095


Title: Allow multiple header files entries under CSL Extern Declaration
Bug #      ComponentCCS VersionStatus
SDSsq23849 CSL 2.20 No plans to fix

Release Note

Enhancement request to allow multiple header files entries under CSL
Extern Declaration.

Workaround

The user can create their own header file(suppose myfile.h). He/She can
include all the header files in myfile.h. This myfile.h can then be
entered under the properties of the CSL Extern Declaration. This
would solve the problem of entering multiple header files.


Title: Misleading entry field wording of global index tab in CSL-.>DMA
Bug #      ComponentCCS VersionStatus
SDSsq24038 CSL 2.20 No plans to fix

Release Note

In the CSL, insert a new "DMA Global Register" object and access its
properties. The entry field wording of the "Global Index" tab is a bit
misleading because the values to enter are not "Count"s. The entry
field labels should be changed to "Offset" or something similar.


Title: Request for a longer comment field in DMA & MCBSP cfg entries of CSL
Bug #      ComponentCCS VersionStatus
SDSsq24121 CSL 2.20 No plans to fix

Release Note

Requested for a  message box instead of a comment field to enter the
comments in DMA and MCBSP cfg properties in the CSL so that the intended
operation about the DMA or MCBSP setup can be entered as a paragraph.


Title: EDMA_OPT_PRI_DEFAULT must not be used for C6x1x EDMA
Bug #      ComponentCCS VersionStatus
SDSsq25465 CSL 2.20 No plans to fix

Release Note

EDMA_OPT_PRI_DEFAULT is implemented as 0x0 for non-C64x. But this
priority must not be used for C6x1x EDMA because it is reserved for L2
transfers. The CSL default value should be something other than 0.


Title: change the edmaCfg properties for c6x11 seeds from Urgent(64x) to other
Bug #      ComponentCCS VersionStatus
SDSsq25543 CSL 2.20 No plans to fix

Release Note

Enhancement for the BIOS config tool:
Create a new .cdb from a C6x11 seed. Insert a new EDMA configuration.
Go to the properties and select the "Operation Mode" tab. The pre-
selected (default) priority level is "Urgent(64x)". When this priority
is left unchanged on the C6x11, the EDMA transfer doesn't start (PRI=0
is not allowed). Hence, the pre-selected default value for the C6211
and C6711 .cdb seeds in the edmaCfg properties should be something
other than "Urgent(64x)".


Title: PCI_intEnable() does not modify PCIIEN appropriately on C64x devices.
Bug #      ComponentCCS VersionStatus
SDSsq27876 CSL 2.20 No plans to fix

Release Note

PCI is actually not available on the 6416 TEB/DSK
by default and neither on the simulator.
PCI is multiplexed with HPI.
The customer might be running the code on one of
these, mentioned above.
 
I verified that PCI_intEnable is actually working fine
by running the testcase on NVDK, which is the video kit,
where the PCI is brought out and is enabled and
HPI is disabled.


Title: TRC field calcualtion in SDRAM Control Register in CDB file is wrong
Bug #      ComponentCCS VersionStatus
SDSsq28467 CSL 2.20 No plans to fix

Release Note

The SDRAM Control Register in EMIF control Registers in the cdb file
shows TRC calculation as
TRC = trc/ (clock period - 1)
 
but actually the value is calcuated as
TRC = (trc/clock period) - 1
 
Similarly TRP and TRCD also needs to be modified.


Title: EDMA_enableChannel called even when EDMA is not enabled.
Bug #      ComponentCCS VersionStatus
SDSsq29102 CSL 2.20 Fixed; will release in a future version of CCS

Release Note

EDMA_enableChannel() call will not be generated when channel is
disabled.


Title: Index->Frame Index(FIX) value in the EDMA properties is not 16 bit
Bug #      ComponentCCS VersionStatus
SDSsq29118 CSL 2.20 Fixed; will release in a future version of CCS

Release Note

The ELM & FRM IDX values entered are checked using with correct
condition to accept all signed 16 bit nos.


Title: PCI_intEnable code does an 'add' instead of 'OR' on C64x devices.
Bug #      ComponentCCS VersionStatus
SDSsq29908 CSL 2.20 No plans to fix

Release Note

The code for PCI_intEnable is wrong.
 
The problem is that the PCI_intEnable code does an 'add' of the current
value and the bit to enable, instead of a bitwise OR.  The semantics of
these two operations are very different.
 
 
 


Title: Bug in CACHE_setL2Mode function.
Bug #      ComponentCCS VersionStatus
SDSsq30277 CSL 2.20.03 Fixed; will release in a future version of CCS

Release Note

CACHE_setL2Mode() is modified to use 'wbInvL1d' function instead
of 'invalidate' function.

Workaround

Workaround:
Manually implement CACHE_setL2Mode according to SPRU610:
- Set .cdb -> Global Settings -> Properties -> C641x -> C641x L2 Mode -
CCFG(L2MODE) to "4-way cache (0k)"
- Insert the following function before main():
static void configureCacheTo256K();
void configureCacheTo256K()
{
        unsigned int gie;
        gie = IRQ_globalDisable();
        // write back data from L1D to L2
        // which is in the L2 address range to be used as cache now
        // (was missing in 2.20.03 CSL)
        // last parameter in following function call is word count, not
byte count
        // needs to be changed for other cache sizes than 256K
        CACHE_flush( CACHE_L1D, (void *)0x000C0000, 0xFFFF );
        // Clean L2 and wait for completion
        CACHE_clean(CACHE_L2ALL, 0, 0);
        // Last parameter of following macro needs to be changed for
other
        // cache sizes than 256K
        CACHE_FSET(CCFG,L2MODE,CACHE_256KCACHE);
        CACHE_FGET(CCFG,L2MODE);
        asm(" NOP 4");
        asm(" NOP 4");
        IRQ_globalRestore(gie);
}
- Insert a call to this function as the first thing in main().
 
 
 


Title: IOM UART driver should include 'CIRC_reset' for IOM_ABORT
Bug #      ComponentCCS VersionStatus
SDSsq28129 Device Drivers 2.20 Fix scheduled to appear in CCS 1.1.

Release Note

IOM_ABORT and IOM_FLUSH (for input) should reset the CIRC buffer
pointers so I/O is completely discarded.  For output, any characters in
the CIRC buffer will still be transferred to the UART.  For input, the
characters in the CIRC buffer will be input for the next I/O call.
 


Title: Generic driver doesn't properly do EDMA event selection for C6713
Bug #      ComponentCCS VersionStatus
SDSsq29319 Device Drivers 2.20 Pending analysis.

Release Note

On the C6713, the number of systems events reaching the EDMA is more
than 16, but EDMA supports only 16 events at any point of time. One
needs to select the events by programming the event select register.
 
The McBSP events are selected by default, but one could modify them by
reprogramming the event select register in order to select other
events.
 
CSL supports an EDMA event allocation mechanism for the C6713. It is
something similar to the interrupt selector API.
 
The ideal usage of EDMA transfers is,
 
1.Query EDMA CSL for event slots.
2.Use that event for doing EDMA transfers.
 
The C6x1x generic McBSP driver does not do the above step to program
the EDMA transfers. It just assumes that event select register is
still a default value. This assumption could be wrong, so it needs to
follow the above steps before programming the EDMA transfers.  However
this is applicable only to C6713 device and not to other devices.


Title: "." in ".text" and .align 32 directive missing in expsp.asm
Bug #      ComponentCCS VersionStatus
SDSsq30567 MTHLIB 2.20 Fixed; will release in a future version of CCS

Release Note

"." in ".text" and .align 32 directive are missing in the single
precision exp function (expsp.asm) in fast67x rts library

Workaround

The line with .sect text should be modified to read:
 
.sect .text
 
 
 


Title: Undefined symbols for adddp and subdp in fastrts62x.lib
Bug #      ComponentCCS VersionStatus
SDSsq31570 MTHLIB 2.20 Fixed; will release in a future version of CCS

Release Note

adddp and subdp used in the fastrts62x.lib causes undefined symbols.

Workaround

Symbols defined with capitalization of all letters. Needs to be all
lower case.
 
 


DSP BIOS 2.20,2.20.03

Title: Document Understanding Basic DSP/BIOS Features (SPRA653) to be corrected
Bug #      ComponentCCS VersionStatus
SDSsq32800 Application Notes 2.20 Pending analysis.

Release Note

It is apparent that the first sentence is missing in spra653 page 4
paragraph 4,
 
Furthermore Figure 1. Block Diagram of the AUDIO DEMO Example needs to
be updated according to latest changes in audio example.


Title: PRD function break point not hit for one shot PRDs
Bug #      ComponentCCS VersionStatus
SDSsq23340 BIOS 2.20 No plans to fix

Release Note

One shot PRD require explicit call to PRD_start.
 
The specified bug occurs as PRD_start was not called explicitly.


Title: KNL_swi STS numbers are not accurate
Bug #      ComponentCCS VersionStatus
SDSsq23882 BIOS 2.20 No plans to fix

Release Note

The values displayed for the BIOS SWI 'KNL_swi' in the 'Statistics
View' window (selected from "DSP/BIOS->Statistics View" in CCS) are
inaccurate and should not be considered to hold any meaningful
information regarding the SWI's actual ready-to-completion times.
 
This is a by-product of the special way in which this distinguished SWI
is used by DSP/BIOS.  Please ignore all values for 'KNL_swi'.


Title: STS object reporting negative total and average times in Statistics View
Bug #      ComponentCCS VersionStatus
SDSsq25584 BIOS 2.20 No plans to fix

Release Note

Fixed bug in STS view that causes it to report inaccurate statistics
when RTDX is not enabled.


Title: DSP/BIOS support for c6713 target
Bug #      ComponentCCS VersionStatus
SDSsq28148 BIOS 2.20 Fix scheduled to appear in CCS 2.20.18.00.

Release Note

The current DSP/BIOS configuration files do not support the 6713.

To workaround this problem: 0. Set chip type in Global Settings to “other”.

1. Uncheck the "621x/671x - Configure L2 Memory Settings" check box located in the Global Settings Properties page under the "621x/671x" tab.

2. Then use the following CSL API's to correctly setup the CACHE. This function then can be plugged into the User init function in the Global Settings properties.

CSL_init(); CACHE_setL2Mode() - Will setup the L2 CACHE control register. CACHE_enableCaching() - Will setup the MAR registers. The Global init function will be called during system intialization time and will initialize the CACHE before other BIOS initialization.

3. Link your program with the csl6713.lib library by adding this to your project or adding it to the linker options in the build options.

Workaround

To workaround this problem:
1. Uncheck the "621x/671x - Configure L2 Memory Settings" check box
   located in the Global Settings Properties page under the
   "621x/671x" tab.
 
2. Then use the following CSL API's to correctly setup the CACHE.
   Cache_setL2Mode()-Will setup the L2 CACHE control register.
   Cache_enableCaching()-Will setup the MAR registers.


Title: devid type declarations inconsistent in dev.h
Bug #      ComponentCCS VersionStatus
SDSsq32145 BIOS 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

devid type declarations are inconsistent in dev.h
 


Title: Disabling RTDX overwrites settings for HWI_INT11 and HWI_INT12
Bug #      ComponentCCS VersionStatus
SDSsq23091 BIOS Config 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

This problem has been fixed.


Title: Microseconds/tick field of PRD Function MAnager should be greyed out.
Bug #      ComponentCCS VersionStatus
SDSsq23802 BIOS Config 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

In the 'PRD Function Manager' properties window, The 'Microseconds/Tick'
field is just an information filed. So this field should be greyed out.
 
Also if 'Use CLK Manager to Drive PRD' is checked, the
'Microseconds/Tick'
should reflect the value as set by the CLK Manager properties.
 
If 'Use CLK Manager to drive PRD' is unchecked, the 'Microseconds/Tick'
filed should not reflect the values set by CLK Manager and should
refelct some value like zero.


Title: LCK object declaration missing in xxxcfg.h in C6000 & C5000
Bug #      ComponentCCS VersionStatus
SDSsq23914 BIOS Config 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The config tool does not place object declaration for LCK module
objects into the xxxcfg.h file.


Title: -pm -op2 options cause link error becasue of CSL_cfgInit.
Bug #      ComponentCCS VersionStatus
SDSsq26209 BIOS Config 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

When configuration file is used to configure the CSL objects and not
bound to any peripherals, the generated .c file has an empty
CSL_cfgInit
function. In this case linker error is generated when the "-pm -op2"
options are used. With these compiler options, the empty CSL_cfgInit
function to be eliminated and results in an undefined symbol error.
 
To avoid this problem, the gconf generated C file should declare the
function to be externally called, then the function would not be
eliminated by the optimizer. The call would be:
 
    #pragma FUNC_EXT_CALLED(CSL_cfgInit)
 

Workaround

Build the project to get a link error. Now insert the line
 
    #pragma FUNC_EXT_CALLED(CSL_cfgInit)
 
in the generated .c file and perform an incremental build. This will
help to work around the problem.
 
******Another workaround :-
 
Conditionally reference the CSL_cfgInit() somewhere, e.g. in main, but
prevent the compiler from optimizing the condition by using the
volatile keyword:
void main()
{
        volatile unsigned char neverTrue = 0;
        if( neverTrue )
        {
                CSL_cfgInit();
        }
        ...
}


Title: #pragma CODE_SECTION in <>cfg_c.c file is NOTOK for C++ (fix with 26209)
Bug #      ComponentCCS VersionStatus
SDSsq29098 BIOS Config 2.20 Fix scheduled to appear in CCS 2.20.18.02.

Release Note

When using "-fg" compiler option (which uses C++ conventions for .c
files), the #pragma in the cfg_c.c file causes errors.
 
Work-around is to use 'file-specific' options for this one file
(remove the -fg).

Workaround

Use 'file-specific' options for this one file
(remove the -fg).
 
 


Title: GCONF incorrectly shows DSP type as 6711 when CHIPTYPE 6713 is chosen
Bug #      ComponentCCS VersionStatus
SDSsq29553 BIOS Config 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

"DSP type" field in the global settings of Dsk6713 seed is represented
as 6711, but it should be 671x.
 


Title: Selecting Mask all interrupts causes gconf to show mask value 0xFFFF
Bug #      ComponentCCS VersionStatus
SDSsq30635 BIOS Config 2.20 No plans to fix

Release Note

Selecting the mask "ALL" in the gconf for a HWI shows the mask as
0xFFFF which includes the mask for Reset and NMI.


Title: The CPU graph freezes when CPU load overruns
Bug #      ComponentCCS VersionStatus
SDSsq22122 BIOScope 2.20 No plans to fix

Release Note

The CPU load graph utility sometimes freezes after the CPU load has
overrun.


Title: CCS save workspace does not save message log options
Bug #      ComponentCCS VersionStatus
SDSsq28503 BIOScope 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The CCS save workspace does not save the Message Log Options.
The Option Maximum number to display shows 0 even when the workspace is
saved with 2048.


Title: Updating an old cdb file may result in build errors for IDL objects
Bug #      ComponentCCS VersionStatus
SDSsq28127 Config UPdate 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Some cdb files do not update correctly when moving to new version of
CCS.  Assembling the generated configuration assembly file will
generate an error if IDL objects are not part of the cpu load
calibration.
 
The workaround is for the user to open the updated cdb file
"check" and then "uncheck" the
"Include in CPU load calibration" check box.
 

Workaround

The workaround is for the user to open the updated cdb file
"check" and then "uncheck" the
"Include in CPU load calibration" check box.


Title: Migrating to 2.20 from 2.1x will overwrite previous cache configuration
Bug #      ComponentCCS VersionStatus
SDSsq29002 Config UPdate 2.20 No plans to fix

Release Note

When upgrading from 2.1x to 2.20 the cache configuration in the global
properties of  the cdb file (62x/671x) may be grayed out after
upgrading, if "other" is selected as the CSL library file.


Title: Setting Breakpoints inside assembly files complied w/UNIX
Bug #      ComponentCCS VersionStatus
SDSsq11880 Examples 2.20 No plans to fix

Release Note

Setting breakpoints inside assembly files in prebuilt projects does not
work.  The project must be rebuilt first.

Workaround

Build the project then set the breakpoint.


Title: Examples : gmake breaks if CCS installation path has spaces
Bug #      ComponentCCS VersionStatus
SDSsq27539 Examples 2.20 Analyzed; commitment is pending.

Release Note

If the CCS installation path contains white spaces e.g. C:\Program
Files\ti, gmake for examples breaks.

Workaround

 


Title: IDRAM object in the attached .CDB file cannot be deleted.
Bug #      ComponentCCS VersionStatus
SDSsq22990 GConf 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The IDRAM object in the attached .cdb can not be deleted.
It has dependencies to the HST host channel manager, Memory
section manager which can easily removed but the dependencies
to RTA_fromHost and RTA_toHost cannot be removed.


Title: #pragma's in *cfg_c.c causes compilation errors during a C++ build
Bug #      ComponentCCS VersionStatus
SDSsq29328 GConf 2.20 Pending analysis.

Release Note

DSP/BIOS generated *cfg_c.c cannot be used with C++ examples due to
badly performed pragma. This is because the #pragma statements in the
*cfg_c.c cause incorrect compilation when interpreting the file as a
C++ file.
 

Workaround

Workaround for this would be to replace the line
 
#pragma CODE_SECTION(CSL_cfgInit,".text:CSL_cfgInit") in *cfg_c.c with
the following lines and perform an incremental build.
 
#ifdef __cplusplus
#pragma CODE_SECTION(".text:CSL_cfgInit")
#else
#pragma CODE_SECTION(CSL_cfgInit,".text:CSL_cfgInit")
#endif
 
 


Title: Gconf shows erroneous values in Timer module object
Bug #      ComponentCCS VersionStatus
SDSsq29470 GConf 2.20 Pending analysis.

Release Note

Gconf shows under the Advanced tab of attached .cdb a CTL reg of 0x280;
the Clock Control tab shows "Two Clock cycles", This is wrong. The CTL
value should be 0x290


Title: Typo in cdbcmp output for Timer module
Bug #      ComponentCCS VersionStatus
SDSsq29471 GConf 2.20 Analyzed; commitment is pending.

Release Note

For Timer Object, cdbcmp creates the following output for that:
prog.module("TIMER").instance("timerCfg0").timerCtlPwid = "Two clock
cycles"
 
The value has a typo; it should read "Two Clock cycles" (capital 'C' in
Clock) instead.


Title: SIO_startup has propblems when SIO is created dynamically from main.
Bug #      ComponentCCS VersionStatus
SDSsq23815 Kernel 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

DSP goes to reset vector when SIO_start is called from main. When an
SIO_startup is called after a dynamic SIO_create in main, the programs
tries to access an invalid memory and goes to the reset vector.


Title: The callback version of DIO has a bug in DIO_cbIssue()
Bug #      ComponentCCS VersionStatus
SDSsq27939 Kernel 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The callback version of DIO may fail if the driver code returns
IOM_COMPLETED from its submit function.  In the DIO_cbIssue function,
if IOM_COMPLETED is return from the driver submit function, the frame
is placed into the fromDevice QUE and then the DIO_cbCallback function
is called and it also puts the same frame into the fromDevice QUE a
second time.  No frame should be placed into fromDevice QUE twice.
The DDK provides the source code for DIO driver.

To fix the problem, in DIO_cbIssue() remove the line:

QUE_put(device->fromdevice, frame);

Workaround

The only possible workaround at this time is to take the dio_cb.c
file and add it into your project build and remove the QUE_put call
in DIO_cbIssue()


Title: SWI of pri 1 won't run if posted from ISR that interrupts SEM_pend
Bug #      ComponentCCS VersionStatus
SDSsq29285 Kernel 2.20 Fix scheduled to appear in CCS 2.20.18.02.

Release Note

When a HWI function posts a SWI object having a priority of 1, that SWI
object won't run after the HWI function is processed if the HWI
function was invoked from inside a SEM_pend() call that is blocking.
 
The SWI will be scheduled but won't run immediately after the HWI
object processing, and instead it will run when the SWI scheduler is
invoked outside the SEM_pend() API.

Workaround

Avoid using priority 1 for SWI objects.


Title: Semaphore services may get delayed in certain cases
Bug #      ComponentCCS VersionStatus
SDSsq31180 Kernel 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Inside a kernel if an interrupt occurs and posts a semaphore, the task
waiting on the semaphore may not immediately wake up.


Title: Bug in non-instrumented BIOS w/ TSK manager enabled
Bug #      ComponentCCS VersionStatus
SDSsq32965 Kernel 2.20 Pending analysis.

Release Note

 
There is a bug in KNL_enter/KNL_exit that is exposed when using the non-
instrumented BIOS libraries.  The bug happens only when STS-for-SWIs is
enabled in TRC_R_mask.
 
The bug is reached when a TSK that was previously preempted is restored
by virtue of a TSK blocking because of a kernel call.
 

Workaround

 
When using the non-instrumented DSP/BIOS libraries (RTA disabled),
ensure that the TRC mask is 0.  This is achieved by either:
    - disabling all TRC events in the configuration tool;
    - setting TRC_R_mask = 0 in main().
 


Title: Unexpected fatal error....stack overflow message is generated
Bug #      ComponentCCS VersionStatus
SDSsq28449 RTA SDK 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

If the GEL OnPreFileLoaded() handler in the start-up GEL file contains
a GEL_Reset() function call and a BIOS plug-in is being used, CCStudio
may not operate correctly when a .out file is reloaded.

If a target reset is required before loading a .out file, it can be performed using the Debug->Reset CPU menu item. Alternatively, the BIOS plug-ins can be closed before reloading the .out file.



Title: TCONF Rhino Debugger crashes when calling config.hasReportedError
Bug #      ComponentCCS VersionStatus
SDSsq29900 TConf 2.20 Fixed; will release in a future version of CCS

Release Note

Calling config.hasReportedError in a Tconf Script causes the
Rhino Debugger to crash -- e.g. when stepping over the line
 
if (config.hasReportedError == false)
 
The error occurs only within the debugger.
 
However, the config.hasReportedError call still performs the correct
function when running Tconf outside of the Rhino debugger shell without
the -g flag.
 
So for someone who really wishes to step over this code, simply comment
out the above if statement as a workaround. One can then step over the
line
 
prog.gen();
 
to generate the cdb file.
 


Title: cdbupd does not pick up all config changes unless using -a switch
Bug #      ComponentCCS VersionStatus
SDSsq32102 TConf 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Usage of cdbcmp without the -a switch can lead to creation of
incorrect
DSP/BIOS configurations. Worse, the configuration is valid...its just
not what the user intended.
 
Many SFSs, FAEs are now encouraging customers to do the following
procedure :-
a) take your project's cdb
b) run 'cdbcmp app.cdb > appcfg.tcf'
c) edit/clean-up appcfg.tcf
d) run 'tconf appcfg.tcf' to produce the new cdb.
Their goal is to produce a new cdb that's exactly the same as what
they
started with except having gone thru (a) -> (d) they've not had to do
a
potentially error-prone cdbupdate.
 
Hence, quality/correct cdbcmp output becomes a critical need.
 
In this case, customer's original *cfg_c.c file had the line :-
void CSL_cfgInit()
{
   ...
   EMIF_config(&vs110mem);
   ...
}
 
However after doing...
- cdbcmp vs130_62xx_220.cdb > vs130_62xx_220cfg.tcf
- minor mods to script to make it build
- tconf vs130_62xx_220cfg.tcf
...this line was *not* in the generated *cfg_c.c file.
 
The reason is that EMIF config required more than just creation of an
instance, it also required pre-initialization as a cdb logic
precondition to generating the EMIF_config() call. ie
// value changed:
//    old HEMIF.Enable Pre-Initialization = 0
//    new HEMIF.Enable Pre-Initialization = 1
prog.module("HEMIF").emifEnablePreInit = 1;
 
// value changed:
//    old HEMIF. Pre-Initialize with = prog.get("EMIF_NOTHING")
//    new HEMIF. Pre-Initialize with = prog.get("vs110mem")
prog.module("HEMIF").emifPreInit = prog.get("vs110mem");
 
If instead of doing ...
cdbcmp vs130_62xx_220.cdb > vs130_62xx_220cfg.tcf
u do ...
cdbcmp -a vs130_62xx_220.cdb > vs130_62xx_220cfg.tcf
...then it will generate the complete differences.
 
The -a flag compares all objects and fields including those
that may be unconfigured or hidden. Without this flag cdbcmp will
ignore any mods to properties of modules which have no instances or
hidden objects.
 
Several points of note for BIOS Eng in conclusion are :-
 
1. cdbcmp without the -a flag may give incorrect results.
SDSsq20890 - "cdbcmp does not pick up PRD 'Use CLK Manager to drive
PRD' changes". Although this was fixed, the general problem of cdb
changes to no-instance modules remains.
 
2. cdbcmp -a should perhaps be the encouraged default. However it
produces a high signal to noise ratio!
 
3. I would like to see the set of switches available on the command
line (e.g. -a), fully documented in spru007.pdf -- the tconf manual.
Unfortunately I had to look in internal xdc tree sources.
 
4. Usage of cdbcmp and its output in...
(a) regeneration of a new cdb file
(b) movement to next gen build environments
...should be a key test case for BIOS Eng. Efforts should be made to
ensure that cdbcmp output is semi-clean and largely works out of the
box with a straight call to 'tconf mycfg.tcf'
 
5. A good test case for #4 is the attached cdb. It is a highly
populated cdb -- if cdbcmp can produce output that automatically works
when calling tconf on the resulting cdbcmp output tcf then we're in
good shape.
 


DOCUMENTATION 2.20,2.20.03

Title: Buttons on toolbar appear to be active when they are not highlighted
Bug #      ComponentCCS VersionStatus
SDSsq27159 Code Composer IDE 2.20 Fix appears in CCS 2.20.

Release Note

Some buttons on the toolbar appear to be active when they are not.
After halting a program, the Halt icon appears to still be active
because it is being framed as any other active icon.
 


Title: Dragging and dropping of columns in profiler no longer implemented
Bug #      ComponentCCS VersionStatus
SDSsq19870 Code Composer IDE 2.20 Fixed; will release in a future version of CCS

Release Note

Columns in the Profiler window can no longer be rearranged. Under
Profiler->Viewing Profile Data->To Read the Proile Data, the second
sentence of the second paragraph reads: "To change the order in which
the tabs appear within the Profile View, click-and-drag the desired
tab
to a new location."
 
This feature is not implemented in the current release.
 
 


Title: CCS Help sometimes gives error that it can't find certain help files
Bug #      ComponentCCS VersionStatus
SDSsq28447 Code Composer IDE 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Opening Help a second time can cause a "Help File Not Found" message.


Title: Doc Update about the option "Do Not Scan Dependencies When Loading"
Bug #      ComponentCCS VersionStatus
SDSsq29339 Code Composer IDE 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The option "Do Not Scan Dependencies When Loading"  basically checks
for dependencies when opening(loading) a project(.pjt) in CCS. For
example a project has been created using a plugin and if it has more
than 1000+ files included in that project then it will take too much
to
open the project. This can be avoided by checking the option "Do Not
Scan Dependencies When Loading".


Title: Compiling maxminmath available in tutorial can cause compile errors
Bug #      ComponentCCS VersionStatus
SDSsq30179 Code Composer IDE 2.20 Fixed; will release in a future version of CCS

Release Note

Compiling maxminmath available under
tutorial/sim64xx/maxminmath can cause a compilation error
Build error: cannot run c:\ti\c6000\cgtools\bin\cl6x This happens if
CCS is not installed in the deafult path ie c:\ti.

Workaround

Modify filespecific option for averageValue.c. In the general tab
please modify the build command which shows now
c:\ti\c6000\cgtools\cl6x  to the correct install path of CCS. Or you
can directly call cl6x.


Title: Description of COFF section header flags is incomplete
Bug #      ComponentCCS VersionStatus
SDSsq12553 Code Generation 2.20 No plans to fix

Release Note

The TMS470R1x Assembly Language Tools User's Guide (SPNU118), Appendix
A, contains a description of the Section Header Flags (bytes 40 through
43) in a COFF file, but the description is not complete. Out of the 32
bits of the section header flag, bits 0-7 specify the section type, but
there is no explanation of what bits 8-11 mean.
 
Bits 8-11 actually specify the alignment of the section, as a power of
2.


Title: Documentation Error specifying fill command
Bug #      ComponentCCS VersionStatus
SDSsq20251 Code Generation 2.20 No plans to fix

Release Note

As per page 7-32 of SPRU 187G, the TMS320C6000 Optimizing Compiler
User's Guide,the line:
.bss: fill = 0x00;
 
in the SECTIONS section.
 
Should be .bss fill = 0x00


Title: Error in Interrupt Service Code example.
Bug #      ComponentCCS VersionStatus
SDSsq20326 Code Generation 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Example on page 8-7 of the CPU & Instruction guide is incorrect.  The
CPU & Instruction guide says that this type of branch needs to have a
label as the 'target'.  So, the bug is actually in the example
itself.


Title: Documentation bugs in COFF Format section of SPRU186L
Bug #      ComponentCCS VersionStatus
SDSsq29511 Code Generation 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Table A–5. Section Header Flags
WRONG:   STYP_PASS 0x2000 Section should pass these unchanged
CORRECT: STYP_PASS 0x200 Section should pass these unchanged
 
WRONG: The flags listed in Table A–5 can be combined; for example, if
the flag’s word is set to 024h, both STYP_GROUP and STYP_TEXT are set.
 
CORRECT: STYP_GROUP  0x0000 0004


Title: Add information about .if/.endif directives around .(c)proc blocks
Bug #      ComponentCCS VersionStatus
SDSsq30749 Code Generation 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Add bullet to section of C6x Optimizing C Compiler User's Guide
describing legal and illegal scenarios of using the .if/.endif
assembler directives in and around .(c)proc/.endproc regions.


Title: Dcumentation error in syn directive
Bug #      ComponentCCS VersionStatus
SDSsq31536 Code Generation 2.20 No plans to fix

Release Note

sym directive explantion wrong for the value and size field


Title: Incorrect information on intrinsic _mem2 in spru198g and in CCS help
Bug #      ComponentCCS VersionStatus
SDSsq32832 Code Generation 2.20 Pending analysis.

Release Note

 
 
According to page 2-20 of spru198g.pdf, intrinsic _mem2 should be
supported on any 6000 series target.  In addition, the help page USING
INTRINSICS in CCS2.1 makes the same assertion.
 
But actulally intrinsic _mem2 is only supported on c64x target.


Title: Inconsistent information in CCS help on intrinsic _amem2 support on c6x
Bug #      ComponentCCS VersionStatus
SDSsq32833 Code Generation 2.20 Fix scheduled to appear in CCS 2.28.00.28.

Release Note

The CCS Help page titled TMS320C6000 C/C++ Intrinsics and the page
titled TMS320C6400 C/C++ Compiler Intrinsics seem to imply that the
&_amem2  &_amem4 &_amemd8 intrinsics are available on only for c64x
series devices.
 
This is contradicted on the page titled Using Intrinsic that says that
above intrinsics can be using with all c6x devices.
 
The information given in "Using Intrinsic" in CCS Help on &_amem is
correct.


Title: SPRU403 does not document .Order property PRD, SWI, TSK, IDL
Bug #      ComponentCCS VersionStatus
SDSsq29472 DSP BIOS 2.20 Fixed; will release in a future version of CCS

Release Note

SPRU403 documents the .Order property only for CLK instances, but not
for PRD, SWI, TSK, IDL. The output of cdbcmp shows that the PRD, SWI,
TSK and IDL module instances also have a .Order property.
 
This needs to be documented in SPRU403


Title: Error in PCI_xfrTest documentation in SPRU403e
Bug #      ComponentCCS VersionStatus
SDSsq29502 DSP BIOS 2.20 Fixed; will release in a future version of CCS

Release Note

PCI_xfrTest documentation in SPRU403e
 
1. Bookmark for the function is not working.
2. Description ("Tests if the current transaction is complete.") is
not
complete, There is no info on the meaning of values returned.
3. Return Value is not only "0 or 1", but really consists of 2 bits.


Title: SEM_post() and TSK_yield() API documentation constraints need updates
Bug #      ComponentCCS VersionStatus
SDSsq29689 DSP BIOS 2.20 Fixed; will release in a future version of CCS

Release Note

Documentation problems for SEM_post() and TSK_yield() as they relate
to TSK_disable/enable.
 
(1)  The constraint for SEM_post() API should be updated from:
 
"SEM_post cannot be called from within a TSK_disable/TSK_enable block."
 
to:
 
"If SEM_post() is called from within a TSK_disable/enable block, the
semaphore operation will not be processed until TSK_enable() is
called."
 
(2) The following constraint should be removed from the TSK_yield API:
 
"TSK_yield should not be called from within a TSK_disable/TSK_enable
block."
 
 


Title: C64x specific registers DIER, EM, and ER aren't fully documented
Bug #      ComponentCCS VersionStatus
SDSsq14439 Hardware 2.20 No plans to fix

Release Note

The Documentation SPRU187 mentions the C64x specific registers DIER
(Delay interrupt enable register), EM (Exception mask register), and ER
(Exception register), however they aren't yet fully documented in
SPRU189e, CPU and Instruction Set Reference Guide' or otherwise.


Title: User Guides sometimes do not open from ATK online help
Bug #      ComponentCCS VersionStatus
SDSsq28588 Plugins 2.20 Analyzed; commitment is pending.

Release Note

The user guides'links in online help of ATK in "Related Documentation"
section may not work sometimes. In such cases, the user guides needs
to
be invoked from the  \docs\pdf  directory.


Title: C6x RTDX help incorrectly refers to "Extended Addressing" target library
Bug #      ComponentCCS VersionStatus
SDSsq27361 RTDX 2.20 Fixed; will release in a future version of CCS

Release Note

The online RTDX documentation incorrectly lists a set of libraries
as "extended addressing versions".  The C6x does not support "extended
addressing".  The "rtdxe.lib" listed is actually a (JTAG) RTDX big-
endian target library.


Title: Missing RTDX interrupt entries under RTDX/Interface/User Interface help
Bug #      ComponentCCS VersionStatus
SDSsq29185 RTDX 2.20 Fixed; will release in a future version of CCS

Release Note

The RTDX online help reference to RTDX_interrupt_mask is missing from
the "RTDX->Interface->User Interface" page.  It can be located
under "RTDX->FAQ->What is RTDX_interrupt_mask?"
 
Further, the description for this variable is incorrect.  It should
state:
 
The variable RTDX_interrupt_mask is a user specified bit-mask which
indicates which interrupts are to be disabled within RTDX critical
sections.  The enable bit for the specified interrupts will be
restored upon exiting the critical section.
 
RTDX functions may be called from within one or more Interrupt Service
Routines (ISRs).  Thus, it is possible for an RTDX function to be
interrupted by another.  The mechanism for protecting RTDX global data
structures uses this mask to temporarily disable only those interrupts
that may call an RTDX function so that RTDX data structures may be
manipulated atomically.  This provides interrupt safety for RTDX
critical sections and limits the time that interrupts are globally
disabled to just the critical section entry/exit code itself.
 
Upon entry to an RTDX critical section, this mask is ANDed with the
interrupt control register (see family specifics below) thereby
disabling only those interrupts the user specified.  Upon exiting the
critical section, the interrupt control register is restored to its
prior value.  Failure to specify this mask correctly will NOT protect
RTDX global data structures and may result in undefined RTDX behavior.
 
The safest value for this mask is zero.  However, this is also the
most intrusive value as this results in ALL interrupts being disabled
within RTDX critical sections.  To use the mask effectively, the user
only need clear the bit in the mask which corresponds to those
interrupts which are known to call an RTDX function.  (This includes
any RTDX interrupt handlers.)  Thus, high-priority interrupts which do
not call RTDX interrupts are unaffected.
 
However, if using RTDX within a pre-emptive multi-threaded operating
system (such as DSP/BIOS) the user must mask not only those ISRs which
call RTDX directly, but also those ISRs which may signal other threads
which call RTDX directly.  (See SDSsq25620)
 
RTDX provides example linker control files which specify this mask at
link time in "\ti\examples\\rtdx\shared".  This mask may also
be specified from within the DSP/BIOS Configuration Tool for DSP/BIOS
applications.  For more information on the DSP/BIOS Configuration Tool
see the DSP/BIOS online help.
 
Details per target family:
* On C6x: The 32bit mask is applied to the IER register.
* On C54x: The 16bit mask is applied to the IMR register.
* On C55x: The 32bit mask is applied to the IER0/1 register where the
lower 16 bits of the mask correspond to IER0, and the upper 16 bits
correspond to IER1.
* On ARM: The RTDX_interrupt_mask is unused as RTDX can make no
assumptions about the interrupt control scheme of the user's system.
For this target the user must determine and implement the most
appropriate mechanism based on the file:
   "\ti\examples\\rtdx\shared\rtdx_ints.c".
This file contains 2 functions that are used to bracket RTDX critical
sections.
 


EMULATION 2.20,2.20.03

Title: Advanced Event Triggering plug-ins should be grayed out.
Bug #      ComponentCCS VersionStatus
SDSsq15002 CTools 2.20 Pending analysis.

Release Note

When using the C6201 EVM or C54x device (connected using the PCI bus)
and  executing Tools -> AET -> Event Sequencing, an error is
received: "AET could not be initialized properly"

Technical explanation:

Advanced Event Triggering is only available for devices with enabled silicon capabilities. Only the C6211 and C6711 are enabled with Advanced Event Triggering and the ARM7 and ARM9 for the TMS470. Advanced Event Triggering will also be available in future devices, but will not be retrofitted into the C54x, or C620x or C670x devices.

Regarding documentation, there is a full tutorial on Advanced Event Triggering, a complete description of Advanced Event Triggering in the on-line help and a demo.

The AET option should be grayed out.



Title: EVM debugger does not correctly profile peripheral memory access stalls.
Bug #      ComponentCCS VersionStatus
SDSsq08015 Drivers 2.20 No plans to fix


Title: Out of Environment Space error when attempting to autoconfigure 6X11 DSK
Bug #      ComponentCCS VersionStatus
SDSsq19911 Drivers 2.20 No plans to fix

Release Note

Users may get an "Out of Environment Space" error when attempting to
autoconfigure 6X11 DSK.  This can occur during installation or normal
usage. If this error occurs during installation, the user must complete
the installation process.
 
 

Workaround

The following steps will alleviate the problem:
 
1. Go to the Start menu and locate the "Configure 6X11 DSK" shortcut.
2. Right-click and select Properties, then click the Memory tab.
3. Select 4096 from the drop-down menu for the Initial Environment and
   click OK.
4. With the 6X11 DSK powered on and reset, select the "Configure 6X11
   DSK" shortcut.
 
Your DSK should now be configured.
 
 
 


Title: CCS doesn't exit properly when the parallel port is unexpectedly removed
Bug #      ComponentCCS VersionStatus
SDSsq21022 Drivers 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

While running a standard C6711 DSK with CCS 2.0 that is connected to a
PC with a parallel cable, an error will occur if you pull the parallel
cable.
 
A warning pops up indicating the failure condition.
Clicking on "Exit" leads to a dialog:
"Are you sure you want to exit Code Composer?".
Clicking on "Yes" doesn't exit CCS.


Title: Profiling & HSRTDX do not work at the same time on XDS560
Bug #      ComponentCCS VersionStatus
SDSsq22218 Drivers 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

To Profile an High-Speed RTDX data link application the user must be
aware of two problems:
 
First, on the C6211 and C6711 devices, the EMU0 pin is used by the
profile counter.  So, the user must switch the EMU pin used by
High-Speed RTDX from EMU0 (the default selection) to EMU1 in order to
avoid conflict.
 
Second - The High-Speed RTDX data link must be started before Profiling
is enabled.  Profiling reserves both EMU0 and EMU1 when it starts even
though it only uses EMU0. This keeps the High-Speed RTDX data link from
working at the same time. To avoid this, after loading code or
performing a restart, start execution of your program and either run to
main or to a software breakpoint and then start profiling.  When you
halt, remember to disable profiling until you have ran again to get
the High-Speed RTDX data link enabled.
 
 

Workaround

The user must switch the HSRTDX pin from the default (EMU0) to EMU1 in
order to avoid HSRTDX/profiling conflict.
 
The user must also start the HSRTDX mechanism before Profiling is
enabled:  After loading code or performing a restart, start execution
of
your program and either run to main or to a software breakpoint and
then
start profiling.  When you halt, remember to disable profiling until
you
have ran again to get HSRTDX enabled.


Title: 6X11 DSK does not supply accurate errors or text descriptions
Bug #      ComponentCCS VersionStatus
SDSsq22346 Drivers 2.20 No plans to fix

Release Note

The 6711 DSK does not provide complete descriptions for all errors.
Some of the obscure errors only provide an error number.


Title: Sequencer not programmed while target is running.
Bug #      ComponentCCS VersionStatus
SDSsq22689 Drivers 2.20 No plans to fix

Release Note

The ability to program the Event Sequencer and the Event Analysis
Chained Breakpoint or Watchdog Timer jobs while the target is running
is broken.
 

Workaround

If you stop the target, program the sequencer, or the Event
Analysis jobs, and then restart the cpu, the jobs will perform as
expected.
 


Title: Execution doesn't stop at breakpoint in C6416 XDS 510 Emulator
Bug #      ComponentCCS VersionStatus
SDSsq26917 Drivers 2.20 No plans to fix

Release Note

"Cache coherency issue with software breakpoints on 641x devices"

Due to a cache coherency issue with emulation memory accesses on 641x class devices, the setting or clearing of software breakpoints may be unsuccessful. The conditions that must be met to encounter this problem are:

+ Software breakpoint location exists in the most recently fetched 64- byte cache line

+ Software breakpoint location is in the same 64-byte cache line as a data section

In general the solution to this problem is to ensure that any data access made is not made to a location that is in the same 64-byte aligned portion of memory as executable code. The suggested approach to solving this problem will vary, depending on the application type. There are two classes of applications that will be discussed here:

+ Non-BIOS application with user-defined linker command file

+ BIOS application with linker command file auto-generated from configuration file

References to data memory and executable code memory will be made in the sections below. It should be noted that the compiler generated sections correspond to data or executable code as shown below:

Executable Code Sections: &#183; .text, .cio Data Sections: &#183; .data, .const, .switch, .bss, .far, .stack, .sysmem, .cinit Non-BIOS Application with user-defined linker command file

In the case of a user-defined linker command file, the following steps should be taken against the linker command file to ensure that data memory and executable code memory do not reside in the same 64-byte aligned portion of memory:

a) Never interleave data and executable code sections. Examine any data and executable code sections that are adjacent to one-another. If they do not share a 64-byte aligned portion of memory then step ‘b’ may be skipped. If the data section is not a data buffer section then step ‘c’ may be skipped.

b) If a data section shares a 64-byte aligned portion of memory with an executable code section, consider using the .align directive to force 64-byte alignment of the section that is allocated to the higher portion of memory:

.data > MEMX ; .data section .text > MEMX, align(64) ; start .text section on a 64-byte boundary If multiple code sections are defined then the linker command file should also ensure that each data section and adjoining executable code section be analyzed to determine if alignment is necessary.

c) If a data section that precedes an adjoining text section is a data buffer and the ‘-mhn’ compiler option is used then consider the following change:

.data > MEMX ; .data section .text { .+= n;}> MEMX, align(64) ; pad by n and ensure 64-byte alignment BIOS Applications with linker command file auto-generated from configuration file

In the case of a linker command file that is automatically generated based on a configuration file, the following steps should be taken against the configuration file to ensure that data memory and executable code memory do not reside in the same 64-byte aligned portion of memory:

a) Define an ISRAM_TEXT and SDRAM_TEXT section that will be used exclusively for user and BIOS text sections.

b) Modify the default ISRAM and SDRAM to be used for user and BIOS data sections only.

c) If memory padding is required, as is the case for the ‘-mhn’ compiler option, then the suggested solution is to leave some memory space (worst-case: n + 64) between the ISRAM and ISRAM_TEXT sections as well as the SDRAM and SDRAM_TEXT sections.



Title: Abnormal behavior of 6416 TEB when the profiler is ON
Bug #      ComponentCCS VersionStatus
SDSsq30169 Drivers 2.20.03 Pending analysis.

Release Note

Reloading the COFF file may not be successful when the profiler is On.
The problem is observed with the following environment
 
CCS 2.20.03 + 6416 TEB rev 1.1+ XDS510 PPplus +  WindowsXP
 
The profiler seems to cause problems resulting in abnormal behavior of
CCS when working with BIOS project having many number of tasks.


Title: C6211 Examples shipped with CCS does not work with XDS560.
Bug #      ComponentCCS VersionStatus
SDSsq27368 Examples 2.20 No plans to fix

Release Note

The C6211 examples provided with CCS2.10 does not work with XDS560 on
Windows XP. The examples worked fine with Parallel Port Connection, but
failed when XDS560 was used. Observerd this behaviour for Volume2 and
Bigtime examples.
 
The problem is specific to C6211DSK + Windows XP + XDS560
 
This is a bug.

Workaround

The problem occurs due to GEL file not being loaded.
Make sure that the '.\cc\gel\DSK6211_6711.gel' file is loaded.
 
The reason that the 6711 is working and the C6211 isn't is because of
the EMIF is being programmed as part of the POST.  The C6711 runs
through the POST at power-up (LEDs flashing).


Title: Bit 0 for RESET in IER register is read only and should always be 1.
Bug #      ComponentCCS VersionStatus
SDSsq08597 Hardware 2.20 No plans to fix

Release Note

Bit "0" for RESET in the IER register is "read only" and should always
be read as "1".  In CCS, it always reads as "0".
 
- Update
 
The LSB (Bit 0) of the IER (Interrupt Enable Register) is a
READ ONLY bit.  The value of this bit is permanently set to 1
in silicon. But this bit is not available for debugger access.
 
The IER register is effectively a 15-bit register. The value
of the LSB is non-deterministic and is simply set to 0 for
display purposes.
 
Modification of this bit by the user is an action that is NOT
SUPPORTED by silicon.  CCS will allow modification of this bit
but the state of the bit should not be interpreted, because it
is not be a true reflection of the state of the target.
 
In summary the user should simply know the following:
 
- Bit 0 of IER is not accessible to the emulation logic.
- The state of this bit is permanently set to 1 in hardware
- CCS sets the bit to 0.
- Modification of this bit has no effect on the target hardware.
 
 
 
 
 
 

Workaround

Bit 0 of IER register is always tied to 1 on Silicon. Reading IER
register from emulator always displays 0 for bit 0. This is because the
IER register(16bits) is built up from the real 15 register latch bits
from the IER and a NULL bit, bit 0. Emulator software treats the NULL
bit as a space holder and displays it as 0 when read. There is nothing
wrong with the silicon behavior. We decided to document this issue.
This
is something the user can simply ignore it.
 
Update:
- See Release note documented under this DDTS entry
 


Title: Debugging the projects on 6416 TEB may restart BIOS from BIOS_init
Bug #      ComponentCCS VersionStatus
SDSsq26482 Hardware 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Stepping over or debugging the project by placing break point on 6416
TEB will lead to RESET vector and starts BIOS from BIOS_init. The
problem may appear on any 64xx processor. Simulator works without any
problem.
The problem was observed with
CCS 2.12/CCS 2.20 + TEB6416 + XDS560 + WindowsNT/Windows2000
 
 

Workaround

At present there is communication problem between XDS560 with 64x
processor. There is no workaround except to use XDS510 for debugging on
6416TEB.
 


Title: FAUCR, FMCR & FADCR don't update properly the core register window.
Bug #      ComponentCCS VersionStatus
SDSsq20783 Target Port Interface(TPI) DLL 2.20 Fixed; will release in a future version of CCS

Release Note

The root cause was identified to be a problem in the software.
The header file was in error and needed the following correction.
 
In defines.h;
 
    Change from:
      #define REG_FAUCR  50
      #define REG_FMCR   51
      #define REG_FADCR  52
    To:
      #define REG_FADCR  50
      #define REG_FAUCR  51
      #define REG_FMCR   52
 
 
 


Title: CCS Emulator CPU Serial-Port Display Random non-corresponding values
Bug #      ComponentCCS VersionStatus
SDSsq24330 Target Port Interface(TPI) DLL 2.20 No plans to fix

Release Note

  CCS may display incorrect data when attempting to directly view the
DXR or DRR registers of the McBSP serial port.


Title: Cache register names do not match those documented
Bug #      ComponentCCS VersionStatus
SDSsq28197 Target Port Interface(TPI) DLL 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The register names listed in the registers window for cache registers
do not match those in SPRU 609/610
 


Title: CESEC0B is mapped to wrong address.
Bug #      ComponentCCS VersionStatus
SDSsq28258 Target Port Interface(TPI) DLL 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The External memory interface register 'CESEC0B' is mapped to
0x01a00048 instead of 0x01a80048 which is the correct memory address .
 


Title: Register display list is not correct for 6711 and 6713
Bug #      ComponentCCS VersionStatus
SDSsq28352 Target Port Interface(TPI) DLL 2.20 Fixed; will release in a future version of CCS

Release Note

When viewing registers using the CCS view registers drop down menu the
6711, 6712 and 6713 devices show the correct register list. However,
6711C, 6712C and 6713 devices will show 67xx in the CCS title bar.
6711C and 6712C devices will incorrectly show the 6713 register set
when registers are viewed with CCS.  There are no operational defects
and no problems with 6711C and 6712C devices.  The additional registers
should be ignored.
 


Title: XDSPROBE does not work correctly on heterogeneous systems.
Bug #      ComponentCCS VersionStatus
SDSsq22259 USCIF 2.20 Pending analysis.

Release Note

The problems were related to heterogeneous multiprocessor systems.  The
two identified problems are:
 
1) xdsprobe does not complain when the ccbrd0.dat file does not match
the actual heterogeneous multiprocessor hardware configuration.
 
2)xdsprobe correctly identifies the number of processors in a
heterogeneous multiprocessor system but when it compares the ccbrd0.dat
file to the actual HW configuration, xdsprobe always thinks there is
only a single processor in the system.


Title: Profiler does not behave correctly when a task is created dynamically
Bug #      ComponentCCS VersionStatus
SDSsq31157 none 2.20.03 Fixed; will release in a future version of CCS

Release Note

Profiler on 6416 DSK(si rev 1.1) may not show correct results when
tasks are created dynamically. 6416 Device Simulator works without any
problem.


INSTALLATION 2.20,2.20.03

Title: Users must have administrator privileges to install and use CCS
Bug #      ComponentCCS VersionStatus
SDSsq20817 InstallShield 2.20 No plans to fix

Release Note

CCS can't be installed or used without administrator privileges.
 
 
 
 
 

Workaround

On Windows NT, 2000, and XP administrator privileges are needed to use
CCS or modify the "Texas Instruments" registry keys to allow "full"
control (read and write) capability.
 
 


Title: Error messge indicating problem with jtagdata.dll during installation
Bug #      ComponentCCS VersionStatus
SDSsq28386 InstallShield 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

When installing a full version of CCS 2.2 over top of CCS 2.0 + CCS
2.1
+ XDS560 patch an error appears complaining that it can't find the
jtagdata.dll.

At the end of the installation, cc_setup.exe is executed to place available driver names into the middle pane of CCSetup. During this execution, an error message occurs stating "jtagdata.dll" not found.

Workaround: 1. Once the error occurs, click OK and allow the installation to complete.

2. After a reboot, open CCSetup.

3. Click File -> Import

4. From the Import Configuration dialog box, choose Advanced>>

5. Browse for the file \drivers\import\_init.ccs

6. Click OK

This will place each supported Board/Simulator Type into the middle pane of CCSetup.



Title: Problem using the C6713 after installing the CCS 2.20 upgrade.
Bug #      ComponentCCS VersionStatus
SDSsq29166 Registry 2.20 Fixed; will release in a future version of CCS

Release Note

Updating to CCS 2.20 for the C6000 through the 2.0 to 2.2 flow via
Update Advisor. After installing the CCS 2.20 patch, the driver for the
C6713 did not work properly.
 
When installing the full version of CCS 2.20, this problem is not seen.


Title: CCS 2.0 uninstallation did not clear shortcuts from start -> programs
Bug #      ComponentCCS VersionStatus
SDSsq21021 Uninstall 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

This is a Microsoft Windows refresh issue.  In certain instances,
shortcuts will not be removed properly.


Title: XDS560 unininstall should remove PNF file
Bug #      ComponentCCS VersionStatus
SDSsq23188 Uninstall 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

On Windows 98, the uninstall of the XDS560 software may leave
xds560.pnf in the /windows/inf directory and/or it may leave
xds560.inf
in the /windows/inf/other directory.  These files may be deleted by
hand
if desired.  Leaving the files in place does not impact the integrity
of
the system.
 
 


PLUGINS 2.20,2.20.03

Title: DASM command is unsupported in the Command Window
Bug #      ComponentCCS VersionStatus
SDSsq20774 Command Window 2.20 No plans to fix

Release Note

DASM command is not supporteed in the Command Window


Title: All executables do not have copyright or banner information.
Bug #      ComponentCCS VersionStatus
SDSsq07472 Emulator Analysis 2.20 No plans to fix

Release Note

Certain executables do not contain banner or copyright information.
 


Title: AET job is removed when return then backspace key hit.
Bug #      ComponentCCS VersionStatus
SDSsq22692 Event Analysis 2.20 No plans to fix

Release Note

The following process causes an AET job to be accidentally removed:
 
1. On the line where the AET job is set, hit the return key. This
creates a blank line.
2. Hit backspace twice. The AET job is removed.
 
The only workaround is to resubmit the AET job.


Title: Setting a HW Breakpoint genertes an error message when CCS is closed.
Bug #      ComponentCCS VersionStatus
SDSsq29209 Event Analysis 2.20 Pending analysis.

Release Note

Setting a hardware breakpoint through Tools->Advanced Event Triggering-
>Event Analysis will generate an error dialog when you exit CCS which
does not happen when the beakpoint via right mouse click with no Event
Anlaysis window open.

Workaround

Set the Breakpoint through the right mouse click.


Title: Incorrect BIOS version used by Project Wizard in .cdb file
Bug #      ComponentCCS VersionStatus
SDSsq28625 Project Wizard 2.20 Analyzed; commitment is pending.

Release Note

When creating a project with the Project Wizard plugin, the .cdb file
created by the Project Wizard contain an older BIOS version number.
The resultant project will not build. However, there is a workaround.


PRODUCTIVITY TOOLS 2.20,2.20.03

Title: Client (Excel) emits warning when a Scripting call (run) takes too long
Bug #      ComponentCCS VersionStatus
SDSsq25199 CCS Scripting 2.20 No plans to fix

Release Note

When calling the CCS Scripting tool from Excel Macro, the following
warning message appears:
 
"Microsoft Excel wait end of OLE action execution from an other
application"


Title: FlashBurn gives WRITE ERROR for Motorola-S formats
Bug #      ComponentCCS VersionStatus
SDSsq30742 FlashBurn 2.20 No plans to fix

Release Note

FlashBurn gives the following error when trying to program a Motorola S
Format hex file to C6711 DSK.
 
WRITE ERROR: Attempting to write locations
0x70000000 to 0x70000100
which is outside the logical bounds of Flash Memory:
0 to 0x20000


REFERENCE FRAMEWORKS 2.20,2.20.03

Title: RF 3 executable doesn't automatically run on dsk6211
Bug #      ComponentCCS VersionStatus
SDSsq23999 Ref Framework 3 2.20 Fixed; will release in a future version of CCS

Release Note

RF 3 previously imported a dsk6711.cdb seed which set the DSP Target
Type to C6711. This prevents you from running code on a DSK6211 since
you cant run floating point code on a fixed pt device.
 
RF 3 now imports a dsk6211.cdb seed which sets Target Type to C6211.
This fixed pt code can run on either DSK6211 or DSK6711. User can
still change up to C6711 for full floating pt support if required.
 


Title: Reference Frameworks failed to build with C++ compiler
Bug #      ComponentCCS VersionStatus
SDSsq29946 Ref Framework 3 2.20 Pending analysis.

Release Note

When the C++ compiler is enabled, the RFs build with an error for the
file *cfg_c.c file, saying "error: badly formed pragma". This is
because a the syntax of the CODE_SECTION pragma used in the file for
CSL_cfgInit is incompatible with C++. C++ supports a different syntax
where the pragma has to be directly located before the function it
addresses. The workaround here is to right click on *cfg_c.c in the
Generated Files of the project view, select Files Specific Options and
uncheck "Treat C files as C++ files" under Parser of the Compiler Tab.
 

Workaround

The workaround here is to right click on *cfg_c.c in the Generated
Files of the project view, select Files Specific Options and
uncheck "Treat C files as C++ files" under Parser of the Compiler Tab.


Title: C6000 module and application are ship/compiled with -o2 option
Bug #      ComponentCCS VersionStatus
SDSsq31500 Ref Framework 3 2.20 Pending analysis.

Release Note

All C6000 modules and applications are shipped with optimization turn
on (-o2).  The provided project (*.pjt) don't use -o2 flag.  All
modules and applications can be re-built using the provided project to
remove optimization.
 


Title: ICC_linearDelete hits assertion when linearIccHandle is non-NULL
Bug #      ComponentCCS VersionStatus
SDSsq29633 Ref Framework 5 2.20 Fixed; will release in a future version of CCS

Release Note

ICC_linearDelete caused an assertion when argument is non-NULL. This is
a bug in the source code. The line
 
    UTL_assert(linearIccHandle == NULL);
 
should really be
 
    UTL_assert(linearIccHandle != NULL);
 
This has now been fixed.


Title: RFs using DDK v1.1 must pass version # and interrupt masks as dev params
Bug #      ComponentCCS VersionStatus
SDSsq30938 Ref Framework 5 2.20 Fixed; will release in a future version of CCS

Release Note

All new ddk v1.1 IOM drivers expect version # and interrupt masks
passed in as part of their device parameters structure. Hence when
using the Reference Frameworks, one must make sure that the DEVPARAMS
structure has the correct number of fields to maintain correctness in
the code.

Workaround

There are 2 possible workarounds:
 
1. Pass in NULL as the device params ptr in the udevCodec user-defined
device instance in the cdb file (or in XXXXXXX_udevCodec.tci). This
would ensure that the default (correct) set of parameters gets used by
the driver. This is already being done in RF1.
 
2. Modify the file XXXXXXX_devParams.c (where XXXXXXX is the name of
your target) to reflect the changes in the new param structure, e.g.
for DSK5416:
 
DSK5416_DMA_PCM3002_DevParams DSK5416_DEVPARAMS = {
    DSK5416_DMA_PCM3002_VERSION_1, /* Drivers version uses by
application  (NEW!!!)*/
    DSK5416_DMA_PCM3002_RXDMAID_DEFAULT,  /* Uses DMA channel 4 */
    DSK5416_DMA_PCM3002_TXDMAID_DEFAULT,  /* Uses DMA channel 5 */
    0x1FF,                      /* Control Register 0 on PCM3002
device
*/
    0x1FF,                      /* Control Register 1 on PCM3002
device
*/
    0x0,                        /* Control Register 2 on PCM3002
device
*/
    0x0,                        /* Control Register 3 on PCM3002
device
*/
    DSK5416_DMA_PCM3002_INTR_MASK_DEFAULT, /* Receiver interrupt mask
(NEW!!!)*/
    DSK5416_DMA_PCM3002_INTR_MASK_DEFAULT, /* Transmitter interrupt
mask (NEW!!!)*/
};
 
See the appropriate header file (e.g. dsk5416_dma_pcm3002.h for the
dsk
5416) for the actual structure definition.
 


RTDX 2.20,2.20.03

Title: loading a coff file crashes CCS
Bug #      ComponentCCS VersionStatus
SDSsq29583 Configuration GUI 2.20 Fixed; will release in a future version of CCS

Release Note

loading a COFF file in CCS v2.20 crashes the CCS.


Title: Building C++ client using Visual C++ 6.0 gives error messages
Bug #      ComponentCCS VersionStatus
SDSsq17835 Core Examples 2.20 No plans to fix

Release Note

Using Microsoft Visual C++ 6.0, you might get an error when building a
RTDX host client that claims that the following RTDX constants are
undefined:
 
 * Success
 * Failure
 * Warning
 * ENoDataAvailable
 * EEndOfLogFile
 
This is caused by a bug in the Visual C++ 6.0 compiler, which has been
fixed in Service Pack 3 and above. More details about this problem are
described in the Microsoft Knowledge Base under article Q217755.
 
The Microsoft Knowledge Base is located at the following URL:
http://search.support.microsoft.com/kb/c.asp
 
Link to Q217755
http://support.microsoft.com/support/kb/articles/Q217/7/55.ASP?LN=EN-US
 
Link to Visual Studio Service Pack 3 (required to fix problem)
http://msdn.microsoft.com/vstudio/sp/vs6sp3/default.asp
 
 


Title: RTDX Data Flow never resumed after Reset/Restart/Reload
Bug #      ComponentCCS VersionStatus
SDSsq28141 HS Target Library 2.20 Fixed; will release in a future version of CCS

Release Note

RTDX flowcontrol is not resumed after "Debug/Reset, Restart, Reload",
thus the host client may never recieve any more data from the target.
This is most especially true when using an XDS560 emulator - but is
also possible using XDS510 class emulators (including parallel port).
 
FlowControl is a feature of RTDX is Continuous Mode only, and when the
host requests the target to temporarily suspend sending data to the
host as the host buffers are becoming full.  After the host client has
consumed enough RTDX data from the buffers, the host will then request
the target resume sending target-to-host data.
 
This flowcontrol feature is only applicable to when RTDX is used in
Continuous mode.
 
To work around this issue, the user must exit and re-start
CodeComposer if this occurs, or use Non-Continous mode.
 
(See RTDX online documentation for more info on FlowControl and
Continuous & Non-Continous recording modes.)
 

Workaround

This appears to only happen when using the C6711 DSK, the XDS560
emulator, HSRTDX, and CCS 2.20 beta or when you use the C6711 DSK via
parallel port and CCS 2.12.
 
To workaround this issue, you can use the C6711 DSK, the XDS560, and
CCS 2.20 beta.


Title: RTDX stops if interrupts temporarily disabled for greater than 1 second.
Bug #      ComponentCCS VersionStatus
SDSsq11863 Host-Target Communication 2.20 No plans to fix

Release Note

On the C6000 platform, RTDX data transfer stops if the target
temporarily disables interrupts for longer than 1 second.
 

Workaround

Data flow will resume if the target application is restarted or
reloaded and restarted.
 


Title: COFF Load corrupts received RTDX data in running Multi-Proc System
Bug #      ComponentCCS VersionStatus
SDSsq19411 Host-Target Communication 2.20 Pending analysis.

Release Note

While in a running RTDX MP processor system, a code load onto one of the
non-running DSPs will corrupt the data received from the running DSPs.
Running DSPs (communicating over RTDX) must be stopped before performing
a code load on any of the target in the MP system, otherwise data may be
corrupted.


Title: CCS does not support more than 255 devices
Bug #      ComponentCCS VersionStatus
SDSsq21893 Host-Target Communication 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

RTDX does not support more than 255 processors within a multi-
processor configuration.  Attempts to configure more than 255
processors within Code Composer Setup will result in an RTDX
initialization failure when Code Composer is invoked.
 


Title: LOG window doesn't update for all processors in multi-processor setup
Bug #      ComponentCCS VersionStatus
SDSsq30348 Host-Target Communication 2.20 Pending analysis.

Release Note

There's a problem with JTAG-RTDX and LOG_printf if used in a
multi-processor setup. The LOG window doesn't update for all processors.


Title: RTDX tutorial shipped not working for 6201/6701 EVMs
Bug #      ComponentCCS VersionStatus
SDSsq31932 Target Examples 2.20 Fixed; will release in a future version of CCS

Release Note

RTDX Tutorial examples shipped for CCS 2.20 is not working on 6201EVM

Workaround

Adding a 6201 DSP/BIOS cdb file to the tutorial example works.


Title: Setting a breakpoint in RTDX_Poll ISR will cause RTDX to fail
Bug #      ComponentCCS VersionStatus
SDSsq22204 Target Library 2.20 No plans to fix

Release Note

Setting a breakpoint in the RTDX_Poll ISR can cause RTDX to fail - even
if the breakpoint is then removed.  This means that the RTA plug-ins
will no longer update while the DSP is running.


Title: RTDX_writing never becomes null
Bug #      ComponentCCS VersionStatus
SDSsq30363 Target Library 2.20 Analyzed; commitment is pending.

Release Note

The RTDX_writing does not become NULL and so the control does not come
out of the following while loop in the TSK.
 
while (RTDX_writing != NULL)
TSK_sleep(10);
 
This occurs only after the program is run second time or more. The
first time the target executes fine without any problem.
This occurs at around 200 transfers (RTDX_write).


SIMULATION 2.20,2.20.03

Title: single step is not working on multiple nop
Bug #      ComponentCCS VersionStatus
SDSsq18177 Simulation Features 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

Putting a breakpoint at an instruction next to the multi cycle nop
instruction gives a view that the multi cycle nops are being jumped
over without completion of requisite number of nops. However the
internal functionality will be proper though the view of these steps is
incorrect.


Title: Watch window variable update happens 1 cycle too late on C6000 sims
Bug #      ComponentCCS VersionStatus
SDSsq18874 Simulation Features 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

When using the C6x0x, C6x1x device simulators and C64xx cache
simulators variables are updated one cycle late in the watch window.
 
 
 
 


Title: Memoy map support is not documented in Simulator User Guide
Bug #      ComponentCCS VersionStatus
SDSsq22746 Simulation Features 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The C62xx and C64xx fast simulators do not support Memory Maps.  Thus
user cannot set memory maps using the CCS GUI or GEL.  This is not
documented in the C6000 simulator user guide.


Title: EDMA PARAM dest addr write delayed in C6414 device simulator:
Bug #      ComponentCCS VersionStatus
SDSsq28361 Simulation Features 2.20 No plans to fix

Release Note

Writes to config address space in the simulator may not be reflected in
the memory window after the corresponding instruction(viz, store instr)
execution(and halt) because the simulator halts the system as a whole,
potentially with writes pending to corresponding config memory/register
space. This is not the case in hardware because on a halt,
only the CPU is halted and the system clocks keep ticking, which inturn
update the memory/register with writes, if any. Non Config writes
behave the same both on hardware and simulator since simulator provides
the CPU(user) view for these writes.
 


Title: _spint() ignores rounding settings in FAD CR register on 6713 simulator
Bug #      ComponentCCS VersionStatus
SDSsq28745 Simulation Features 2.20 Fix scheduled to appear in CCS 3.00.

Release Note

The piece of code below does not work on CCS2.2 simulator, although
it works fine on the DSK 6713.
 
 
// CODE //
  Float myFloatValue = -1.2456f;
  Int32 myIntValue;
 
// Setting .L units rounding mode to negative infinity
  FADCR |= 0x06000600;
 
// This should round the value down to -2.
// On the 6713 simulator, the value is rounded up to -1.
  myIntValue = _spint(myFloatValue);
 


Title: VCP may return zeros for some of the configurations in 64x simulator
Bug #      ComponentCCS VersionStatus
SDSsq29558 Simulation Features 2.20 Fixed; will release in a future version of CCS

Release Note

When the VCP is configured with the following configuration it
returns all zeros for computed data and fails decode check
 
Configurations tested
test case       64x Design Simulator    PG 1.1 SI       PG 1.03 SI
CCS simulator
FL=78, Rate = 3, K = 7, HD,Convergent, R = 78, C = 36
Pass            Pass            Fail            Fail
returned all zeros
FL=78, Rate = 3, K = 7, HD,Convergent, R = 336, C = 36
Pass            Pass            Fail            Fail
 
VCP should return
0x9A03FA6F
0xF126E546
0x000000BB
 


Title: Problem Xferring RTDX msgs to host whose size is in non multiple words
Bug #      ComponentCCS VersionStatus
SDSsq30811 Simulation Features 2.20.03 Fixed; will release in a future version of CCS

Release Note

C6xxx Simulators have specific problem in handling of RTDX messages
from DSP to Host whose sizes (in bytes) are  NOT multiples of target
word sizes.
 
C6x has 4 bytes to a word, while handling messages like:
RTDX_write(&output_channel, &bytes_to_send, 3);
Simulator changes the word size from 3 to 4 and sends it to the host.
 
 


Title: TCP cycle count is much different in simulator from that of 6416TEB
Bug #      ComponentCCS VersionStatus
SDSsq32123 Simulation Features 2.20 Analyzed; commitment is pending.

Release Note

TCP module of C6416 Device Simulator is not fully cycle accurate.
Applications that use TCP with smaller frame lengths result in fewer
cycles on the C6416 Device Simulators.
 


Title: C62xx simulators may sometimes generate spurious interrupts
Bug #      ComponentCCS VersionStatus
SDSsq32162 Simulation Features 2.20 Fixed; will release in a future version of CCS

Release Note

C62xx simulators may sometimes generate spurious interrupts, if events
are enabled in simulator analysis plugin.
 
 
 
 


XDAIS 2.20,2.20.03

Title: algFree() example in the docs MUST set memTab[0].base & size attributes
Bug #      ComponentCCS VersionStatus
SDSsq13881 API Reference 2.20 Fixed; will release in a future version of CCS

Release Note

The example code in the algFree() description in SPRU360
is missing the setting of memTab[0].base and memTab[0].size attributes.
 
 


Title: Copy (^C) doesn't work in Algorithm Standard code generator windows
Bug #      ComponentCCS VersionStatus
SDSsq27510 Developer's Kit 2.20 No plans to fix

Release Note

The algorithm standard Code Generator windows(Instance Creation
parameters and Status Creation Parameters) cannot copy(^C) the text.
But ^X works without any problem.
 
---------------------------------------------------------------------
 
The template code generator has been replaced by Component Wizard tool
in the XDAIS Dev Kit v2.5 for CCS v2.1 or later. This component is
available for download from dspvillage.

Workaround

To copy and paste in another window, first cut the text message then
paste it in the windows wherever it's needed.


Title: Template Code Generator expects a space between * and the file name
Bug #      ComponentCCS VersionStatus
SDSsq29906 Developer's Kit 2.20 Fixed; will release in a future version of CCS

Release Note

The template code Generator expects space between * and the function
name in the algorithm method. Otherwise * is treated as a function
name.
        Int * AlgMethod2( Int *pnArg )
generates the correct code. But not the below method
        Int *AlgMethod2( Int *pnArg )

Workaround

Please describe the workaround for this problem.


Title: Options for Algorithm controls are left in background
Bug #      ComponentCCS VersionStatus
SDSsq08289 eXpressDSP Demo 2.20 Analyzed; commitment is pending.

Release Note

The "G.723 Options" window in the Algorithm Standard demo loses focus
and becomes hidden behind the CCS main window when clicking elsewhere
on the CCS window.
 
 
 


Title: CCS's edit menu is grayed out-cannot cut/paste/delete... text using menu
Bug #      ComponentCCS VersionStatus
SDSsq19096 eXpressDSP Demo 2.20 No plans to fix

Release Note

When having selected text in an input field of the Tools -> Algorithm
Standard -> Template Code Generator plugin, CCS' Edit menu is grayed
out even though it should be possible to cut/copy/paste/delete text.
 
-----------------------------------------------------------------
 
This tool is depricated and superceded by Component Wizard for
eXpressDSP from Hyperception in XDAIS Developers Kit v2.5. The bug is
however open in CCS v2.2 - Rajesh