Other Parts Discussed in Thread: TMS320F2810
HI,
I'm working with code composer studio 5.3.0.00090, Compiler TI6.1.0, and working with target TMS320F2810. When building and loading the software the debugger does not stop at main and remains in an infinite loop within the boot28.inc. Within the DSP281x_CodeStartBranch.asm the watchdog timer is being disabled. I also tried to limit the number of global variables that are found in the .cinit section and even tried the initializing of all global variables. When I change the build configuration to Release I'm able to get to the main function but can't debug the code. Some items after begin in Release and going back to Debug in the build configuration I'm able to hit main but if I change any line of code I start missing the hitting main again. What could be the source of this problem?
When debugging I have come across several if statements were the condition is not met but the code is entering the if statement. Here are a few examples:
structA.length is Uint32 (unsigned long) structB.MaxLength is Uint16 (unsigned short)
if((Uint16)structA.length == structB.MaxLength){
do something;
do something else;
}
where structA.length = 2 and structB.MaxLength = 5 and both do something statements are being executed when they souldn't.
example2
typedef
enum
{
FALSE = 0,
TRUE = 1
}boolean;
boolean functA(void)
if(functA() == FALSE)
{
Do something;
}
I've read that some people have come across this and that there is a discrepency between the debugger and the assemblt code but what happens when the statements within the if block are executed when they shouldn't be.
Thanks