|
|
| Title: Code gen issues error "...COMPILER ERROR: no match for VREG | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02116 | Compiler | V1.10 | Fix appears in version 1.2. |
Bug DescriptionBUG DESCRIPTION =============== The code generator may generate internal error messages: "...COMPILER ERROR: no match for VREG" when generating code for interrupt service routines. | |||
| Title: If command line exceeds 99 chars the compiler may fail. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02683 | Compiler | V1.10 | Fix appears in version 1.2. |
Bug DescriptionBUG DESCRIPTION =============== If the command line (includding both options given on command line plus any specified by C_OPTION) exceeds 99 chars the compiler may fail generating the error message: COMPILER ERROR : PACKET ERROR : 8 Note: This problem occurs on PC only. | |||
| Title: Following code produces compielr error VREG .... | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02857 | Compiler | V1.10 | Fix appears in version unknown. |
| Title: Incorrect code may be gen on an assignment of a PORT var to a loc sym | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02859 | Compiler | V1.10 | Fix scheduled to appear in version 1.16e. |
Bug Description
BUG DESCRIPTION
===============
The compiler may err when generating code for an assignment
from read of a PORT variable, when the target of the assignment
is a local var whose storage space is allocated on the stack,
and whose value is subsequently used in a call to a function.
e.g.
port unsigned int port100;
func()
{ int tmp;
tmp = port100; /* incorrect address may be calculated for
store to tmp */
call(0,tmp);
}
| |||
| Title: Compiler generates incorrect code for 32-bit operands | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03387 | Compiler | V1.10 | Fix appears in version 1.16. |
| Title: Compiler crashes when compiling the attached file | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03399 | Compiler | V1.10 | Fix appears in version unknown. |
| Title: Compiler pushes 32 bit value on stack when L$$SL routine expects 16 bit | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03473 | Compiler | V1.10 | Fix appears in version 1.2. |
Bug Description
BUG DESCRIPTION
===============
The compiler may err in pushing the shift value for a
long shift as a long operand, when calling the run-time
support routine L$$SL to perform a long shift. The L$$SL
routine expects the shift value to be only 16 bits long,
leading to incorrect results. Note that this error may
also occur for umtiplication of longs in which the compiler
optimizes by substituting a shift operation.
e.g.
long a,b,c1;
.
.
a = 32;
b = 0xffff0001;
c = a * b; <== compiler errs here when generating code for this
expression
| |||
| Title: missing prototype in setjmp.h | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03902 | Compiler | V1.20 | Fix appears in version v3.0. |
Bug DescriptionChange the file to include a prototype for the setjmp function. ANSI shows that the prototype should be int setjmp(jmp_buf env); | |||
| Title: Compiler sometimes removes loads which do sign extension as unnecessary. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03938 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: -mb doesn't suppress the single repeat instruction. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03939 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: predefined macros _C_MODE and _FAR_MODE are not, in fact, predefined. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03940 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: 6 NOPS are erroneously emitted after FCALA instructions. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03942 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: linker fails with error when relocating addresses from "far" memory. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03944 | Compiler | V1.20 | Fix appears in version 1.21. |
Bug DescriptionLinker fails with error when relocating addresses from "far" memory: Most of the time, addresses are 16 bits. When using c548 "far" addressing, you get an extra 8 bits, so that addresses are 24 bits. The assembler and linker are not properly relocating addresses that are 24 bits -- It chops off the upper 8 (extra) bits. Check to see if the executable works anyway. It's POSSIBLE that it might (if you don't really need the upper 8 bits in that spot anyway). If not, then the only workaround is not to have relocatable things accessed from different memory banks. This bug will be fixed in the V1.21 tool set. | |||
| Title: The switch statement in far mode: | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03987 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: problem with the following instruction ( MVKD *(Ar1),*AR2+). | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04016 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe compiler may issue certain instructions (MVDK, MVMD, MVDK, MVDM) as repeat-singles. This has the unintentional side effect of incrementing the DAB address register (DAR) after each repetition, which could cause incorrect values to be moved by the instruction. Workarounds include pairing a dummy instruction with the move instruction (so that the move instruction cannot be transformed into a repeat-single), and compiling at low optimization. | |||
| Title: SXM bit is not set prior to using MPYA instruction | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04018 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionSXM must always be set for MPYA instructions, as 17 upper bits of A, which includes one of the guard bits, is used. This means that sign extension must always be performed upon accumulator A. | |||
| Title: Compiler incorrectly performs bitwise AND instead of XOR with -x2 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04052 | Compiler | V1.20 | Fix appears in version 3.10. |
| Title: The compiler does NOT clear BRAF flag prior to jumping out of the RPTB block when implementing conditional break | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04152 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug Description
Problem: the repeat-block registers cannot distinguish 24-bit addresses.
If a repeat-block (RPTB) is exited prematurely, and program control
switches to an address whose lower 16-bits overlap with the lower 16
bits of the repeat-block, the hardware will loop when it should not.
RPTB's are only generated at optimization level 2 or higher.
Compile at -o0 or -o1 to avoid the problem. This problem can occur
only when extended addressing is used; when a repeat block is exited
prematurely (as with a "break" statement); and when the lower 16 bits
of the repeat block and another program address overlap.
Description: Consider the following 2 programs:
testc.c:
int j;
extern int increment(int i);
void main()
{
int i;
for(i=1;i<=100;i++)
{
j = i;
if (i == 30) break;
}
j = increment(j);
asm(" nop");
asm(" nop");
for(;;);
}
testp.asm:
.text
.mmregs
.global _increment
_increment:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
ADD #2,0,A,A
NOP
NOP
FRET
.end
The value of J at the end of executing the above program is going to be 32
(correct value)
This is true only if the .text sections of both test.c and test.asm are on the
same page.
If you specify in your linker command file that the 2 .text sctions are to be
on 2 different pages then link them,
then the value of J is no longer 32. It is going to be a # greater than 32
(wrong value).
The reason for this behaviour is as follows:
The problem comes from the fact that the compiler does NOT clear BRAF flag
prior to jumping out of the RPTB block when implementing conditional break
as shown in testc.c.
When testc.obj and testp.obj are linked in different pages so that the lower
16-bit addresses overlap , we will see phantom loop being executed
within the increment() function just because BRAF was not reset when breaking
out of the loop.
| |||
| Title: Request to add save/restore of additional information during ISR prologue and epilogue. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04159 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionRequest to add, as part of the save/restore prologue and epligoue of an interrupt service routine, instructions that restore the proper C environment when the interrupt is declared with the "interrupt" keyword in C. This will ensure the C environment will be preserved if any assembly functions are interrupted. This will be implemented in the next release of the compiler. Interrupt routines will reset the C enviroment by saving and restoring PMST; saving and restoring ST1; and, for the duration of the C interrupt routine, setting CPL in ST1 and clearing SMUL and SST in PMST. | |||
| Title: The compiler sometimes causes a pipeline confilict. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04175 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionCompiler sometimes generates assembly code with pipeline conflicts. For Example: Instruction which reads memory mapped register immediately follows an instruction which modifies accumulator A or B in a repeat-instruction or a repeat-block loop. | |||
| Title: The SXM bit is not being reset to 0 when the code is generated. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04313 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionWhen an unsigned immediate value is used in a signed instruction, and the immediate is > 0x7fff, the compiler may neglect to reset the SXM bit before the operation. A workaround is to store to, and use the immediate value from, memory. | |||
| Title: compiling with -v548 doesn't tag the object file as a c548 file (although compiling with -mf does). | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04332 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionIf a file compiled/assembled with -v548 is linked with the default rts.lib (or other non-v548 files), and the -v548 file is not the first file given to the linker on the command line, the linker will not flag the output file as a c548 file. This means that the hex converter will not recognize the output file as a c548 file, which could affect processing of the boot table. The workaround is to place the -v548 file first on the command line to the linker, or to compile with -mf -v548 and link with the extended runtime library (rts_ext.lib). | |||
| Title: Sign extension is not preformed properly when using -pk option. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04407 | Compiler | V1.20 | Fix appears in version 1.2.1. |
Bug DescriptionWhen I compiled K&R source with "-pk" option the results were incorrect. So, without "-pk" option, the results were correct. ------------------ This is a duplicate of 3938, which has already been fixed in a supplemental compiler release. | |||
| Title: Incorrect code generated which clears acc guard bits when it shouldn't | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04594 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe argument to the ABS instruction may not always be properly sign-extended, producing an incorrect result. | |||
| Title: Compiler incorrectly divides by power of 2 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04747 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe division of a negative int by a value that is a power of 2 (2,4,8,16...) could generate an incorrect result in some cases. | |||
| Title: ' SXM being set before the ST1 register being saved to the stack.' | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04796 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionSXM bit is being set before the ST1 register is saved to the stack. In certain cases, the 'SSBX SXM' instruction in an interrupt routine may be relocated across settings, savings, or restorings of ST0, ST1, and PMST. | |||
| Title: The year , tm_year, in rts.src will print as 3 digits after year 2000 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04845 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe runtime function strftime could display the year incorrectly for a date past the year 1999. The year field will contain 3 digits such as 101, instead of 01 for the year 2001. This could occur in calls to strftime(). | |||
| Title: Using command line: cl500 -gks -as -mb -x0, AR6 is modified when it shouldn't be. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04909 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe compiler may modify ARx before a fuction call and as a result, store the returned value from the call in an incorrect memory location. | |||
| Title: When using optimizer, compiler does not load accumulator when it should | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04965 | Compiler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe compiler may incorrectly perform a peephole optimization to change DLD Smem, B ADD B,A to ADD Smem,A,A This transformation would be illegal in this example if B is subsequently used, because the load to B would have been removed. | |||
| Title: Inefficient code in SFTA instruction; double sign-extension performed | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04925 | Compiler | V3.10 | Will fix in a future release |
Bug DescriptionWhen a register is shifted right by a constant from 1-8, inefficient code may be generated; the compiler may sign-extend the register before the shift, when the value is already properly sign-extended. | |||
| Title: Nested far calls or interrupts do not work right on the C549 device | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05201 | Compiler | V3.10 | Will fix in a future release |
Bug DescriptionThe FRET[D](E) instructions implement a return from a FCALL[D] (Far Call) /FCALA[D] (Far call Subroutine at Location Specified by Accumulator) instruction or an interrupt using the extended addressing feature on the 54x. On certain devices, the instruction works correctly if returning from only one FCALL[D]/FCALA[D] or interrupt. The bug occurs when more than one FCALL[D]/FCALA[D] or interrupt is used (nested), and the wrong XPC value is returned. If extended addressing or the FRET[D](E) instructions are not being used, there is no impact of this bug. This is a bug in the C54x core and the only production devices affected are the TMS320LC/VC549-80/100-GGU/PGE, all of which use '549-PG 2.1 material. Work-Around: ------------ For FRET[D] - The FRET instruction can be replaced with the code fragment below at the exit of each subroutine. FRET[D] --> | |||
| Title: pipeline conflict issues are generated by the compiler | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05904 | Compiler | V3.10 | Fix scheduled to appear in version 3.20. |
Bug Description
The compiler sometimes generates pipeline conflicts.
For example, the compiler may generate the following assembly code:
STLM A,BK
MVDK *SP(2),*(AR2)
LD *AR2(242),A
The first two instructions shows an example of the conflict of
updating an ARx register and BK register. The STLM A,BK instruction
stores the BK contents at the Execute stage of the pipeline.
The MVDK *SP(2),*(AR2) tries to store in the Read stage of
the pipeline BUT this is delayed automatically by the processor
to avoid updating the BK and AR2 registers at the same time.
Unfortunately, because of this one cycle delay, AR2 is incorrect
for the LD *AR2(242),A instruction.
| |||
| Title: C54x C source interlist - stops writing C source after first routine with -o3 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03937 | C Source Interlist | V1.20 | Fix appears in version 3.10. |
| Title: Assembler creates bad relocation info for 2 word instr on 2048 boundary | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02266 | Linker | V1.10 | Fix scheduled to appear in version 1.16. |
Bug DescriptionBUG DESCRIPTION =============== When a two word instruction with a long constant as the second word of the encoded instruction occurs on a 2048 word boundary the assembler may assign incorrect relocation information for this constant. The incorrect relocation information will cause the linker to fail to properly relocate the constant. The constant will have the value assigned to it by the section program counter (SPC) within the assembler. | |||
| Title: Assembler may not treat signed floating point constant correctly | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02531 | Assembler | V1.10 | Fix appears in version 1.2. |
Bug Description
BUG DESCRIPTION
===============
The assembler does not treat signed floating point constant operations
correctly in all instances.
i.e.
t2 .set -5.0
...
...
t15 .set t2*-1.0 ; incorrectly yields a negative value
| |||
| Title: The assembler generates pass conflict err on labels following .pstring | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02782 | Assembler | V1.10 | Fix appears in version 1.2. |
Bug Description
BUG DESCRIPTION
===============
The assembler .pstring directive does not work correctly, for
strings with less than two chars or that have an odd number of
chars. The correct code is generated but the SPC is not properly
updated. A side-effect of this is that the assembler may generate
an error message and stop assembly when it encouters a label on
the line following the .pstring directive. This is do to bad SPC
value.
e.g.
.pstring 2,3
label .word 1 <===== Assmebler will generate error here
| |||
| Title: The assembler gen erroneous errors for all labels after syntax err | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02816 | Assembler | V1.10 | Fix appears in version 1.2. |
Bug Description
BUG DESCRIPTION
===============
There is a bug in the parser of the assembler for STH instruction
in which it fails to catch incorrect operand combination such
as appears below:
STH A, *AR4+,1
The side effect of this is that the assembler will generate
errors when processing addresses of labels that subsequently
appear in the file.
| |||
| Title: Undefined Symbol in Conversion from C5x to C54x code | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03131 | Assembler | V1.10 | Fix appears in version 1.2. |
| Title: assembler gives DOS/4GW professional error | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03802 | Assembler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThe PC-hosted assemblermay fail with the message DOS 4GW Professional Error. The problem occurs during processing of a .if directive. This will be fixed in the next release of the assembler. Workaround: ----------- Use version 1.16c of the assembler. Download PC patch Download Readme file | |||
| Title: switch case statements generate warning message if 'unsigned int' is used as the parameter. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04460 | Assembler | V1.20 | Will fix in a future release |
Bug DescriptionWhen compiling a switch statement which has a control expression of unsigned int, the compiler may represent the expression in the assembly code as a large negative offset. This could in turn cause the assembler to emit a warning about the offset being out of range. However, the code emitted will run correctly, and the warning may be ignored. | |||
| Title: Assembler results in an error message whenever the code 'ARx += 1' of the following form appears before any label. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04590 | Assembler | V1.20 | Fix appears in version 3.10. |
Bug DescriptionIn algebraic mode, given the following type of instruction ar2 += 1 (MAR) the assembler will calculate a different size for the instruction on each of its two passes. If a label follows the instruction, the assembler will calculate two different addresses for the label, and will emit an error message. | |||
| Title: Assembler erroneously rejects a macro parameter as a "bad expression". | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05113 | Assembler | V1.20 | Will fix in a future release |
Bug DescriptionBUG DESCRIPTION =============== "Assembler erroneously rejects a macro parameter as a "bad expression" when the parameter is an argument to a .loop directive inside of a .if conditional." | |||
| Title: The assembler will report pipeline conflicts regarding the T register where none exist. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04626 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionThe assembler will report pipeline conflicts regarding the T register where none exist. The spurious warnings may be given when MPY*, MAC*, or MAS* instructions are involved. These instruction do not really pose problems for the T register in the pipeline. | |||
| Title: Invoking the assembler on in algebraic mode results in a seg fault. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04627 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionInvoking the assembler in algebraic mode results in a seg fault. | |||
| Title: assembler crashes with invalid page fault when using pipeline detection | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04643 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionThe assembler crashes when using the -pw option, which detects pipeline conflicts, on parallel instructions. | |||
| Title: assembler crashes with invalid page fault | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04645 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug Description
In some instances, assembler crashes with a invalid page fault
error. The problem is caused by the assembler expression evaluator
when two subtract or additions are performed upon a symbol and two
constants when the symbol is not defined.
Example:
.eval foo-70-1, loopcnt
creates an infinite recursion in the assembler.
| |||
| Title: 'Program that assembles correctly under v1.16c gives errors when assembled under V3.10b' | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04704 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionThere is a general problem with expressions contained in assembler directives that causes spurious error messages to be issued by the 3.10 Beta assembler. This problem is fixed in the v3.10 release. | |||
| Title: assembler crashes when trying to redefine mnemonics by creating macros | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04743 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionThe assembler crashes with invalid page fault if you try to redefine mnemonic functionality by creating macros. So if you use a mnemonic as a macro name, then the assembler fails. | |||
| Title: 'asm500 gives "internal error, unrecognized node opcode!" while trying to assemble the code using the -pw option.' | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04745 | Assembler | V3.10 | Fix appears in version 3.10. |
Bug DescriptionIn some instances when code is assembled with -pw switch, the assembler generates "Internal error:unrecognized node opcode!" | |||
| Title: Values for .byte not truncated to 8 bits | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04948 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionThe assembler will not truncate the value when the argument to a .byte directive cannot be contained in 8 bits -- the value will be represented as 16 bits. Similarly, negative values will be represented as 8 bits; i.e., .byte -1 will be represented as FFFF instead of as 00FF. | |||
| Title: Assembler won't catch out-of-range .set arguments | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04955 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionThe assembler will not issue an error given a .set or .equ directive and a constant argument, which is larger than can be represented. | |||
| Title: local label within a false .if block causes errors to be reported | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04961 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionIf a local label appears within a conditional block that evaluates to false (.if 0), the assembler may not correctly locate the end of the block (.endif), and so may report an error. | |||
| Title: Incorrect syntax in rsbx instruction could seg fault | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04986 | Assembler | V3.10 | Will fix in a future release |
Bug Description
An illegally formed RSBX or SSBX instruction could result in a seg fault
in the assembler.
Example:
RSBX 1,DP ; illegally formed instruction
will seg fault.
| |||
| Title: Algebraic assembler doesn'e encode add smem with shift correctly | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04993 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionWhen used in algebraic mode, the assembler will not encode the following instruction correctly: acc = acc + smem << shift Example: A = A + @label1 << -16 is not encoded correctly. | |||
| Title: assembler sometimes generates error for .elseif directive within a macro | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05672 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionThe assembler may sometimes generate errors for .elseif directives within a macro. The workaround is to replace the ".elseif" directive with ".else" and ".if" directives. | |||
| Title: .eval directive incorrectly evaluates an expression on PC | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05785 | Assembler | V3.10 | Fix scheduled to appear in version none. |
Bug DescriptionIt is possible that the .eval directive may incorrectly evaluate an expression on the PC hosted assembler. The problem does not appear on the Unix-hosted products. | |||
| Title: A_DIR variable only uses last directory assigned. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq06011 | Assembler | V3.10 | Will fix in a future release |
Bug DescriptionThe A_DIR environment variable only recognizes the last directory assigned to it. For example, if you set: set A_DIR=c:\dir1;c:\dir2 or setenv A_DIR "/dir1 /dir2" the assembler will only find the files in dir2 when searching for .include files and will not find the files in dir1. A workaround is to use the -i assembler switch to name the directories containing the .include files. | |||
| Title: algebraic assembly code that worked for v1.20 generates error for v3.10 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq06064 | Assembler | V3.10 | Fix scheduled to appear in version 3.20. |
Bug DescriptionAn algebraic assembly command which adds a shifted value to a variable may erroneously generate an error message. The tokens for ">>" and ">>>" have been reversed in the algebraic parser. If ">>" is rejected by the assembler, try using ">>>." | |||
| Title: algebraic assembly code that worked for v1.20 generates error for v3.10 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq06065 | Assembler | V3.10 | Fix scheduled to appear in version 3.20. |
Bug DescriptionIn algebraic mode, the operands of the second instruction of a parallel instruction pair may not be correctly recognized, and may generate an error message. | |||
| Title: -byte option does not give addresses in byte count | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04040 | Hex Converter | V1.20 | Fix appears in version 3.10. |
Bug DescriptionThere is a bug in the V1.20 hex utility. When using -byte option the hex utility should give addresses in byte count rather than word count. | |||
| Title: hex500 gives message "error reading COFF files" | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04976 | Hex Converter | V1.20 | Will fix in a future release |
Bug DescriptionThe hex converter sometimes emits the error message : "Error reading COFF file" when trying to convert specific sections of the COFF file. This problem has not been observed in the 3.10 release. | |||
| Title: The BOOT.ASM routine does not contain code for .const copy as advertised | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02813 | RTS | V1.10 | Fix appears in version 1.2. |
Bug DescriptionBUG DESCRIPTION =============== The RTS C boot routine c_int0, does not contain code for copy of .const section from program to data space as is stated in the C compiler Users Guide (SPRU103A, Sec 4.1.3, pg 4-4). | |||
| Title: The L$$MPY function returns incorrect values for negative inputs | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03086 | RTS | V1.10 | Fix appears in version 1.2. |
Bug DescriptionBUG DESCRIPTION =============== A shift instruction within the l&&MPY instruction does not fully sign extend the result. This may cause incorrect values for the result when a subsequent operation occurs before the result is stored to memory. | |||
| Title: Trig and math functions in rts.lib do not produce correct results. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04307 | RTS | V1.20 | Will fix in a future release |
Bug DescriptionThe trig and exponential math functions have been failing the functionality test: Let 'a' be a floating point variable, initialized to a value. Let 'b' be another variable that gets the value of sin(a). Let 'c' be another variable that gets the value of inverse of sin(b). Then value of 'c' must be equal to value of 'a'. If you write a program incorporating the above steps, then after compiling and linking and running the code, you will not get correct results. All the trig and other math functions are in the rts.lib file. It looks like there are some bugs in this library file. | |||
| Title: Floating point divide operations are not very accurate | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05045 | RTS | V1.20 | Fix scheduled to appear in version 3.13. |
Bug DescriptionBUG DESCRIPTION =============== Floating point divide operations are sometimes not very accurate. Download Readme file Download PC patch Download Solaris patch | |||
| Title: Time and date functions may give erroneous results. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04787 | RTS | V3.10 | Fix appears in version 3.10. |
Bug Description
Due to the 16-bit integer implementation, attempts to use the
time and date functions will sometimes give erroneous results.
Affected functions include but are not necessarily limited to:
gmtime()
localtime()
ctime()
| |||
| Title: documentation has incorrect syntax for .tag directive within .struct | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03819 | Documentation | V1.20 | Fix appears in version spru102c. |
Bug DescriptionThe description of the .tag directive in the TMS320C54x Assembly Language Tools User's Guide needs to be updated to include a comma between the stag and expression parameters: .tag | |||
| Title: Paged direct addressing using @ sign not explained adequately in doc. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04437 | Documentation | V1.20 | Will fix in a future release |
Bug DescriptionSection 5.4.1, "DP-Referenced Addressing", of the TMS320C54x DSP Reference Kit CPU and Peripherals (SPRU131D), should be updated to include a description of the @dma syntax used for DP-referenced direct addressing. | |||
| Title: In the Assembly Language Tools, pg A-7, mempage (bytes 46-47) is Short, not Character. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04461 | Documentation | V1.20 | Fix appears in version spru102c. |
Bug DescriptionTable A-5 of the TMS320C54x Assembly Language Tools User's Guide (SPRU102B), "Section Header Contents for COFF2 Files", contains an incorrect type for bytes 46-47 (memory page number). Bytes 46-47 should be listed as type Short instead of type Character. | |||
| Title: Description of RPTB[D] is not very clear in C54x Mnemonic Instruction Set Guide | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04812 | Documentation | V1.20 | Will fix in a future release |
Bug DescriptionThe TMS320C54x Mnemonic Instruction Set User's Guide (SPRU172A) is not very clear in the description of RPTB[D] instruction. The documentation says : "This instruction repeats a block of instructions the number of times specified by the memory-mapped block-repeat counter (BRC). BRC must be loaded before the execution of this instruction." However, when code is run in processor and n is loaded to BRC before RPTB[D] command, the block is repeated n+1 times. This bug has been forwarded to Technical Documentation Services so that the appropriate writer can be assigned to fix it. | |||
| Title: Predefined macros listed in SPRU103B are incorrect. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04711 | Documentation | V3.10 | Fix appears in version spru103c. |
Bug DescriptionThe predefined macro names: _TMS320C5xx C_MODE .FAR_MODE as shown on page 2-30 of the TMS320C54x Optimizing C Compiler User's Guide SPRU103B are incorrect. The macro names actually are: _TMS320C5XX _C_MODE _FAR_MODE | |||
| Title: The example in Pg C-17 of the "Assembly Language Tools' UG is not clear | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05529 | Documentation | V3.10 | Will fix in a future release |
Bug DescriptionThe example for the C54x hex conversion utility in the TMS320C54x Assembly Language Tools User's Guide (SPRU102C), pages C17-C23, does not state what options are used to compile the example. This is the example for generating a boot table for LP Core Devices. If the example is compiled without the -v548 option, the hex file produced does not look like the one on page C-23. However, if it is compiled with -v548, the hex file produced looks a lot more like what is documented. The manual should to more specify on what options are used to compile the example. | |||
| Title: Debugger gives processor access timeout error when running on PC with a Pentium Pro 200+ MHz. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04069 | Debugger | V1.70 | Fix scheduled to appear in version 1.70b. |
Bug DescriptionDownload PC patch | |||
| Title: Root permission is required to run the debugger under SOLARIS | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04122 | Debugger | V1.70 | Will fix in a future release |
Bug DescriptionThe v1.70 debugger needs to be owned by root for it to run successfully under SOLARIS. Download Solaris patch | |||
| Title: ESC key does not halt the program execution, as you could do in the previous versions of the debugger. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04333 | Debugger | V1.70 | Fix scheduled to appear in version 3.10. |
Bug DescriptionThis is a problem filed against the beta version of 3.1 emulator debugger. This record should not appear on the external web. | |||
| Title: runb automatically enables analysis and all set breakpoints become active | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04362 | Debugger | V1.70 | Will fix in a future release |
Bug DescriptionThe RUNB (run benchmark) command automatically enables analysis. The problem with this is that any analysis break points that have been set become active and the CPU will halt if a hardware breakpoint | |||
| Title: (Version 1.70b)When the XPC value is changed to change ext. addr. pages, the debugger doesn't switch between pages properly all the | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04529 | Debugger | V1.70 | Will fix in a future release |
Bug DescriptionWhen a program accesses extended addressing (i.e. the writa or reada instructions), the XPC value is changed temporarily to execute the instruction. However, the debugger automatically changes the disassembly and memory windows to display the contents corresponding to the extened addressing address based on the XPC register. Currently, the debugger cannot distinguish between when the user is stepping into extended addressing space (and needs to update the displays accordingly) or just make a reference to it. | |||
| Title: Memory reads from the debugger fails stating at 0xc000 in data space. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04603 | Debugger | V1.70 | Fix scheduled to appear in version 1.72. |
Bug DescriptionMemory reads from external data space on devices with the cLEAD core fails every eighth value read stating at 0x0c000. Download PC patch Download SPARC patch | |||
| Title: Disassembly window needs to be able to differentiate between stepping into extended addressing program space and just accessing ext | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04483 | Debugger | V3.10 | Fix scheduled to appear in version none. |
Bug DescriptionThe disassembly window needs to be able to differentiate between stepping into extended addressing program space and just accessing extended addressing program space (with the READA or WRITA instruction). When executing a READA or WRITA instruction, the debugger changes the XPC value to the extended address page. This causes the disassembly window to display the contents of program space corresponding to the XPC value referenced in the READA or WRITA instruction. However, the program gets executed correctly even though it looks like you are stepping through different code. NOTE: This bug will not be fixed until Code Composer is used as the 54x debugger. | |||
| Title: memory window does not get updated when XPC is changed in the CPU window | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04915 | Debugger | V3.10 | Will fix in a future release |
Bug DescriptionThe memory window does not always get updated when the memory contents change, for example, when the XPC is changed in the CPU window. | |||
| Title: Emulator usually displays one less clock cycle than acually occurred | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04368 | Emulator | V1.70 | Will fix in a future release |
Bug DescriptionThe cycle count is incorrect when running benchmarks using the RUNB instruction. Depending on what instuction the breakpoint is set on, the cycle count can be off by as much as several cycles. | |||
| Title: When scrolling memory window, two access reads to each memory location is done. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04383 | Emulator | V1.70 | Will fix in a future release |
Bug DescriptionIf you set the display window to I/O memory and scroll the memory window up and down to update the memory display, two access reads for each of the memory locations is performed. | |||
| Title: Version 3.10 - Proper Windows NT support on the cLEAD 549B device | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04726 | Emulator | V3.10 | Fix scheduled to appear in version 3.11. |
Bug DescriptionProper Windows NT support on the cLEAD 549B device. Download PC patch Download SPARC patch | |||
| Title: Version 3.10 - Branches aren't performed correctly when extended memory window is displayed. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04727 | Emulator | V3.10 | Fix scheduled to appear in version 3.11. |
Bug DescriptionBranches aren't being performed correctly when stepping thru code when extended memory window is displayed. Download PC patch Download SPARC patch | |||
| Title: fractional mode is effected by manually changing the PC or changing ST1 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04974 | Emulator | V3.10 | Will fix in a future release |
Bug DescriptionFractional mode does not consistently give the same results in the emulator. It is sometimes ignored even when the fractional mode bit in ST1 is set. The problem occurs when the PC is manually changed or when any modification of ST1 is done ( rsbx, ssbx, stm). | |||
| Title: Changing location in default mem window, second mem window is changed. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05029 | Emulator | V3.10 | Will fix in a future release |
Bug DescriptionBUG DESCRIPTION =============== When a memory window is opened, and then you open another memory window, if you change the displayed location in the first window, the second window is updated. SOLUTION ======== This is a GUI bug. No more GUI bugs will be fixed in the TI debugger. The customer must wait for Code Composer to be released. | |||
| Title: When opening mult mem windows, all windows display memory as the label. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05030 | Emulator | V3.10 | Will fix in a future release |
Bug DescriptionWhen multiple memory windows are opened, there are no labels identify ing the sucessive memory windows. This is a GUI bug that will be fixed in the Code Composer Studio release. | |||
| Title: Changing the value of ARP causes memory to be displayed incorrectly | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05212 | Emulator | V3.10 | Fix scheduled to appear in version 0.89. |
Bug DescriptionChanging the value of ARP causes all memory windows and memory mapped registers to be displayed incorrectly. | |||
| Title: Values the ST0 and ST1 registers aren't changed on the CPU | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05213 | Emulator | V3.10 | Will fix in a future release |
Bug DescriptionIf the user changes the values of the ST0 or ST1 registers the values are changed in the GUI but the registers in the CPU are not changed. Then, when a user does something that causes the debugger to update the GUI (load a program, step, etc..) the original values of ST0 and ST1 are read from the CPU and displayed in the GUI. This action causes the ST0 and ST1 registers to appear to change. This only happens if the user changes the ST0 or ST1 registers before doing anything else in the debugger after start up. | |||
| Title: C548 sometimes hangs when using some versions of Windows 95 Japan. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq05264 | Emulator | V3.10 | Will fix in a future release |
Bug DescriptionC548 sometimes hangs when using some versions of Windows 95 Japan. Workaround is to use the Win 95 (U.S. version). | |||
| Title: The simulator doesnt always display the first argument passed in a func | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq02685 | C5xx Simulator | V2.00 | Fix appears in version 3.10. |
Bug Description
BUG DESCRIPTION
===============
The simulator does not recognize the first parameter in a
function definition. It is not possible to set a "wa", "?",
or "e" on this parameter.
i.e.
int func(first, second, third) {
...
...
}
The simulator will not recognize the symbol "first" when within
the function.
| |||
| Title: sim54x 2.25 pipeline latency detection bugs | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03832 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug DescriptionWhen the -l option is used, sim54x version 2.25 is complains about some pipeline latency problems that don't appear to exist, according the TMS320C54x DSP Mnemonic Instruction Set documentation (SPRU172) and the TMS320C54x DSP Mnemonic CPU and Peripherals documentation (SPRU131C) . bug_1 Page 4-73 of TMS320C54x DSP Mnemonic Instruction Set (SPRU172) ... "This instruction is not affected by the value of SXM." bug_2 Page 7-85 of TMS320C54x DSP CPU and Peripherals ... "No latency is required since the next instruction uses a long offset modifier.\" bug_3 Page 4-158 of TMS320C54x DSP Mnemonic Instruction Set (SPRU172) "Status Bits Affects C" as opposed to SFTA which states on 4-155 "Affected by SXM and OVM" | |||
| Title: If program sets IMR value, new value is not displayed in register disply | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03970 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug DescriptionValues loaded into the IMR register (address 0) are not displayed by the simulator in the CPU register window. However, the value is loaded and can be viewed via a memory window at address 0) | |||
| Title: Analysis breakpoint is not functioning | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03984 | C5xx Simulator | V2.20 | Fix appears in version 3.10. |
Bug DescriptionThe simulator analysis breakpoint is not functioning properly. | |||
| Title: sim displays incorrect value when using SST bit (vers. 2.15, 2.20, & 2.25) | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq03995 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug Description
to use the Saturation on Store(SST:PMST bit0) which allows
only LP devices('545LP,'546LP and '548). The simulator ver2.15
suports LP devices, I believe, but it seems not to operate
correctly. Below is codes which let him think so.
ORM #0003h, PMST
SSBX SXM
SSBX OVM
NOP
LD #08000h, 16, a
STH A, 1, *( 2000h )
If SST bit was set, the contents of 2000h must be 8000h according
to UG, but it was 7FFFh. And when I also tried ver2.20, the same
result was got. When I tried to operate the same program using a
XDS510, it worked correctly(the contents of 2000h was 8000h).
This means the device is OK. I guess this would be simulator bug.
| |||
| Title: MVMD mishandled by simulator v. 2.15 on Sun only (PC version is fine) | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04100 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug DescriptionIn version 2.15 of the Sun c54x simulator, the MVMD instruction incorrectly clears a data memory location. This bug is not encountered in the PC version of the simulator. | |||
| Title: The simulator will not write to an output file if the execution cycles are less than 7400. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04226 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug Description
The occurrences of the simulator not writting to the output file
depend upon the number of execution cycles.
For example, an output file was connected to I/O port like this
ma 0x0,2,1,oport
mc 0x0,2,1,out.dat,w
When executing "step 10000" + "quit", data is saved in theoutput file.
But when executing "step 5000" + "quit", the data is not saved.
The workaround for this is to try disconnecting the I/O port by
using the "mi" command before quiting the simulator.
| |||
| Title: cannot write to program memory location 0x0 | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04263 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug DescriptionSimulator does not allow writing to program memory location 0x0. If the program is linked to 0x0, and you try to set a breakpoint at the first instruction, it returns a target error. The simulator's disassembly window also shows the first instruction linked at address 0x0 to always be "ADD 0h,A". | |||
| Title: The cycle count is incorrect when using MAC instructions. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04275 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionThe cycle count is incorrect on the simulator when using the MAC instruction. For Example: The instruction MAC [R] Xmem, Ymem, src[, dst] should only take 1 cycle. When the instruction is executed on the simulator, it takes 2 cycles. | |||
| Title: When running benchmarks with the 'runb' command, results not always correct | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04367 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionWhen counting cycles in a benchmark, the number of cycles displayed by '? clk' may be incorrect when using the 'runb' command. | |||
| Title: The simulator display is in big endian rather than little endian | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04404 | C5xx Simulator | V2.20 | Fix appears in version v3.1. |
Bug DescriptionIn the simulator, sometimes when structures are displayed, data are displayed in big endian rather than little endian. | |||
| Title: Simulator displays MMR PDWSR,IOWSR not SWWSR,BSCR in the diassembly wind | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04414 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionThe simulator displays the memory mapped registers: PDWSR and IOWSR in the disassembly window, when the correct registers are: SWWSR and BSCR Note that the opcodes are correct, it is only the contents of the disassembled instruction that is incorrect. | |||
| Title: Pin names used by simulator pinc and pinl commands are incorrect | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04417 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionThe pin name used/accepted by the pinc and pinl simulator commands are different from the physical names for the pins. For example: physical name simulator name ------------- -------------- FSX0 FSX TFSR/TADD TFSR TFSX/TFRM TFSX HPIENA HPI FSR0 FSR | |||
| Title: In algebraic mode, sim displays "IF (TC) CALL", not "IF (TC) CALLD" | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04418 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionWhen using the algebraic mode, the simulator will display IF (TC) CALL label instead of IF (TC) CALLD label Note that the instruction is executed correctly and the only error is in the display. | |||
| Title: The Load command does not perform a load at the HPI buffer physical address, but at the BSPO physical address. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04509 | C5xx Simulator | V2.20 | Fix appears in version 3.1. |
Bug DescriptionThe load command does not perform a load at the HPI buffer physical address, rather it performs a load at the BSPO physical address. | |||
| Title: Problems with the HPIC register. Sometimes what the "Host" has written can be displayed. | |||
| Bug # | Tool | Version | Fixed? |
|---|---|---|---|
| SDSsq04512 | C5xx Simulator | V2.20 | Will fix in a future release |
Bug DescriptionThe HPIC Register should be read as a xxxxxx0x0 value (2 bits are always read as "0" by the C54x). Sometimes what the "Host" has written can be displayed as well. | |||
| Device: TMS320C54x
Category: TI Tools |
Title: C54x Tool
Bug List
Source: TI SDS Autogen Errata List GenId: c54bug |