Dear All,
I hope someone can help me on this issue. I'am new on this
subject of DSP's, and my program run for a while and then
stops showing "halted s/w breakpoint". It is strange since
i don't have any breakpoint's on my program.
My program is build in Debug (the result are the same for
Release), without any options of optimization.
My program halts in the following location:
0x00000460 and the disassembly window shows the following:
00000400 EAC8A260 .word 0xeac8a260
00000404 3B66BCF4 [!B0] STW.D2T1 A22,*B25--[B21]
00000408 0B78125A SADD.L2X 0,A30,B22
0000040C 09A2A1F1 DOTPNRSU2.M1 A21,A8,A19
00000410 CA81FC91 || [ A0] B.S1 0xFFD413E4
00000414 95EEEC30 || [!A1] SADD2.S1 A23,A27,A11
00000418 4542F463 [ B1] SUB2.S2X B23,A16,B10
0000041C 11278524 .word 0x11278524
00000420 29A3D5BA .word 0x29a3d5ba
00000424 2F143054 [ B0] STH.D1T1 A30,*--A5[0x1]
00000428 3DC50E7A .word 0x3dc50e7a
0000042C 93216C1E [!A1] LDBU.D2T2 *+DP[0x216C],B6
00000430 1E5D6F14 .word 0x1e5d6f14
00000434 9D73D4D4 [!A1] STH.D2T1
A26,*B28--[0x1E]
00000438 3B993E98 .word 0x3b993e98
0000043C 6952A40F [ B2] LDHU.D2T2
*+DP[0x52A4],B18
00000440 C6A0ABC9 || [ A0] CLR.S1 A8,5,11,A13
00000444 877B2CF5 .word 0x877b2cf5
00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
0000044C 6DE9FADB || [ B2] CMPLT.L2X 15,A26,B27
00000450 0B6F8D0B || EXTU.S2 B27,28,13,B22
00000454 9F1ADFA0 .word 0x9f1adfa0
00000458 C9CB5BB5 [ A0] LDNW.D2T1 *++B18[B26],A19
0000045C 4A7CF542 .word 0x4a7cf542
00000460 139FAC5F .word 0x139fac5f
The strange thing is that we are placing all sections in
SDRAM, so which instruction trigger this error?.
The memory map file shows the following mapping around
this address:
00000400 HST_DSMMEMSIZE
00000400 TSK_STACKSIZE
00000400 LOG_system$size
00000408 RTDX_BUFMEMSIZE
00000490 GBL_A_VERSION
I don't know how i can detect this problem, which are the
procedures to solve it, which is the instruction that
triggers this breakpoint??
Does anyone have any ideia about what is the source of the
problem, or what the proceure to detect it? Is there any
document giving some help on tis issue?
Thanks in advance,
A.Silva
Problem running program on DM642
Started by ●June 22, 2007
Reply by ●June 22, 20072007-06-22
A.Silva,
--- Antio Richard Abreu da Silva
wrote:
> Dear All,
>
> I hope someone can help me on this issue. I'am new
> on this
> subject of DSP's, and my program run for a while and
> then
> stops showing "halted s/w breakpoint". It is strange
> since
> i don't have any breakpoint's on my program.
> My program is build in Debug (the result are the
> same for
> Release), without any options of optimization.
>
> My program halts in the following location:
>
> 0x00000460 and the disassembly window shows the
> following:
It halted at 0x460 because there is a sw breakpoint at
that location. From the look of the code, you are
executing data [or garbage].
>
> 00000400 EAC8A260 .word
> 0xeac8a260
> 00000404 3B66BCF4 [!B0] STW.D2T1
> A22,*B25--[B21]
> 00000408 0B78125A SADD.L2X 0,A30,B22
> 0000040C 09A2A1F1 DOTPNRSU2.M1
> A21,A8,A19
> 00000410 CA81FC91 || [ A0] B.S1
> 0xFFD413E4
> 00000414 95EEEC30 || [!A1] SADD2.S1
> A23,A27,A11
> 00000418 4542F463 [ B1] SUB2.S2X
> B23,A16,B10
> 0000041C 11278524 .word
> 0x11278524
> 00000420 29A3D5BA .word
> 0x29a3d5ba
> 00000424 2F143054 [ B0] STH.D1T1
> A30,*--A5[0x1]
> 00000428 3DC50E7A .word
> 0x3dc50e7a
> 0000042C 93216C1E [!A1] LDBU.D2T2
> *+DP[0x216C],B6
> 00000430 1E5D6F14 .word
> 0x1e5d6f14
> 00000434 9D73D4D4 [!A1] STH.D2T1
> A26,*B28--[0x1E]
> 00000438 3B993E98 .word
> 0x3b993e98
> 0000043C 6952A40F [ B2] LDHU.D2T2
> *+DP[0x52A4],B18
> 00000440 C6A0ABC9 || [ A0] CLR.S1
> A8,5,11,A13
> 00000444 877B2CF5 .word
> 0x877b2cf5
> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> 15,A26,B27
> 00000450 0B6F8D0B || EXTU.S2
> B27,28,13,B22
> 00000454 9F1ADFA0 .word
> 0x9f1adfa0
> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> *++B18[B26],A19
> 0000045C 4A7CF542 .word
> 0x4a7cf542
> 00000460 139FAC5F .word
> 0x139fac5f
>
> The strange thing is that we are placing all
> sections in
> SDRAM, so which instruction trigger this error?.
> The memory map file shows the following mapping
> around
> this address:
>
> 00000400 HST_DSMMEMSIZE
> 00000400 TSK_STACKSIZE
> 00000400 LOG_system$size
> 00000408 RTDX_BUFMEMSIZE
These are all sizes - they are not memory addresses.
> 00000490 GBL_A_VERSION
>
> I don't know how i can detect this problem, which
> are the
> procedures to solve it, which is the instruction
> that
> triggers this breakpoint??
>
> Does anyone have any ideia about what is the source
> of the
> problem, or what the proceure to detect it?
Q1. Is your code C??
Q2. Has it ever worked??
Q3. Do you have any similar but working code??
Q4. Are you using function pointers??
Q5. Do you have a clue as to how far you got in the
execution of your program??
If not, I suggest setting some breakpoints at main an
beyond to try to see how far you get. Or you could
run to main and single step.
> Is there
> any
> document giving some help on tis issue?
>
> Thanks in advance,
>
> A.Silva
>
--- Antio Richard Abreu da Silva
wrote:
> Dear All,
>
> I hope someone can help me on this issue. I'am new
> on this
> subject of DSP's, and my program run for a while and
> then
> stops showing "halted s/w breakpoint". It is strange
> since
> i don't have any breakpoint's on my program.
> My program is build in Debug (the result are the
> same for
> Release), without any options of optimization.
>
> My program halts in the following location:
>
> 0x00000460 and the disassembly window shows the
> following:
It halted at 0x460 because there is a sw breakpoint at
that location. From the look of the code, you are
executing data [or garbage].
>
> 00000400 EAC8A260 .word
> 0xeac8a260
> 00000404 3B66BCF4 [!B0] STW.D2T1
> A22,*B25--[B21]
> 00000408 0B78125A SADD.L2X 0,A30,B22
> 0000040C 09A2A1F1 DOTPNRSU2.M1
> A21,A8,A19
> 00000410 CA81FC91 || [ A0] B.S1
> 0xFFD413E4
> 00000414 95EEEC30 || [!A1] SADD2.S1
> A23,A27,A11
> 00000418 4542F463 [ B1] SUB2.S2X
> B23,A16,B10
> 0000041C 11278524 .word
> 0x11278524
> 00000420 29A3D5BA .word
> 0x29a3d5ba
> 00000424 2F143054 [ B0] STH.D1T1
> A30,*--A5[0x1]
> 00000428 3DC50E7A .word
> 0x3dc50e7a
> 0000042C 93216C1E [!A1] LDBU.D2T2
> *+DP[0x216C],B6
> 00000430 1E5D6F14 .word
> 0x1e5d6f14
> 00000434 9D73D4D4 [!A1] STH.D2T1
> A26,*B28--[0x1E]
> 00000438 3B993E98 .word
> 0x3b993e98
> 0000043C 6952A40F [ B2] LDHU.D2T2
> *+DP[0x52A4],B18
> 00000440 C6A0ABC9 || [ A0] CLR.S1
> A8,5,11,A13
> 00000444 877B2CF5 .word
> 0x877b2cf5
> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> 15,A26,B27
> 00000450 0B6F8D0B || EXTU.S2
> B27,28,13,B22
> 00000454 9F1ADFA0 .word
> 0x9f1adfa0
> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> *++B18[B26],A19
> 0000045C 4A7CF542 .word
> 0x4a7cf542
> 00000460 139FAC5F .word
> 0x139fac5f
>
> The strange thing is that we are placing all
> sections in
> SDRAM, so which instruction trigger this error?.
> The memory map file shows the following mapping
> around
> this address:
>
> 00000400 HST_DSMMEMSIZE
> 00000400 TSK_STACKSIZE
> 00000400 LOG_system$size
> 00000408 RTDX_BUFMEMSIZE
These are all sizes - they are not memory addresses.
> 00000490 GBL_A_VERSION
>
> I don't know how i can detect this problem, which
> are the
> procedures to solve it, which is the instruction
> that
> triggers this breakpoint??
>
> Does anyone have any ideia about what is the source
> of the
> problem, or what the proceure to detect it?
Q1. Is your code C??
Q2. Has it ever worked??
Q3. Do you have any similar but working code??
Q4. Are you using function pointers??
Q5. Do you have a clue as to how far you got in the
execution of your program??
If not, I suggest setting some breakpoints at main an
beyond to try to see how far you get. Or you could
run to main and single step.
> Is there
> any
> document giving some help on tis issue?
>
> Thanks in advance,
>
> A.Silva
>
Reply by ●June 23, 20072007-06-23
Antonio,
I suspect there is a problem with the source code.
Could you post the source here, such that we can take a good look at it?
R. Williams
---------- Original Message -----------
From: "Antio Richard Abreu da Silva"
To: c...
Sent: Fri, 22 Jun 2007 19:20:38 +0100
Subject: [c6x] Problem running program on DM642
> Dear All,
>
> I hope someone can help me on this issue. I'am new on this
> subject of DSP's, and my program run for a while and then
> stops showing "halted s/w breakpoint". It is strange since
> i don't have any breakpoint's on my program.
> My program is build in Debug (the result are the same for
> Release), without any options of optimization.
>
> My program halts in the following location:
>
> 0x00000460 and the disassembly window shows the following:
>
> 00000400 EAC8A260 .word 0xeac8a260
> 00000404 3B66BCF4 [!B0] STW.D2T1 A22,*B25--[B21]
> 00000408 0B78125A SADD.L2X 0,A30,B22
> 0000040C 09A2A1F1 DOTPNRSU2.M1 A21,A8,A19
> 00000410 CA81FC91 || [ A0] B.S1 0xFFD413E4
> 00000414 95EEEC30 || [!A1] SADD2.S1 A23,A27,A11
> 00000418 4542F463 [ B1] SUB2.S2X B23,A16,B10
> 0000041C 11278524 .word 0x11278524
> 00000420 29A3D5BA .word 0x29a3d5ba
> 00000424 2F143054 [ B0] STH.D1T1 A30,*--A5[0x1]
> 00000428 3DC50E7A .word 0x3dc50e7a
> 0000042C 93216C1E [!A1] LDBU.D2T2 *+DP[0x216C],B6
> 00000430 1E5D6F14 .word 0x1e5d6f14
> 00000434 9D73D4D4 [!A1] STH.D2T1
> A26,*B28--[0x1E]
> 00000438 3B993E98 .word 0x3b993e98
> 0000043C 6952A40F [ B2] LDHU.D2T2
> *+DP[0x52A4],B18
> 00000440 C6A0ABC9 || [ A0] CLR.S1 A8,5,11,A13
> 00000444 877B2CF5 .word 0x877b2cf5
> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> 0000044C 6DE9FADB || [ B2] CMPLT.L2X 15,A26,B27
> 00000450 0B6F8D0B || EXTU.S2 B27,28,13,B22
> 00000454 9F1ADFA0 .word 0x9f1adfa0
> 00000458 C9CB5BB5 [ A0] LDNW.D2T1 *++B18[B26],A19
> 0000045C 4A7CF542 .word 0x4a7cf542
> 00000460 139FAC5F .word 0x139fac5f
>
> The strange thing is that we are placing all sections in
> SDRAM, so which instruction trigger this error?.
> The memory map file shows the following mapping around
> this address:
>
> 00000400 HST_DSMMEMSIZE
> 00000400 TSK_STACKSIZE
> 00000400 LOG_system$size
> 00000408 RTDX_BUFMEMSIZE
> 00000490 GBL_A_VERSION
>
> I don't know how i can detect this problem, which are the
> procedures to solve it, which is the instruction that
> triggers this breakpoint??
>
> Does anyone have any ideia about what is the source of the
> problem, or what the proceure to detect it? Is there any
> document giving some help on tis issue?
>
> Thanks in advance,
>
> A.Silva
------- End of Original Message -------
I suspect there is a problem with the source code.
Could you post the source here, such that we can take a good look at it?
R. Williams
---------- Original Message -----------
From: "Antio Richard Abreu da Silva"
To: c...
Sent: Fri, 22 Jun 2007 19:20:38 +0100
Subject: [c6x] Problem running program on DM642
> Dear All,
>
> I hope someone can help me on this issue. I'am new on this
> subject of DSP's, and my program run for a while and then
> stops showing "halted s/w breakpoint". It is strange since
> i don't have any breakpoint's on my program.
> My program is build in Debug (the result are the same for
> Release), without any options of optimization.
>
> My program halts in the following location:
>
> 0x00000460 and the disassembly window shows the following:
>
> 00000400 EAC8A260 .word 0xeac8a260
> 00000404 3B66BCF4 [!B0] STW.D2T1 A22,*B25--[B21]
> 00000408 0B78125A SADD.L2X 0,A30,B22
> 0000040C 09A2A1F1 DOTPNRSU2.M1 A21,A8,A19
> 00000410 CA81FC91 || [ A0] B.S1 0xFFD413E4
> 00000414 95EEEC30 || [!A1] SADD2.S1 A23,A27,A11
> 00000418 4542F463 [ B1] SUB2.S2X B23,A16,B10
> 0000041C 11278524 .word 0x11278524
> 00000420 29A3D5BA .word 0x29a3d5ba
> 00000424 2F143054 [ B0] STH.D1T1 A30,*--A5[0x1]
> 00000428 3DC50E7A .word 0x3dc50e7a
> 0000042C 93216C1E [!A1] LDBU.D2T2 *+DP[0x216C],B6
> 00000430 1E5D6F14 .word 0x1e5d6f14
> 00000434 9D73D4D4 [!A1] STH.D2T1
> A26,*B28--[0x1E]
> 00000438 3B993E98 .word 0x3b993e98
> 0000043C 6952A40F [ B2] LDHU.D2T2
> *+DP[0x52A4],B18
> 00000440 C6A0ABC9 || [ A0] CLR.S1 A8,5,11,A13
> 00000444 877B2CF5 .word 0x877b2cf5
> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> 0000044C 6DE9FADB || [ B2] CMPLT.L2X 15,A26,B27
> 00000450 0B6F8D0B || EXTU.S2 B27,28,13,B22
> 00000454 9F1ADFA0 .word 0x9f1adfa0
> 00000458 C9CB5BB5 [ A0] LDNW.D2T1 *++B18[B26],A19
> 0000045C 4A7CF542 .word 0x4a7cf542
> 00000460 139FAC5F .word 0x139fac5f
>
> The strange thing is that we are placing all sections in
> SDRAM, so which instruction trigger this error?.
> The memory map file shows the following mapping around
> this address:
>
> 00000400 HST_DSMMEMSIZE
> 00000400 TSK_STACKSIZE
> 00000400 LOG_system$size
> 00000408 RTDX_BUFMEMSIZE
> 00000490 GBL_A_VERSION
>
> I don't know how i can detect this problem, which are the
> procedures to solve it, which is the instruction that
> triggers this breakpoint??
>
> Does anyone have any ideia about what is the source of the
> problem, or what the proceure to detect it? Is there any
> document giving some help on tis issue?
>
> Thanks in advance,
>
> A.Silva
------- End of Original Message -------
Reply by ●June 25, 20072007-06-25
On Fri, 22 Jun 2007 14:56:04 -0700 (PDT)
Mike Dunn wrote:
> A.Silva,
>
> --- Antio Richard Abreu da Silva
> wrote:
>
>> Dear All,
>>
>> I hope someone can help me on this issue. I'am new
>> on this
>> subject of DSP's, and my program run for a while and
>> then
>> stops showing "halted s/w breakpoint". It is strange
>> since
>> i don't have any breakpoint's on my program.
>> My program is build in Debug (the result are the
>> same for
>> Release), without any options of optimization.
>>
>> My program halts in the following location:
>>
>> 0x00000460 and the disassembly window shows the
>> following:
>
> It halted at 0x460 because there is a sw breakpoint at
> that location. From the look of the code, you are
> executing data [or garbage].
>
>>
>> 00000400 EAC8A260 .word
>> 0xeac8a260
>> 00000404 3B66BCF4 [!B0] STW.D2T1
>> A22,*B25--[B21]
>> 00000408 0B78125A SADD.L2X 0,A30,B22
>> 0000040C 09A2A1F1 DOTPNRSU2.M1
>> A21,A8,A19
>> 00000410 CA81FC91 || [ A0] B.S1
>> 0xFFD413E4
>> 00000414 95EEEC30 || [!A1] SADD2.S1
>> A23,A27,A11
>> 00000418 4542F463 [ B1] SUB2.S2X
>> B23,A16,B10
>> 0000041C 11278524 .word
>> 0x11278524
>> 00000420 29A3D5BA .word
>> 0x29a3d5ba
>> 00000424 2F143054 [ B0] STH.D1T1
>> A30,*--A5[0x1]
>> 00000428 3DC50E7A .word
>> 0x3dc50e7a
>> 0000042C 93216C1E [!A1] LDBU.D2T2
>> *+DP[0x216C],B6
>> 00000430 1E5D6F14 .word
>> 0x1e5d6f14
>> 00000434 9D73D4D4 [!A1] STH.D2T1
>> A26,*B28--[0x1E]
>> 00000438 3B993E98 .word
>> 0x3b993e98
>> 0000043C 6952A40F [ B2] LDHU.D2T2
>> *+DP[0x52A4],B18
>> 00000440 C6A0ABC9 || [ A0] CLR.S1
>> A8,5,11,A13
>> 00000444 877B2CF5 .word
>> 0x877b2cf5
>> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
>> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
>> 15,A26,B27
>> 00000450 0B6F8D0B || EXTU.S2
>> B27,28,13,B22
>> 00000454 9F1ADFA0 .word
>> 0x9f1adfa0
>> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
>> *++B18[B26],A19
>> 0000045C 4A7CF542 .word
>> 0x4a7cf542
>> 00000460 139FAC5F .word
>> 0x139fac5f
>>
>> The strange thing is that we are placing all
>> sections in
>> SDRAM, so which instruction trigger this error?.
>> The memory map file shows the following mapping
>> around
>> this address:
>>
>> 00000400 HST_DSMMEMSIZE
>> 00000400 TSK_STACKSIZE
>> 00000400 LOG_system$size
>> 00000408 RTDX_BUFMEMSIZE
>
> These are all sizes - they are not memory addresses.
>
>> 00000490 GBL_A_VERSION
>>
>> I don't know how i can detect this problem, which
>> are the
>> procedures to solve it, which is the instruction
>> that
>> triggers this breakpoint??
>>
>> Does anyone have any ideia about what is the source
>> of the
>> problem, or what the proceure to detect it?
>
> Q1. Is your code C??
Yes my code is in C mixed with some assembly
functions.
> Q2. Has it ever worked??
Yes, it worked.
> Q3. Do you have any similar but working code??
No.
> Q4. Are you using function pointers??
Yes
> Q5. Do you have a clue as to how far you got in the
> execution of your program??
Well, the issue is that the duration of the program
is variable. Is a very strange thing.
> If not, I suggest setting some breakpoints at main an
> beyond to try to see how far you get. Or you could
> run to main and single step.
Well, i will try to do this, but my systems is too
complex that it will be a very challenging task.
BTW, in your answer you refer that the program halts at
that location because there is a s/w breakpoint in that
location. I think that the only way is to have a s/w
breakpoint implemented in C or in assembly. This project
was performed by several people so is a hard task to debug
this program is this final stage, without having the
people who work on that. Do you know how can i find this
s/w breakpoint?
>> Is there
>> any
>> document giving some help on tis issue?
>>
>> Thanks in advance,
>>
>> A.Silva
>
Mike Dunn wrote:
> A.Silva,
>
> --- Antio Richard Abreu da Silva
> wrote:
>
>> Dear All,
>>
>> I hope someone can help me on this issue. I'am new
>> on this
>> subject of DSP's, and my program run for a while and
>> then
>> stops showing "halted s/w breakpoint". It is strange
>> since
>> i don't have any breakpoint's on my program.
>> My program is build in Debug (the result are the
>> same for
>> Release), without any options of optimization.
>>
>> My program halts in the following location:
>>
>> 0x00000460 and the disassembly window shows the
>> following:
>
> It halted at 0x460 because there is a sw breakpoint at
> that location. From the look of the code, you are
> executing data [or garbage].
>
>>
>> 00000400 EAC8A260 .word
>> 0xeac8a260
>> 00000404 3B66BCF4 [!B0] STW.D2T1
>> A22,*B25--[B21]
>> 00000408 0B78125A SADD.L2X 0,A30,B22
>> 0000040C 09A2A1F1 DOTPNRSU2.M1
>> A21,A8,A19
>> 00000410 CA81FC91 || [ A0] B.S1
>> 0xFFD413E4
>> 00000414 95EEEC30 || [!A1] SADD2.S1
>> A23,A27,A11
>> 00000418 4542F463 [ B1] SUB2.S2X
>> B23,A16,B10
>> 0000041C 11278524 .word
>> 0x11278524
>> 00000420 29A3D5BA .word
>> 0x29a3d5ba
>> 00000424 2F143054 [ B0] STH.D1T1
>> A30,*--A5[0x1]
>> 00000428 3DC50E7A .word
>> 0x3dc50e7a
>> 0000042C 93216C1E [!A1] LDBU.D2T2
>> *+DP[0x216C],B6
>> 00000430 1E5D6F14 .word
>> 0x1e5d6f14
>> 00000434 9D73D4D4 [!A1] STH.D2T1
>> A26,*B28--[0x1E]
>> 00000438 3B993E98 .word
>> 0x3b993e98
>> 0000043C 6952A40F [ B2] LDHU.D2T2
>> *+DP[0x52A4],B18
>> 00000440 C6A0ABC9 || [ A0] CLR.S1
>> A8,5,11,A13
>> 00000444 877B2CF5 .word
>> 0x877b2cf5
>> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
>> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
>> 15,A26,B27
>> 00000450 0B6F8D0B || EXTU.S2
>> B27,28,13,B22
>> 00000454 9F1ADFA0 .word
>> 0x9f1adfa0
>> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
>> *++B18[B26],A19
>> 0000045C 4A7CF542 .word
>> 0x4a7cf542
>> 00000460 139FAC5F .word
>> 0x139fac5f
>>
>> The strange thing is that we are placing all
>> sections in
>> SDRAM, so which instruction trigger this error?.
>> The memory map file shows the following mapping
>> around
>> this address:
>>
>> 00000400 HST_DSMMEMSIZE
>> 00000400 TSK_STACKSIZE
>> 00000400 LOG_system$size
>> 00000408 RTDX_BUFMEMSIZE
>
> These are all sizes - they are not memory addresses.
>
>> 00000490 GBL_A_VERSION
>>
>> I don't know how i can detect this problem, which
>> are the
>> procedures to solve it, which is the instruction
>> that
>> triggers this breakpoint??
>>
>> Does anyone have any ideia about what is the source
>> of the
>> problem, or what the proceure to detect it?
>
> Q1. Is your code C??
Yes my code is in C mixed with some assembly
functions.
> Q2. Has it ever worked??
Yes, it worked.
> Q3. Do you have any similar but working code??
No.
> Q4. Are you using function pointers??
Yes
> Q5. Do you have a clue as to how far you got in the
> execution of your program??
Well, the issue is that the duration of the program
is variable. Is a very strange thing.
> If not, I suggest setting some breakpoints at main an
> beyond to try to see how far you get. Or you could
> run to main and single step.
Well, i will try to do this, but my systems is too
complex that it will be a very challenging task.
BTW, in your answer you refer that the program halts at
that location because there is a s/w breakpoint in that
location. I think that the only way is to have a s/w
breakpoint implemented in C or in assembly. This project
was performed by several people so is a hard task to debug
this program is this final stage, without having the
people who work on that. Do you know how can i find this
s/w breakpoint?
>> Is there
>> any
>> document giving some help on tis issue?
>>
>> Thanks in advance,
>>
>> A.Silva
>
Reply by ●June 25, 20072007-06-25
A.Silva,
--- Antio Richard Abreu da Silva
wrote:
> On Fri, 22 Jun 2007 14:56:04 -0700 (PDT)
> Mike Dunn wrote:
> > A.Silva,
> >
> > --- Antio Richard Abreu da Silva
>
> > wrote:
> >
> >> Dear All,
> >>
> >> I hope someone can help me on this issue. I'am
> new
> >> on this
> >> subject of DSP's, and my program run for a while
> and
> >> then
> >> stops showing "halted s/w breakpoint". It is
> strange
> >> since
> >> i don't have any breakpoint's on my program.
> >> My program is build in Debug (the result are the
> >> same for
> >> Release), without any options of optimization.
> >>
> >> My program halts in the following location:
> >>
> >> 0x00000460 and the disassembly window shows the
> >> following:
> >
> > It halted at 0x460 because there is a sw
> breakpoint at
> > that location. From the look of the code, you are
> > executing data [or garbage].
> >
> >>
> >> 00000400 EAC8A260 .word
> >> 0xeac8a260
> >> 00000404 3B66BCF4 [!B0] STW.D2T1
> >> A22,*B25--[B21]
> >> 00000408 0B78125A SADD.L2X
> 0,A30,B22
> >> 0000040C 09A2A1F1 DOTPNRSU2.M1
> >> A21,A8,A19
> >> 00000410 CA81FC91 || [ A0] B.S1
> >> 0xFFD413E4
> >> 00000414 95EEEC30 || [!A1] SADD2.S1
> >> A23,A27,A11
> >> 00000418 4542F463 [ B1] SUB2.S2X
> >> B23,A16,B10
> >> 0000041C 11278524 .word
> >> 0x11278524
> >> 00000420 29A3D5BA .word
> >> 0x29a3d5ba
> >> 00000424 2F143054 [ B0] STH.D1T1
> >> A30,*--A5[0x1]
> >> 00000428 3DC50E7A .word
> >> 0x3dc50e7a
> >> 0000042C 93216C1E [!A1] LDBU.D2T2
> >> *+DP[0x216C],B6
> >> 00000430 1E5D6F14 .word
> >> 0x1e5d6f14
> >> 00000434 9D73D4D4 [!A1] STH.D2T1
> >> A26,*B28--[0x1E]
> >> 00000438 3B993E98 .word
> >> 0x3b993e98
> >> 0000043C 6952A40F [ B2] LDHU.D2T2
> >> *+DP[0x52A4],B18
> >> 00000440 C6A0ABC9 || [ A0] CLR.S1
> >> A8,5,11,A13
> >> 00000444 877B2CF5 .word
> >> 0x877b2cf5
> >> 00000448 A6641F59 || [ A2] AND.L1X
> 0,B25,A12
> >> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> >> 15,A26,B27
> >> 00000450 0B6F8D0B || EXTU.S2
> >> B27,28,13,B22
> >> 00000454 9F1ADFA0 .word
> >> 0x9f1adfa0
> >> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> >> *++B18[B26],A19
> >> 0000045C 4A7CF542 .word
> >> 0x4a7cf542
> >> 00000460 139FAC5F .word
> >> 0x139fac5f
> >>
> >> The strange thing is that we are placing all
> >> sections in
> >> SDRAM, so which instruction trigger this error?.
> >> The memory map file shows the following mapping
> >> around
> >> this address:
> >>
> >> 00000400 HST_DSMMEMSIZE
> >> 00000400 TSK_STACKSIZE
> >> 00000400 LOG_system$size
> >> 00000408 RTDX_BUFMEMSIZE
> >
> > These are all sizes - they are not memory
> addresses.
> >
> >> 00000490 GBL_A_VERSION
> >>
> >> I don't know how i can detect this problem, which
> >> are the
> >> procedures to solve it, which is the instruction
> >> that
> >> triggers this breakpoint??
> >>
> >> Does anyone have any ideia about what is the
> source
> >> of the
> >> problem, or what the proceure to detect it?
> >
> > Q1. Is your code C??
>
> Yes my code is in C mixed with some assembly
> functions.
>
> > Q2. Has it ever worked??
>
> Yes, it worked.
>
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in
> the
> > execution of your program??
>
> Well, the issue is that the duration of the
> program
> is variable. Is a very strange thing.
> > If not, I suggest setting some breakpoints at main
> an
> > beyond to try to see how far you get. Or you
> could
> > run to main and single step.
>
> Well, i will try to do this, but my systems
> is too
> complex that it will be a very challenging task.
You may need to figure out how to test a subset of
your system. I always suggest an incremental
integration strategy that is documented so that you
can back out some components when situations like this
occur.
> BTW, in your answer you refer that the program halts
> at
> that location because there is a s/w breakpoint in
> that
> location. I think that the only way is to have a s/w
>
> breakpoint implemented in C or in assembly.
A software breakpoint is just a particular bit
pattern. Anytime that you "branch to data" [or
uninitialized memory], you have an opportunity to
execute a sw breakpoint [or illegal instructions].
You may be able to unwind the stack to get a clue -
but my guess is that the original problem happened "a
long time ago" in the execution cycle.
> This
> project
> was performed by several people so is a hard task to
> debug
> this program is this final stage, without having the
>
> people who work on that. Do you know how can i find
> this
> s/w breakpoint?
Like I indicated previously, when your PC was at 0x460
it was pointing to sw breakpoint.
00000460 139FAC5F .word
^
|----------- bit 28 is set
On non-c64+ devices [and 62xx and 67xx also], bit 28
being set will be interpretted by the DSP as a sw
breakpoint. When you set a breakpoint with CCS, this
bit is set. When CCS displays memory [either in the
disassembly or memory window], it will mask out the
bit when the memory contents are displayed.
mikedunn
>
> >
> >
> >> Is there
> >> any
> >> document giving some help on tis issue?
> >>
> >> Thanks in advance,
> >>
> >> A.Silva
> >>
> >
--- Antio Richard Abreu da Silva
wrote:
> On Fri, 22 Jun 2007 14:56:04 -0700 (PDT)
> Mike Dunn wrote:
> > A.Silva,
> >
> > --- Antio Richard Abreu da Silva
>
> > wrote:
> >
> >> Dear All,
> >>
> >> I hope someone can help me on this issue. I'am
> new
> >> on this
> >> subject of DSP's, and my program run for a while
> and
> >> then
> >> stops showing "halted s/w breakpoint". It is
> strange
> >> since
> >> i don't have any breakpoint's on my program.
> >> My program is build in Debug (the result are the
> >> same for
> >> Release), without any options of optimization.
> >>
> >> My program halts in the following location:
> >>
> >> 0x00000460 and the disassembly window shows the
> >> following:
> >
> > It halted at 0x460 because there is a sw
> breakpoint at
> > that location. From the look of the code, you are
> > executing data [or garbage].
> >
> >>
> >> 00000400 EAC8A260 .word
> >> 0xeac8a260
> >> 00000404 3B66BCF4 [!B0] STW.D2T1
> >> A22,*B25--[B21]
> >> 00000408 0B78125A SADD.L2X
> 0,A30,B22
> >> 0000040C 09A2A1F1 DOTPNRSU2.M1
> >> A21,A8,A19
> >> 00000410 CA81FC91 || [ A0] B.S1
> >> 0xFFD413E4
> >> 00000414 95EEEC30 || [!A1] SADD2.S1
> >> A23,A27,A11
> >> 00000418 4542F463 [ B1] SUB2.S2X
> >> B23,A16,B10
> >> 0000041C 11278524 .word
> >> 0x11278524
> >> 00000420 29A3D5BA .word
> >> 0x29a3d5ba
> >> 00000424 2F143054 [ B0] STH.D1T1
> >> A30,*--A5[0x1]
> >> 00000428 3DC50E7A .word
> >> 0x3dc50e7a
> >> 0000042C 93216C1E [!A1] LDBU.D2T2
> >> *+DP[0x216C],B6
> >> 00000430 1E5D6F14 .word
> >> 0x1e5d6f14
> >> 00000434 9D73D4D4 [!A1] STH.D2T1
> >> A26,*B28--[0x1E]
> >> 00000438 3B993E98 .word
> >> 0x3b993e98
> >> 0000043C 6952A40F [ B2] LDHU.D2T2
> >> *+DP[0x52A4],B18
> >> 00000440 C6A0ABC9 || [ A0] CLR.S1
> >> A8,5,11,A13
> >> 00000444 877B2CF5 .word
> >> 0x877b2cf5
> >> 00000448 A6641F59 || [ A2] AND.L1X
> 0,B25,A12
> >> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> >> 15,A26,B27
> >> 00000450 0B6F8D0B || EXTU.S2
> >> B27,28,13,B22
> >> 00000454 9F1ADFA0 .word
> >> 0x9f1adfa0
> >> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> >> *++B18[B26],A19
> >> 0000045C 4A7CF542 .word
> >> 0x4a7cf542
> >> 00000460 139FAC5F .word
> >> 0x139fac5f
> >>
> >> The strange thing is that we are placing all
> >> sections in
> >> SDRAM, so which instruction trigger this error?.
> >> The memory map file shows the following mapping
> >> around
> >> this address:
> >>
> >> 00000400 HST_DSMMEMSIZE
> >> 00000400 TSK_STACKSIZE
> >> 00000400 LOG_system$size
> >> 00000408 RTDX_BUFMEMSIZE
> >
> > These are all sizes - they are not memory
> addresses.
> >
> >> 00000490 GBL_A_VERSION
> >>
> >> I don't know how i can detect this problem, which
> >> are the
> >> procedures to solve it, which is the instruction
> >> that
> >> triggers this breakpoint??
> >>
> >> Does anyone have any ideia about what is the
> source
> >> of the
> >> problem, or what the proceure to detect it?
> >
> > Q1. Is your code C??
>
> Yes my code is in C mixed with some assembly
> functions.
>
> > Q2. Has it ever worked??
>
> Yes, it worked.
>
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in
> the
> > execution of your program??
>
> Well, the issue is that the duration of the
> program
> is variable. Is a very strange thing.
> > If not, I suggest setting some breakpoints at main
> an
> > beyond to try to see how far you get. Or you
> could
> > run to main and single step.
>
> Well, i will try to do this, but my systems
> is too
> complex that it will be a very challenging task.
You may need to figure out how to test a subset of
your system. I always suggest an incremental
integration strategy that is documented so that you
can back out some components when situations like this
occur.
> BTW, in your answer you refer that the program halts
> at
> that location because there is a s/w breakpoint in
> that
> location. I think that the only way is to have a s/w
>
> breakpoint implemented in C or in assembly.
A software breakpoint is just a particular bit
pattern. Anytime that you "branch to data" [or
uninitialized memory], you have an opportunity to
execute a sw breakpoint [or illegal instructions].
You may be able to unwind the stack to get a clue -
but my guess is that the original problem happened "a
long time ago" in the execution cycle.
> This
> project
> was performed by several people so is a hard task to
> debug
> this program is this final stage, without having the
>
> people who work on that. Do you know how can i find
> this
> s/w breakpoint?
Like I indicated previously, when your PC was at 0x460
it was pointing to sw breakpoint.
00000460 139FAC5F .word
^
|----------- bit 28 is set
On non-c64+ devices [and 62xx and 67xx also], bit 28
being set will be interpretted by the DSP as a sw
breakpoint. When you set a breakpoint with CCS, this
bit is set. When CCS displays memory [either in the
disassembly or memory window], it will mask out the
bit when the memory contents are displayed.
mikedunn
>
> >
> >
> >> Is there
> >> any
> >> document giving some help on tis issue?
> >>
> >> Thanks in advance,
> >>
> >> A.Silva
> >>
> >
Reply by ●June 25, 20072007-06-25
Antio Richard Abreu da Silva-
> > Q2. Has it ever worked??
>
> Yes, it worked.
When? On a different system (board) ? When it worked until now, what is the
difference? Did you change TI tools? Did you add code (or did someone else) ?
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in the
> > execution of your program??
>
> Well, the issue is that the duration of the program
> is variable. Is a very strange thing.
The *whole* program runs, but your problem is it won't run for an hour? A day? What
do you mean by "variable"?
If all code runs at least once, then fast is the DSP running and how did you verify
that? How hot is the DSP chip?
-Jeff
> > Q2. Has it ever worked??
>
> Yes, it worked.
When? On a different system (board) ? When it worked until now, what is the
difference? Did you change TI tools? Did you add code (or did someone else) ?
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in the
> > execution of your program??
>
> Well, the issue is that the duration of the program
> is variable. Is a very strange thing.
The *whole* program runs, but your problem is it won't run for an hour? A day? What
do you mean by "variable"?
If all code runs at least once, then fast is the DSP running and how did you verify
that? How hot is the DSP chip?
-Jeff
Reply by ●June 25, 20072007-06-25
Antio Richard Abreu da Silva-
> I did verify it on the EVMDM642 board. Then on a custom
> board almost identical i verify its correct functioning
> over a nigth. Then without changing anything but
> destination IP address, suddendly after 20-60 min occurs
> this s/w breakpoint.
Can you try the EVM DM642 board with the new IP address?
If the EVM board is the "known good", then every test you run you should duplicate
(or come as close as possible) on the EVM. If there are slight differences in the
two boards, then you should have a variable (e.g. EVMBoard_or_ProdBoard) that you can
set T/F and if-then statements that use this variable to enable/disable
board-specific code sections.
You absolutely need a test/debug method that allows comparison. I don't see how you
can proceed otherwise if you have as much code as you say you do and so many other
people worked on it before you. Otherwise, you end up where you are now -- searching
the whole system for a particular problem.
-Jeff
PS. Please post to the group, not to me.
> I'am trying after suggestion of Mike testing my
> application by parts. My application is a video streaming
> application. I already verify the video capture and
> streaming individually and both of them together, and
> works everything fine. I don't know if something like
> network congestion may cause this problem ....
> I think the problem may be on the video encoder part.
> If this is the problem, if it works for a while, maybe
> there is some particular condition or a cummulative error
> that causes a branch to uninitialazed data, and originates
> this software breakpoint.... But it is very difficult to
> debug since it works for a long period of time (20 min,
> with 25fps it is a lot of time to perform step debugging
> ....)
>
> Thanks a lot
>
> A.Silva
> I did verify it on the EVMDM642 board. Then on a custom
> board almost identical i verify its correct functioning
> over a nigth. Then without changing anything but
> destination IP address, suddendly after 20-60 min occurs
> this s/w breakpoint.
Can you try the EVM DM642 board with the new IP address?
If the EVM board is the "known good", then every test you run you should duplicate
(or come as close as possible) on the EVM. If there are slight differences in the
two boards, then you should have a variable (e.g. EVMBoard_or_ProdBoard) that you can
set T/F and if-then statements that use this variable to enable/disable
board-specific code sections.
You absolutely need a test/debug method that allows comparison. I don't see how you
can proceed otherwise if you have as much code as you say you do and so many other
people worked on it before you. Otherwise, you end up where you are now -- searching
the whole system for a particular problem.
-Jeff
PS. Please post to the group, not to me.
> I'am trying after suggestion of Mike testing my
> application by parts. My application is a video streaming
> application. I already verify the video capture and
> streaming individually and both of them together, and
> works everything fine. I don't know if something like
> network congestion may cause this problem ....
> I think the problem may be on the video encoder part.
> If this is the problem, if it works for a while, maybe
> there is some particular condition or a cummulative error
> that causes a branch to uninitialazed data, and originates
> this software breakpoint.... But it is very difficult to
> debug since it works for a long period of time (20 min,
> with 25fps it is a lot of time to perform step debugging
> ....)
>
> Thanks a lot
>
> A.Silva
Reply by ●June 26, 20072007-06-26
Antonio,
>From the description I think that some point in your program is getting a size value and treating it
as an address.
R. Williams
---------- Original Message -----------
From: "Antio Richard Abreu da Silva"
To: Mike Dunn , c...
Sent: Mon, 25 Jun 2007 11:11:51 +0100
Subject: Re: [c6x] Problem running program on DM642
> On Fri, 22 Jun 2007 14:56:04 -0700 (PDT)
> Mike Dunn wrote:
> > A.Silva,
> >
> > --- Antio Richard Abreu da Silva
> > wrote:
> >
> >> Dear All,
> >>
> >> I hope someone can help me on this issue. I'am new
> >> on this
> >> subject of DSP's, and my program run for a while and
> >> then
> >> stops showing "halted s/w breakpoint". It is strange
> >> since
> >> i don't have any breakpoint's on my program.
> >> My program is build in Debug (the result are the
> >> same for
> >> Release), without any options of optimization.
> >>
> >> My program halts in the following location:
> >>
> >> 0x00000460 and the disassembly window shows the
> >> following:
> >
> > It halted at 0x460 because there is a sw breakpoint at
> > that location. From the look of the code, you are
> > executing data [or garbage].
> >
> >>
> >> 00000400 EAC8A260 .word
> >> 0xeac8a260
> >> 00000404 3B66BCF4 [!B0] STW.D2T1
> >> A22,*B25--[B21]
> >> 00000408 0B78125A SADD.L2X 0,A30,B22
> >> 0000040C 09A2A1F1 DOTPNRSU2.M1
> >> A21,A8,A19
> >> 00000410 CA81FC91 || [ A0] B.S1
> >> 0xFFD413E4
> >> 00000414 95EEEC30 || [!A1] SADD2.S1
> >> A23,A27,A11
> >> 00000418 4542F463 [ B1] SUB2.S2X
> >> B23,A16,B10
> >> 0000041C 11278524 .word
> >> 0x11278524
> >> 00000420 29A3D5BA .word
> >> 0x29a3d5ba
> >> 00000424 2F143054 [ B0] STH.D1T1
> >> A30,*--A5[0x1]
> >> 00000428 3DC50E7A .word
> >> 0x3dc50e7a
> >> 0000042C 93216C1E [!A1] LDBU.D2T2
> >> *+DP[0x216C],B6
> >> 00000430 1E5D6F14 .word
> >> 0x1e5d6f14
> >> 00000434 9D73D4D4 [!A1] STH.D2T1
> >> A26,*B28--[0x1E]
> >> 00000438 3B993E98 .word
> >> 0x3b993e98
> >> 0000043C 6952A40F [ B2] LDHU.D2T2
> >> *+DP[0x52A4],B18
> >> 00000440 C6A0ABC9 || [ A0] CLR.S1
> >> A8,5,11,A13
> >> 00000444 877B2CF5 .word
> >> 0x877b2cf5
> >> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> >> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> >> 15,A26,B27
> >> 00000450 0B6F8D0B || EXTU.S2
> >> B27,28,13,B22
> >> 00000454 9F1ADFA0 .word
> >> 0x9f1adfa0
> >> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> >> *++B18[B26],A19
> >> 0000045C 4A7CF542 .word
> >> 0x4a7cf542
> >> 00000460 139FAC5F .word
> >> 0x139fac5f
> >>
> >> The strange thing is that we are placing all
> >> sections in
> >> SDRAM, so which instruction trigger this error?.
> >> The memory map file shows the following mapping
> >> around
> >> this address:
> >>
> >> 00000400 HST_DSMMEMSIZE
> >> 00000400 TSK_STACKSIZE
> >> 00000400 LOG_system$size
> >> 00000408 RTDX_BUFMEMSIZE
> >
> > These are all sizes - they are not memory addresses.
> >
> >> 00000490 GBL_A_VERSION
> >>
> >> I don't know how i can detect this problem, which
> >> are the
> >> procedures to solve it, which is the instruction
> >> that
> >> triggers this breakpoint??
> >>
> >> Does anyone have any ideia about what is the source
> >> of the
> >> problem, or what the proceure to detect it?
> >
> > Q1. Is your code C??
>
> Yes my code is in C mixed with some assembly
> functions.
>
> > Q2. Has it ever worked??
>
> Yes, it worked.
>
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in the
> > execution of your program??
>
> Well, the issue is that the duration of the program
> is variable. Is a very strange thing.
>
> > If not, I suggest setting some breakpoints at main an
> > beyond to try to see how far you get. Or you could
> > run to main and single step.
>
> Well, i will try to do this, but my systems is too
> complex that it will be a very challenging task.
>
> BTW, in your answer you refer that the program halts at
> that location because there is a s/w breakpoint in that
> location. I think that the only way is to have a s/w
> breakpoint implemented in C or in assembly. This project
> was performed by several people so is a hard task to debug
> this program is this final stage, without having the
> people who work on that. Do you know how can i find this
> s/w breakpoint?
>
> >
> >
> >> Is there
> >> any
> >> document giving some help on tis issue?
> >>
> >> Thanks in advance,
> >>
> >> A.Silva
> >>
> >
------- End of Original Message -------
>From the description I think that some point in your program is getting a size value and treating it
as an address.
R. Williams
---------- Original Message -----------
From: "Antio Richard Abreu da Silva"
To: Mike Dunn , c...
Sent: Mon, 25 Jun 2007 11:11:51 +0100
Subject: Re: [c6x] Problem running program on DM642
> On Fri, 22 Jun 2007 14:56:04 -0700 (PDT)
> Mike Dunn wrote:
> > A.Silva,
> >
> > --- Antio Richard Abreu da Silva
> > wrote:
> >
> >> Dear All,
> >>
> >> I hope someone can help me on this issue. I'am new
> >> on this
> >> subject of DSP's, and my program run for a while and
> >> then
> >> stops showing "halted s/w breakpoint". It is strange
> >> since
> >> i don't have any breakpoint's on my program.
> >> My program is build in Debug (the result are the
> >> same for
> >> Release), without any options of optimization.
> >>
> >> My program halts in the following location:
> >>
> >> 0x00000460 and the disassembly window shows the
> >> following:
> >
> > It halted at 0x460 because there is a sw breakpoint at
> > that location. From the look of the code, you are
> > executing data [or garbage].
> >
> >>
> >> 00000400 EAC8A260 .word
> >> 0xeac8a260
> >> 00000404 3B66BCF4 [!B0] STW.D2T1
> >> A22,*B25--[B21]
> >> 00000408 0B78125A SADD.L2X 0,A30,B22
> >> 0000040C 09A2A1F1 DOTPNRSU2.M1
> >> A21,A8,A19
> >> 00000410 CA81FC91 || [ A0] B.S1
> >> 0xFFD413E4
> >> 00000414 95EEEC30 || [!A1] SADD2.S1
> >> A23,A27,A11
> >> 00000418 4542F463 [ B1] SUB2.S2X
> >> B23,A16,B10
> >> 0000041C 11278524 .word
> >> 0x11278524
> >> 00000420 29A3D5BA .word
> >> 0x29a3d5ba
> >> 00000424 2F143054 [ B0] STH.D1T1
> >> A30,*--A5[0x1]
> >> 00000428 3DC50E7A .word
> >> 0x3dc50e7a
> >> 0000042C 93216C1E [!A1] LDBU.D2T2
> >> *+DP[0x216C],B6
> >> 00000430 1E5D6F14 .word
> >> 0x1e5d6f14
> >> 00000434 9D73D4D4 [!A1] STH.D2T1
> >> A26,*B28--[0x1E]
> >> 00000438 3B993E98 .word
> >> 0x3b993e98
> >> 0000043C 6952A40F [ B2] LDHU.D2T2
> >> *+DP[0x52A4],B18
> >> 00000440 C6A0ABC9 || [ A0] CLR.S1
> >> A8,5,11,A13
> >> 00000444 877B2CF5 .word
> >> 0x877b2cf5
> >> 00000448 A6641F59 || [ A2] AND.L1X 0,B25,A12
> >> 0000044C 6DE9FADB || [ B2] CMPLT.L2X
> >> 15,A26,B27
> >> 00000450 0B6F8D0B || EXTU.S2
> >> B27,28,13,B22
> >> 00000454 9F1ADFA0 .word
> >> 0x9f1adfa0
> >> 00000458 C9CB5BB5 [ A0] LDNW.D2T1
> >> *++B18[B26],A19
> >> 0000045C 4A7CF542 .word
> >> 0x4a7cf542
> >> 00000460 139FAC5F .word
> >> 0x139fac5f
> >>
> >> The strange thing is that we are placing all
> >> sections in
> >> SDRAM, so which instruction trigger this error?.
> >> The memory map file shows the following mapping
> >> around
> >> this address:
> >>
> >> 00000400 HST_DSMMEMSIZE
> >> 00000400 TSK_STACKSIZE
> >> 00000400 LOG_system$size
> >> 00000408 RTDX_BUFMEMSIZE
> >
> > These are all sizes - they are not memory addresses.
> >
> >> 00000490 GBL_A_VERSION
> >>
> >> I don't know how i can detect this problem, which
> >> are the
> >> procedures to solve it, which is the instruction
> >> that
> >> triggers this breakpoint??
> >>
> >> Does anyone have any ideia about what is the source
> >> of the
> >> problem, or what the proceure to detect it?
> >
> > Q1. Is your code C??
>
> Yes my code is in C mixed with some assembly
> functions.
>
> > Q2. Has it ever worked??
>
> Yes, it worked.
>
> > Q3. Do you have any similar but working code??
>
> No.
>
> > Q4. Are you using function pointers??
>
> Yes
>
> > Q5. Do you have a clue as to how far you got in the
> > execution of your program??
>
> Well, the issue is that the duration of the program
> is variable. Is a very strange thing.
>
> > If not, I suggest setting some breakpoints at main an
> > beyond to try to see how far you get. Or you could
> > run to main and single step.
>
> Well, i will try to do this, but my systems is too
> complex that it will be a very challenging task.
>
> BTW, in your answer you refer that the program halts at
> that location because there is a s/w breakpoint in that
> location. I think that the only way is to have a s/w
> breakpoint implemented in C or in assembly. This project
> was performed by several people so is a hard task to debug
> this program is this final stage, without having the
> people who work on that. Do you know how can i find this
> s/w breakpoint?
>
> >
> >
> >> Is there
> >> any
> >> document giving some help on tis issue?
> >>
> >> Thanks in advance,
> >>
> >> A.Silva
> >>
> >
------- End of Original Message -------
Reply by ●June 26, 20072007-06-26
> Subject: Re: Problem running program on DM642
> Posted by: "Mike Dunn" m...@sbcglobal.net mike_dunn_x
> Date: Mon Jun 25, 2007 5:51 am ((PDT))
>
> Like I indicated previously, when your PC was at 0x460
> it was pointing to sw breakpoint.
> 00000460 139FAC5F .word
> ^
> |----------- bit 28 is set
> On non-c64+ devices [and 62xx and 67xx also], bit 28
> being set will be interpretted by the DSP as a sw
> breakpoint. When you set a breakpoint with CCS, this
> bit is set. When CCS displays memory [either in the
> disassembly or memory window], it will mask out the
> bit when the memory contents are displayed.
Hi Mike,
Thanks for mentioning bit 28. Could you point me to
a doc where s/w breakpoints are described?
Rgds,
Andrew
> Posted by: "Mike Dunn" m...@sbcglobal.net mike_dunn_x
> Date: Mon Jun 25, 2007 5:51 am ((PDT))
>
> Like I indicated previously, when your PC was at 0x460
> it was pointing to sw breakpoint.
> 00000460 139FAC5F .word
> ^
> |----------- bit 28 is set
> On non-c64+ devices [and 62xx and 67xx also], bit 28
> being set will be interpretted by the DSP as a sw
> breakpoint. When you set a breakpoint with CCS, this
> bit is set. When CCS displays memory [either in the
> disassembly or memory window], it will mask out the
> bit when the memory contents are displayed.
Hi Mike,
Thanks for mentioning bit 28. Could you point me to
a doc where s/w breakpoints are described?
Rgds,
Andrew
Reply by ●June 26, 20072007-06-26
Andrew,
--- Andrew Nesterov
wrote:
>
> > Subject: Re: Problem running program on DM642
> > Posted by: "Mike Dunn" m...@sbcglobal.net
> mike_dunn_x
> > Date: Mon Jun 25, 2007 5:51 am ((PDT))
> >
> > Like I indicated previously, when your PC was at
> 0x460
> > it was pointing to sw breakpoint.
> > 00000460 139FAC5F .word
> > ^
> > |----------- bit 28 is set
> > On non-c64+ devices [and 62xx and 67xx also], bit
> 28
> > being set will be interpretted by the DSP as a sw
> > breakpoint. When you set a breakpoint with CCS,
> this
> > bit is set. When CCS displays memory [either in
> the
> > disassembly or memory window], it will mask out
> the
> > bit when the memory contents are displayed.
>
> Hi Mike,
>
> Thanks for mentioning bit 28. Could you point me to
> a doc where s/w breakpoints are described?
Described?? All in one place?? :-)
The info is a bit sketchy...
Search for 'breakpoint' in the instruction set
reference [was spru189]. There you will find a
footnote to the 'creg' instruction field.
If you want to 'see it in action', you can observe sw
bps being set on most 62/67/64 [non-64+] designs.
Pick a memory address like 0x80000000. Open a diasm
and memory window at that address. Locate a 'mirror'
of address 0x80000000, and open a mem window there.
Set a SW BP @0x80000000, refresh the mirror, and see
the contents differ.
Note:
You can define 0x10000000 and use it as a 'NOP_BP'. I
have found it especially useful for burning multiple
'checkpoints' in flash [they magically turn into NOPs
when you disconnect the emulator].
mikedunn
>
> Rgds,
>
> Andrew
>
--- Andrew Nesterov
wrote:
>
> > Subject: Re: Problem running program on DM642
> > Posted by: "Mike Dunn" m...@sbcglobal.net
> mike_dunn_x
> > Date: Mon Jun 25, 2007 5:51 am ((PDT))
> >
> > Like I indicated previously, when your PC was at
> 0x460
> > it was pointing to sw breakpoint.
> > 00000460 139FAC5F .word
> > ^
> > |----------- bit 28 is set
> > On non-c64+ devices [and 62xx and 67xx also], bit
> 28
> > being set will be interpretted by the DSP as a sw
> > breakpoint. When you set a breakpoint with CCS,
> this
> > bit is set. When CCS displays memory [either in
> the
> > disassembly or memory window], it will mask out
> the
> > bit when the memory contents are displayed.
>
> Hi Mike,
>
> Thanks for mentioning bit 28. Could you point me to
> a doc where s/w breakpoints are described?
Described?? All in one place?? :-)
The info is a bit sketchy...
Search for 'breakpoint' in the instruction set
reference [was spru189]. There you will find a
footnote to the 'creg' instruction field.
If you want to 'see it in action', you can observe sw
bps being set on most 62/67/64 [non-64+] designs.
Pick a memory address like 0x80000000. Open a diasm
and memory window at that address. Locate a 'mirror'
of address 0x80000000, and open a mem window there.
Set a SW BP @0x80000000, refresh the mirror, and see
the contents differ.
Note:
You can define 0x10000000 and use it as a 'NOP_BP'. I
have found it especially useful for burning multiple
'checkpoints' in flash [they magically turn into NOPs
when you disconnect the emulator].
mikedunn
>
> Rgds,
>
> Andrew
>






