hi,
i design tms320c6201 dsp board,
CCS v3.1 can detect it and connect to it, i can load program to it (that its my
last problem and i can overcome it by increasing capacitor between CVDD and
GND!!!),
and full access to internal memory,and see that IPRAM and IDRAM programmed
correctly, and can fill any location by desired pattern
but after load when try to run it, program dont run and cant halt it if try to
halt it a error happens
it says that unknown problem prevent the emulator to access the cpu, and
suggests to disconnect.
i thimk that when i run the program cpu dont run the 0x0 location memory and go
to unknown state and emulator cant access cpu,
who can overcome this problem?
and which important note must be do for soft reset pin connection?
i can load program but cant run it in DSP cpu
Started by ●September 3, 2008
Reply by ●September 3, 20082008-09-03
Dorsil,
Congradulations!! It looks like you are almost there.
On Wed, Sep 3, 2008 at 6:28 AM, wrote:
> hi,
>
> i design tms320c6201 dsp board,
>
> CCS v3.1 can detect it and connect to it, i can load program to it (that its
> my last problem and i can overcome it by increasing capacitor between CVDD
> and GND!!!),
>
> and full access to internal memory,and see that IPRAM and IDRAM programmed
> correctly, and can fill any location by desired pattern
>
> but after load when try to run it, program dont run and cant halt it if try
> to halt it a error happens
> it says that unknown problem prevent the emulator to access the cpu, and
> suggests to disconnect.
This error can be caused by a number of different things. The best
step is to create a very controlled environment to reduce the number
of variables.
1. What emulator are you using??
2. Can you perform a 'Debug->Cpu_Reset' without error??
3. If #2 is yes, is the PC at 0 after reset??
4. What text is in the CCS window title bar [usually solid blue with
white letters at the top of the window]??
5. Fill memory with 0s [add=0, len=0x1000]. The PC should be at add 0
- if not set it to 0.
6. Can you single step [ignore the message that you have no program loaded]??
7. If #6 is yes, write 0x10000000 to add 0x100, then run.
8. Did the DSP run to 0x100 and halt??
9. If #8 is yes, you probably just have a linker command file problem.
Post your '.cmd' file.
Let us know your results.
good luck,
mikedunn
>
> i thimk that when i run the program cpu dont run the 0x0 location memory and
> go to unknown state and emulator cant access cpu,
>
> who can overcome this problem?
>
> and which important note must be do for soft reset pin connection?
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Congradulations!! It looks like you are almost there.
On Wed, Sep 3, 2008 at 6:28 AM, wrote:
> hi,
>
> i design tms320c6201 dsp board,
>
> CCS v3.1 can detect it and connect to it, i can load program to it (that its
> my last problem and i can overcome it by increasing capacitor between CVDD
> and GND!!!),
>
> and full access to internal memory,and see that IPRAM and IDRAM programmed
> correctly, and can fill any location by desired pattern
>
> but after load when try to run it, program dont run and cant halt it if try
> to halt it a error happens
> it says that unknown problem prevent the emulator to access the cpu, and
> suggests to disconnect.
This error can be caused by a number of different things. The best
step is to create a very controlled environment to reduce the number
of variables.
1. What emulator are you using??
2. Can you perform a 'Debug->Cpu_Reset' without error??
3. If #2 is yes, is the PC at 0 after reset??
4. What text is in the CCS window title bar [usually solid blue with
white letters at the top of the window]??
5. Fill memory with 0s [add=0, len=0x1000]. The PC should be at add 0
- if not set it to 0.
6. Can you single step [ignore the message that you have no program loaded]??
7. If #6 is yes, write 0x10000000 to add 0x100, then run.
8. Did the DSP run to 0x100 and halt??
9. If #8 is yes, you probably just have a linker command file problem.
Post your '.cmd' file.
Let us know your results.
good luck,
mikedunn
>
> i thimk that when i run the program cpu dont run the 0x0 location memory and
> go to unknown state and emulator cant access cpu,
>
> who can overcome this problem?
>
> and which important note must be do for soft reset pin connection?
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by ●September 4, 20082008-09-04
hi,
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi mike ,
Very Much Thanks.
i did anything you said
1- my emulator is TDS510usb from wintech digital co.
2- yes i can perform debug>reset cpu without error
but when debug>connect and then see view>registers(both core and peripheral) thay have undesired values, peripheral registers all are same.
but after debug>reset cpu they change.
another note that when (active low)reset from dsp-pin no change in register values occurs.
3- after debug>reset PC is 0
4- CCS Title: /C620X TDS510USB 2.0 Emulator-WintechDigital/CPU_1 - C6200 - Code Composer Studio
i compared this title with title when another 6201 board connected that work correct and run and saw that title are different in one part. in my title cpu_1 -C6200 but in another board this is C6201 and in that board before i do debug>reset cpu, registers (both core and peripheral) have good values.
5,6,7 I do them and can single step and can fill add=0x100 with 0x10000000 and it updated in disassembly window.
8- but when click run icon same problem occurs and cant halt it and cant refresh the registers value and red error shown about "fatal error, about software breakpoint and …."
After debug>reset cpu I noticed that IFR register is 0x00000001 but it must be 0x00000000 after reset, in another c6201 board (that said above) this value is 0x00000000 and it work and program run.
In addition in one time per 10 or 20 or more or less times (by random behavior) that I try for run, Program correctly run and work and see the out put and I happy. But its not my desired behavior (non stable ).
I write core and register values (befor run after debug>reset cpu)
when run it, it doesn't work and I cant halt it.
PERIPHERAL REGISTERS:
GBLCTL003379
SDCTL88F000
SDTIM00C040 // CHANGES AFTER ANY REFRESH
CECTL0FF3F23
CECTL1FF3F23
CECTL2FF3F23
CECTL3FF3F23
HPIC000008
CTL0000000
PRD0000000
CNT0000000
CTL1000000
PRD1000000
CNT1000000
MUXH202D43
MUXL%0718A4
EXTPOL000000
CORE REGISTERS:
PC000000
ISTP000000
IFR000001 // in my mind it is not good
IER000000
IRP6B9080
NRPBB8E6C
AMR000000
CSR020000
CPUID=0
REVID=2
EN=0
PGIE=0
PCC=0
DCC=0
GIE=0
SAT=0
PWRD
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi mike ,
Very Much Thanks.
i did anything you said
1- my emulator is TDS510usb from wintech digital co.
2- yes i can perform debug>reset cpu without error
but when debug>connect and then see view>registers(both core and peripheral) thay have undesired values, peripheral registers all are same.
but after debug>reset cpu they change.
another note that when (active low)reset from dsp-pin no change in register values occurs.
3- after debug>reset PC is 0
4- CCS Title: /C620X TDS510USB 2.0 Emulator-WintechDigital/CPU_1 - C6200 - Code Composer Studio
i compared this title with title when another 6201 board connected that work correct and run and saw that title are different in one part. in my title cpu_1 -C6200 but in another board this is C6201 and in that board before i do debug>reset cpu, registers (both core and peripheral) have good values.
5,6,7 I do them and can single step and can fill add=0x100 with 0x10000000 and it updated in disassembly window.
8- but when click run icon same problem occurs and cant halt it and cant refresh the registers value and red error shown about "fatal error, about software breakpoint and …."
After debug>reset cpu I noticed that IFR register is 0x00000001 but it must be 0x00000000 after reset, in another c6201 board (that said above) this value is 0x00000000 and it work and program run.
In addition in one time per 10 or 20 or more or less times (by random behavior) that I try for run, Program correctly run and work and see the out put and I happy. But its not my desired behavior (non stable ).
I write core and register values (befor run after debug>reset cpu)
when run it, it doesn't work and I cant halt it.
PERIPHERAL REGISTERS:
GBLCTL003379
SDCTL88F000
SDTIM00C040 // CHANGES AFTER ANY REFRESH
CECTL0FF3F23
CECTL1FF3F23
CECTL2FF3F23
CECTL3FF3F23
HPIC000008
CTL0000000
PRD0000000
CNT0000000
CTL1000000
PRD1000000
CNT1000000
MUXH202D43
MUXL%0718A4
EXTPOL000000
CORE REGISTERS:
PC000000
ISTP000000
IFR000001 // in my mind it is not good
IER000000
IRP6B9080
NRPBB8E6C
AMR000000
CSR020000
CPUID=0
REVID=2
EN=0
PGIE=0
PCC=0
DCC=0
GIE=0
SAT=0
PWRD
Reply by ●September 4, 20082008-09-04
Dorsil,
On Thu, Sep 4, 2008 at 12:31 PM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi mike ,
>
> Very Much Thanks.
>
> i did anything you said
>
> 1- my emulator is TDS510usb from wintech digital co.
>
> 2- yes i can perform debug>reset cpu without error
>
> but when debug>connect and then see view>registers(both core and peripheral) thay have undesired values, peripheral registers all are same.
>
> but after debug>reset cpu they change.
> another note that when (active low)reset from dsp-pin no change in register values occurs.
>
> 3- after debug>reset PC is 0
>
> 4- CCS Title: /C620X TDS510USB 2.0 Emulator-WintechDigital/CPU_1 - C6200 - Code Composer Studio
>
> i compared this title with title when another 6201 board connected that work correct and run and saw that title are different in one part. in my title cpu_1 -C6200 but in another board this is C6201 and in that board before i do debug>reset cpu, registers (both core and peripheral) have good values.
Note to any readers - the following comment ONLY applies to c620x and
c6701 devices using TI XDS510 drivers [tixds6000.dvr]!!
There is a problem occurring during 'Connect'. The driver should post
one of the following in the title bar - 6201, 6202, 6203, 6204, or
6701. The number should reflect the actual device part number [except
that 6205 devices will show 6204]. This number indicates that connect
was successful and it correctly identified the target device. The
'C6200' indicates that no errors were detected during connect but the
driver was not able to correctly identify the device. If the driver
does not correctly identify the device, CCS will not be able to
function correctly and reliably.
The 'C6200', in combination with some 'instability', indicates a
problem that must be resolved before you continue.
Q1. The first thing to try is to connect, observe the title bar, then
disconnect. Repeat the process about 12 times. Do you always get
'C6200'??
Q2. If #1 is yes, try to power the board up, connect, observe the
title bar, disconnect, then power the board down. Repeat the process
about 12 times. Do you always get 'C6200'??
Q3. If #2 is yes, you may have the '6201 executing garbage problem'
[discussed in some ancient posts]. Now try to power the board up while
holding the reset button down [I hope that you have one :-) ], select
connect and release the button at the same time, observe the title
bar, disconnect, then power the board down. Repeat the process about
12 times. Do you always get 'C6200'??
Q4. If #3 is yes, we have tried all of the easy stuff and need to get
down to some analysis and troubleshooting. Have you checked your
voltages [make sure that you are looking at the correct datasheet for
your part number] and clocks with a scope?? Are they correct??
Q5. Have you checked the JTAG connections and signals with a scope??
Do they appear correct??
Q6. Have you double checked the 'reserved pins' for the correct
pullups and pulldowns??
Q7. Does your board have a flash device or HPI interface??
Q8. Are you using an external clock or are you using a crystal/PLL??
mikedunn
>
> 5,6,7 I do them and can single step and can fill add=0x100 with 0x10000000 and it updated in disassembly window.
>
> 8- but when click run icon same problem occurs and cant halt it and cant refresh the registers value and red error shown about "fatal error, about software breakpoint and ."
>
> After debug>reset cpu I noticed that IFR register is 0x00000001 but it must be 0x00000000 after reset, in another c6201 board (that said above) this value is 0x00000000 and it work and program run.
>
> In addition in one time per 10 or 20 or more or less times (by random behavior) that I try for run, Program correctly run and work and see the out put and I happy. But its not my desired behavior (non stable ).
>
> I write core and register values (befor run after debug>reset cpu)
> when run it, it doesn't work and I cant halt it.
>
> PERIPHERAL REGISTERS:
>
> GBLCTL=00003379
> SDCTL=0388F000
> SDTIM=0000C040 // CHANGES AFTER ANY REFRESH
> CECTL0=FFFF3F23
> CECTL1=FFFF3F23
> CECTL2=FFFF3F23
> CECTL3=FFFF3F23
> HPIC=00000008
> CTL0=00000000
> PRD0=00000000
> CNT0=00000000
> CTL1=00000000
> PRD1=00000000
> CNT1=00000000
> MUXH=08202D43
> MUXL=250718A4
> EXTPOL=00000000
>
> CORE REGISTERS:
>
> PC=00000000
> ISTP=00000000
> IFR=00000001 // in my mind it is not good
> IER=00000000
> IRP=826B9080
> NRP=BEBB8E6C
> AMR=00000000
> CSR=00020000
> CPUID=0
> REVID=2
> EN=0
> PGIE=0
> PCC=0
> DCC=0
> GIE=0
> SAT=0
> PWRD=00
>
>
>
>
>
>
>
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
On Thu, Sep 4, 2008 at 12:31 PM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi mike ,
>
> Very Much Thanks.
>
> i did anything you said
>
> 1- my emulator is TDS510usb from wintech digital co.
>
> 2- yes i can perform debug>reset cpu without error
>
> but when debug>connect and then see view>registers(both core and peripheral) thay have undesired values, peripheral registers all are same.
>
> but after debug>reset cpu they change.
> another note that when (active low)reset from dsp-pin no change in register values occurs.
>
> 3- after debug>reset PC is 0
>
> 4- CCS Title: /C620X TDS510USB 2.0 Emulator-WintechDigital/CPU_1 - C6200 - Code Composer Studio
>
> i compared this title with title when another 6201 board connected that work correct and run and saw that title are different in one part. in my title cpu_1 -C6200 but in another board this is C6201 and in that board before i do debug>reset cpu, registers (both core and peripheral) have good values.
Note to any readers - the following comment ONLY applies to c620x and
c6701 devices using TI XDS510 drivers [tixds6000.dvr]!!
There is a problem occurring during 'Connect'. The driver should post
one of the following in the title bar - 6201, 6202, 6203, 6204, or
6701. The number should reflect the actual device part number [except
that 6205 devices will show 6204]. This number indicates that connect
was successful and it correctly identified the target device. The
'C6200' indicates that no errors were detected during connect but the
driver was not able to correctly identify the device. If the driver
does not correctly identify the device, CCS will not be able to
function correctly and reliably.
The 'C6200', in combination with some 'instability', indicates a
problem that must be resolved before you continue.
Q1. The first thing to try is to connect, observe the title bar, then
disconnect. Repeat the process about 12 times. Do you always get
'C6200'??
Q2. If #1 is yes, try to power the board up, connect, observe the
title bar, disconnect, then power the board down. Repeat the process
about 12 times. Do you always get 'C6200'??
Q3. If #2 is yes, you may have the '6201 executing garbage problem'
[discussed in some ancient posts]. Now try to power the board up while
holding the reset button down [I hope that you have one :-) ], select
connect and release the button at the same time, observe the title
bar, disconnect, then power the board down. Repeat the process about
12 times. Do you always get 'C6200'??
Q4. If #3 is yes, we have tried all of the easy stuff and need to get
down to some analysis and troubleshooting. Have you checked your
voltages [make sure that you are looking at the correct datasheet for
your part number] and clocks with a scope?? Are they correct??
Q5. Have you checked the JTAG connections and signals with a scope??
Do they appear correct??
Q6. Have you double checked the 'reserved pins' for the correct
pullups and pulldowns??
Q7. Does your board have a flash device or HPI interface??
Q8. Are you using an external clock or are you using a crystal/PLL??
mikedunn
>
> 5,6,7 I do them and can single step and can fill add=0x100 with 0x10000000 and it updated in disassembly window.
>
> 8- but when click run icon same problem occurs and cant halt it and cant refresh the registers value and red error shown about "fatal error, about software breakpoint and ."
>
> After debug>reset cpu I noticed that IFR register is 0x00000001 but it must be 0x00000000 after reset, in another c6201 board (that said above) this value is 0x00000000 and it work and program run.
>
> In addition in one time per 10 or 20 or more or less times (by random behavior) that I try for run, Program correctly run and work and see the out put and I happy. But its not my desired behavior (non stable ).
>
> I write core and register values (befor run after debug>reset cpu)
> when run it, it doesn't work and I cant halt it.
>
> PERIPHERAL REGISTERS:
>
> GBLCTL=00003379
> SDCTL=0388F000
> SDTIM=0000C040 // CHANGES AFTER ANY REFRESH
> CECTL0=FFFF3F23
> CECTL1=FFFF3F23
> CECTL2=FFFF3F23
> CECTL3=FFFF3F23
> HPIC=00000008
> CTL0=00000000
> PRD0=00000000
> CNT0=00000000
> CTL1=00000000
> PRD1=00000000
> CNT1=00000000
> MUXH=08202D43
> MUXL=250718A4
> EXTPOL=00000000
>
> CORE REGISTERS:
>
> PC=00000000
> ISTP=00000000
> IFR=00000001 // in my mind it is not good
> IER=00000000
> IRP=826B9080
> NRP=BEBB8E6C
> AMR=00000000
> CSR=00020000
> CPUID=0
> REVID=2
> EN=0
> PGIE=0
> PCC=0
> DCC=0
> GIE=0
> SAT=0
> PWRD=00
>
>
>
>
>
>
>
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by ●September 7, 20082008-09-07
hi,
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi thanks very much mike
i dont know what can say for your hel, and my english is not good.
i did what you said and see:
in your Q3 my answer in end of question is NO,
when i push reset button and then power up the board, then connect and release the reset button in same time
ccs connect very faster to board and detect c6201 CPU. ohhh its very interesting thing
what is the reason?
but after this occured when i see core registers, i see that registers have non desired value for example EN is 1 but my dsp seting is big endian.
and i cant debug>reset CPU and i cant load program.
can you help me more for work my board? thanks a lot
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi thanks very much mike
i dont know what can say for your hel, and my english is not good.
i did what you said and see:
in your Q3 my answer in end of question is NO,
when i push reset button and then power up the board, then connect and release the reset button in same time
ccs connect very faster to board and detect c6201 CPU. ohhh its very interesting thing
what is the reason?
but after this occured when i see core registers, i see that registers have non desired value for example EN is 1 but my dsp seting is big endian.
and i cant debug>reset CPU and i cant load program.
can you help me more for work my board? thanks a lot
Reply by ●September 8, 20082008-09-08
Dorsil,
On Sun, Sep 7, 2008 at 2:14 PM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that
>> its my last problem and i can overcome it by increasing capacitor between
>> CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed
>> correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try
>> to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and
>> suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory
>> and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi thanks very much mike
>
> i dont know what can say for your hel, and my english is not good.
>
> i did what you said and see:
>
> in your Q3 my answer in end of question is NO,
>
> when i push reset button and then power up the board, then connect and
> release the reset button in same time
> ccs connect very faster to board and detect c6201 CPU. ohhh its very
> interesting thing
> what is the reason?
>
> but after this occured when i see core registers, i see that registers have
> non desired value for example EN is 1 but my dsp seting is big endian.
> and i cant debug>reset CPU and i cant load program.
>
> can you help me more for work my board? thanks a lot
Here are some pointers to resolving your problem
1. Please do not edit the email.
When you say the answer to 'Q3' is no, I have no idea what that means.
I often deal with dozens of issues in dozens of emails - I do not
remember what I wrote to you.
2. Answer the questions that I ask.
If I ask 5 questions, I would appreciate 5 answers [an answer of "I
don't know" is better than ignoring the question].
Keep in mind that you do not know which answers are important and
which ones are not.
If someone asking for help does not show the courtesy of answering the
questions, I am not inclined to provide further assistance.
3. The reason that I identify 'Q1', 'Q2', etc. is to clearly
communicate that I expect an answer AND to make sure that I can
associate the answer with the correct question [some people answer
questions out of order or do not answer all of the questions].
mikedunn
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
On Sun, Sep 7, 2008 at 2:14 PM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that
>> its my last problem and i can overcome it by increasing capacitor between
>> CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed
>> correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try
>> to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and
>> suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory
>> and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi thanks very much mike
>
> i dont know what can say for your hel, and my english is not good.
>
> i did what you said and see:
>
> in your Q3 my answer in end of question is NO,
>
> when i push reset button and then power up the board, then connect and
> release the reset button in same time
> ccs connect very faster to board and detect c6201 CPU. ohhh its very
> interesting thing
> what is the reason?
>
> but after this occured when i see core registers, i see that registers have
> non desired value for example EN is 1 but my dsp seting is big endian.
> and i cant debug>reset CPU and i cant load program.
>
> can you help me more for work my board? thanks a lot
Here are some pointers to resolving your problem
1. Please do not edit the email.
When you say the answer to 'Q3' is no, I have no idea what that means.
I often deal with dozens of issues in dozens of emails - I do not
remember what I wrote to you.
2. Answer the questions that I ask.
If I ask 5 questions, I would appreciate 5 answers [an answer of "I
don't know" is better than ignoring the question].
Keep in mind that you do not know which answers are important and
which ones are not.
If someone asking for help does not show the courtesy of answering the
questions, I am not inclined to provide further assistance.
3. The reason that I identify 'Q1', 'Q2', etc. is to clearly
communicate that I expect an answer AND to make sure that I can
associate the answer with the correct question [some people answer
questions out of order or do not answer all of the questions].
mikedunn
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by ●September 9, 20082008-09-09
hi,
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
.
hi mike
thank you very much for your helps.
i asked about my c6201 board design and i said that i can connect it but CCS window title is C6200, and can load the program but cant run it,
you said you first must solve "c6200", and suggested some test steps and i did them
in 3th step you said that push and hold RESET button and power up the board and releas reset button when try to connect,
i did this and emulator can detect correct CPU c6201 and connect faster than normal connection.but in this mode power up, core registers has undsired values and cant work correctly with CPU for example i set dsp in big endianessbut EN is 1 in CORE registers. you say that its a "c6201 executing garbage problem" and explain it that what happend, and suggest change bootmode from no boot process to FLASH(CE1) or HPI for run the good instruction in CPU for dont loosing the CPU control. i will try FLASH boot mode and say the results to you.
but i have some questions:
1-when try to work by other c6201 boards i havent "c6201 execution garbage problem" what is the reason?am i a bad luck man? :-(
2- what is the diffrence between CPU reset from the RESET active low pin and debug>reset CPU? and what does TRST signal in jtag signals (i think that CCS reset cpu by lowing TRST signal)
i see that when connect the dsp and try to reset the CPU bye reset button it has no effect (when refresh core registers they have old values ) is it normal?
thank
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
.
hi mike
thank you very much for your helps.
i asked about my c6201 board design and i said that i can connect it but CCS window title is C6200, and can load the program but cant run it,
you said you first must solve "c6200", and suggested some test steps and i did them
in 3th step you said that push and hold RESET button and power up the board and releas reset button when try to connect,
i did this and emulator can detect correct CPU c6201 and connect faster than normal connection.but in this mode power up, core registers has undsired values and cant work correctly with CPU for example i set dsp in big endianessbut EN is 1 in CORE registers. you say that its a "c6201 executing garbage problem" and explain it that what happend, and suggest change bootmode from no boot process to FLASH(CE1) or HPI for run the good instruction in CPU for dont loosing the CPU control. i will try FLASH boot mode and say the results to you.
but i have some questions:
1-when try to work by other c6201 boards i havent "c6201 execution garbage problem" what is the reason?am i a bad luck man? :-(
2- what is the diffrence between CPU reset from the RESET active low pin and debug>reset CPU? and what does TRST signal in jtag signals (i think that CCS reset cpu by lowing TRST signal)
i see that when connect the dsp and try to reset the CPU bye reset button it has no effect (when refresh core registers they have old values ) is it normal?
thank
Reply by ●September 9, 20082008-09-09
Dorsil,
On Tue, Sep 9, 2008 at 11:58 AM, wrote:
> hi,
> >
> >i design tms320c6201 dsp board,
> >
> >CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
> >
> >and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
> >but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
> >it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
> >
> >i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
> >
> >who can overcome this problem?
> >
> >and which important note must be do for soft reset pin connection?
> >
>
> >
> >
> .
> hi mike
>
> thank you very much for your helps.
> i asked about my c6201 board design and i said that i can connect it but CCS window title is C6200, and can load the program but cant run it,
>
> you said you first must solve "c6200", and suggested some test steps and i did them
>
> in 3th step you said that push and hold RESET button and power up the board and releas reset button when try to connect,
>
> i did this and emulator can detect correct CPU c6201 and connect faster than normal connection.but in this mode power up, core registers has undsired values and cant work correctly with CPU for example i set dsp in big endianessbut EN is 1 in CORE registers.
You might experiment with releasing reset a little sooner.
You also should make sure that your 'reset switch' is debounced - push
button switches generate quite a bit of noise that ends up being 1/0
transitions.
> you say that its a "c6201 executing garbage problem" and explain it that what happend, and suggest change bootmode from no boot process to FLASH(CE1) or HPI for run the good instruction in CPU for dont loosing the CPU control. i will try FLASH boot mode and say the results to you.
The minimum code that you need in flash is very simple [1 fetch
packet] and you can program it manually if you have must. The
following number are all hex.
addr instruction
RESET:
00 B RESET
04 NOP
08 NOP
0C NOP
10 NOP
14 NOP
18 NOP
1C NOP
In an 8 bit flash, this would translate to the following bits
[beginning aat address 0]
NOTE: For the 6201 the boot code [first 64K] is always stored in
Little Endian format in the flash device - even if the device is in
'big endian mode'
00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 -
00 00 00 00 - 00 00 00 00 - 00 00 00 00
When you have this code in flash, it should execute in a 'spin loop'.
Power the board up, the do a 'connect' in CCS. The PC should be
pointed at 0 and you should be able to load code, step, run, set
breakpoints, etc.
>
> but i have some questions:
> 1-when try to work by other c6201 boards i havent "c6201 execution garbage problem" what is the reason?am i a bad luck man? :-(
I have seen many different 6201 board designs - some of them
come up most of the time, some are 'hard to get connected', and some
are intermittent.
My unproven theory is that after the code executes in internal memory,
it 'wanders through the address space' attempting to execute more
code. Things like bus loading, FPGAs on the bus, etc. cause a
different pattern of bits to be fetched and executed.
>
> 2- what is the diffrence between CPU reset from the RESET active low pin and debug>reset CPU? and what does TRST signal in jtag signals (i think that CCS reset cpu by lowing TRST signal)
Reset pin - causes the boot mode and endianness pins to be read, the
selected boot process to be followed, and connects to a series of
logic inside that chip.
The only things guaranteed are the vector table starts at 0 and the PC
is reset to 0 [I think that GIE is also set to 0, but I do not
remember].
The programmer must setup up every register to ensure that it is in
the correct state.
Reset CPU - initiated by a JTAG scan and sets a bit inside the DSP
that causes the 'reset behavior' to take place - except that I do not
*THINK* that the endianness bit is re-read [I do not remember for
sure].
Emulator Reset = JTAG reset = toggle nTRST pin.
This does not do anything to the DSP logic. The JTAG protocol is
managed by 2 separate [and hopefully 'in sync'] state machines. One
is in the emulator and one is in the DSP. nTRST resets these state
machines to their initial state.
Additional note:
The default state of nTRST is low [constant JTAG reset] in normal
operation. This prevents the accidental 'scanning of emulation JTAG
commands' due to noise. When an emulator is connected, this pin is
pulled high. When it is high, it enables the DSP to be in 'emulation
mode' and breakpoints to be recognized.
>
> i see that when connect the dsp and try to reset the CPU bye reset button it has no effect (when refresh core registers they have old values ) is it normal?
Yes. The Reset button sets the PC to 0 and it starts running - unless
it sees a breakpoint.
mikedunn
>
> thank
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
On Tue, Sep 9, 2008 at 11:58 AM, wrote:
> hi,
> >
> >i design tms320c6201 dsp board,
> >
> >CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
> >
> >and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
> >but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
> >it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
> >
> >i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
> >
> >who can overcome this problem?
> >
> >and which important note must be do for soft reset pin connection?
> >
>
> >
> >
> .
> hi mike
>
> thank you very much for your helps.
> i asked about my c6201 board design and i said that i can connect it but CCS window title is C6200, and can load the program but cant run it,
>
> you said you first must solve "c6200", and suggested some test steps and i did them
>
> in 3th step you said that push and hold RESET button and power up the board and releas reset button when try to connect,
>
> i did this and emulator can detect correct CPU c6201 and connect faster than normal connection.but in this mode power up, core registers has undsired values and cant work correctly with CPU for example i set dsp in big endianessbut EN is 1 in CORE registers.
You might experiment with releasing reset a little sooner.
You also should make sure that your 'reset switch' is debounced - push
button switches generate quite a bit of noise that ends up being 1/0
transitions.
> you say that its a "c6201 executing garbage problem" and explain it that what happend, and suggest change bootmode from no boot process to FLASH(CE1) or HPI for run the good instruction in CPU for dont loosing the CPU control. i will try FLASH boot mode and say the results to you.
The minimum code that you need in flash is very simple [1 fetch
packet] and you can program it manually if you have must. The
following number are all hex.
addr instruction
RESET:
00 B RESET
04 NOP
08 NOP
0C NOP
10 NOP
14 NOP
18 NOP
1C NOP
In an 8 bit flash, this would translate to the following bits
[beginning aat address 0]
NOTE: For the 6201 the boot code [first 64K] is always stored in
Little Endian format in the flash device - even if the device is in
'big endian mode'
00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 -
00 00 00 00 - 00 00 00 00 - 00 00 00 00
When you have this code in flash, it should execute in a 'spin loop'.
Power the board up, the do a 'connect' in CCS. The PC should be
pointed at 0 and you should be able to load code, step, run, set
breakpoints, etc.
>
> but i have some questions:
> 1-when try to work by other c6201 boards i havent "c6201 execution garbage problem" what is the reason?am i a bad luck man? :-(
I have seen many different 6201 board designs - some of them
come up most of the time, some are 'hard to get connected', and some
are intermittent.
My unproven theory is that after the code executes in internal memory,
it 'wanders through the address space' attempting to execute more
code. Things like bus loading, FPGAs on the bus, etc. cause a
different pattern of bits to be fetched and executed.
>
> 2- what is the diffrence between CPU reset from the RESET active low pin and debug>reset CPU? and what does TRST signal in jtag signals (i think that CCS reset cpu by lowing TRST signal)
Reset pin - causes the boot mode and endianness pins to be read, the
selected boot process to be followed, and connects to a series of
logic inside that chip.
The only things guaranteed are the vector table starts at 0 and the PC
is reset to 0 [I think that GIE is also set to 0, but I do not
remember].
The programmer must setup up every register to ensure that it is in
the correct state.
Reset CPU - initiated by a JTAG scan and sets a bit inside the DSP
that causes the 'reset behavior' to take place - except that I do not
*THINK* that the endianness bit is re-read [I do not remember for
sure].
Emulator Reset = JTAG reset = toggle nTRST pin.
This does not do anything to the DSP logic. The JTAG protocol is
managed by 2 separate [and hopefully 'in sync'] state machines. One
is in the emulator and one is in the DSP. nTRST resets these state
machines to their initial state.
Additional note:
The default state of nTRST is low [constant JTAG reset] in normal
operation. This prevents the accidental 'scanning of emulation JTAG
commands' due to noise. When an emulator is connected, this pin is
pulled high. When it is high, it enables the DSP to be in 'emulation
mode' and breakpoints to be recognized.
>
> i see that when connect the dsp and try to reset the CPU bye reset button it has no effect (when refresh core registers they have old values ) is it normal?
Yes. The Reset button sets the PC to 0 and it starts running - unless
it sees a breakpoint.
mikedunn
>
> thank
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by ●September 11, 20082008-09-11
hi,
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi, thanks mike
i am dorsil,
about my c6201 board, and try to evade from "garbage executing"
i 'm going to test your suggestion about flash boot process
but because i am beginner i need some (= much) help.
I never programmed any flash but read some TI documents about CCS "hex converter utility" and I learn that must convert .out to .hex file, but I guess my needed code more simpler than use this utility. Can I write manually this hex file?
You said that :
00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
Is this format, right exactly?
And copy it to notepad file and rename it to .hex?
Hasn't it a problem about endianess ?
Can program it to flash?
My flash is 8bit flash "m29w010b"
I have question:
"after program it to flash and power up the board, program will be copy from flash to internal ram, then run" is it right explain?
Cpu runs it and stop or run it for ever?
from 'spin loop' that you said I think that cpu run it for ever and dosent stop
thanks mike
>
>i design tms320c6201 dsp board,
>
>CCS v3.1 can detect it and connect to it, i can load program to it (that its my last problem and i can overcome it by increasing capacitor between CVDD and GND!!!),
>
>and full access to internal memory,and see that IPRAM and IDRAM programmed correctly, and can fill any location by desired pattern
>but after load when try to run it, program dont run and cant halt it if try to halt it a error happens
>it says that unknown problem prevent the emulator to access the cpu, and suggests to disconnect.
>
>i thimk that when i run the program cpu dont run the 0x0 location memory and go to unknown state and emulator cant access cpu,
>
>who can overcome this problem?
>
>and which important note must be do for soft reset pin connection?
>
hi, thanks mike
i am dorsil,
about my c6201 board, and try to evade from "garbage executing"
i 'm going to test your suggestion about flash boot process
but because i am beginner i need some (= much) help.
I never programmed any flash but read some TI documents about CCS "hex converter utility" and I learn that must convert .out to .hex file, but I guess my needed code more simpler than use this utility. Can I write manually this hex file?
You said that :
00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
Is this format, right exactly?
And copy it to notepad file and rename it to .hex?
Hasn't it a problem about endianess ?
Can program it to flash?
My flash is 8bit flash "m29w010b"
I have question:
"after program it to flash and power up the board, program will be copy from flash to internal ram, then run" is it right explain?
Cpu runs it and stop or run it for ever?
from 'spin loop' that you said I think that cpu run it for ever and dosent stop
thanks mike
Reply by ●September 11, 20082008-09-11
Dorsil,
On Thu, Sep 11, 2008 at 7:06 AM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that
>> its my last problem and i can overcome it by increasing capacitor between
>> CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed
>> correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try
>> to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and
>> suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory
>> and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi, thanks mike
>
> i am dorsil,
>
> about my c6201 board, and try to evade from "garbage executing"
>
> i 'm going to test your suggestion about flash boot process
There seems to be a problem - you will need to program the flash
independent of the DSP.
You cannot 'load and run' a program that 'programs flash' to fix a
problem of 'cannot load and run a program'.
Is there any alternative way of programming your flash?? [flash
programmer, etc.]
>
> but because i am beginner i need some (= much) help.
>
> I never programmed any flash but read some TI documents about CCS "hex
> converter utility" and I learn that must convert .out to .hex file, but I
> guess my needed code more simpler than use this utility. Can I write
> manually this hex file?
>
> You said that :
>
> 00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00
> 00 00 - 00 00 00 00 - 00 00 00 00
>
> Is this format, right exactly?
No, I gave you the raw data for a flash programmer
> And copy it to notepad file and rename it to .hex?
> Hasn't it a problem about endianess ?
You should compile the assembly code that I included to create an 'out' file.
You MUST compile for LITTLE endian, then convert the '.out' to hex.
You will still have the problem of loading and executing the flash
programming code - but you only have to do it once.
>
> Can program it to flash?
> My flash is 8bit flash "m29w010b"
>
> I have question:
> "after program it to flash and power up the board, program will be copy from
> flash to internal ram, then run" is it right explain?
This is the standard flash boot process.
>
> Cpu runs it and stop or run it for ever?
> from 'spin loop' that you said I think that cpu run it for ever and dosent
> stop
It will run forever - until the emulator is connected [CCS conect],
this will halt the DSP.
mikedunn
>
> thanks mike
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
On Thu, Sep 11, 2008 at 7:06 AM, wrote:
> hi,
>>
>>i design tms320c6201 dsp board,
>>
>>CCS v3.1 can detect it and connect to it, i can load program to it (that
>> its my last problem and i can overcome it by increasing capacitor between
>> CVDD and GND!!!),
>>
>>and full access to internal memory,and see that IPRAM and IDRAM programmed
>> correctly, and can fill any location by desired pattern
>>but after load when try to run it, program dont run and cant halt it if try
>> to halt it a error happens
>>it says that unknown problem prevent the emulator to access the cpu, and
>> suggests to disconnect.
>>
>>i thimk that when i run the program cpu dont run the 0x0 location memory
>> and go to unknown state and emulator cant access cpu,
>>
>>who can overcome this problem?
>>
>>and which important note must be do for soft reset pin connection?
>>
>
>>
>> hi, thanks mike
>
> i am dorsil,
>
> about my c6201 board, and try to evade from "garbage executing"
>
> i 'm going to test your suggestion about flash boot process
There seems to be a problem - you will need to program the flash
independent of the DSP.
You cannot 'load and run' a program that 'programs flash' to fix a
problem of 'cannot load and run a program'.
Is there any alternative way of programming your flash?? [flash
programmer, etc.]
>
> but because i am beginner i need some (= much) help.
>
> I never programmed any flash but read some TI documents about CCS "hex
> converter utility" and I learn that must convert .out to .hex file, but I
> guess my needed code more simpler than use this utility. Can I write
> manually this hex file?
>
> You said that :
>
> 00 00 00 12 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00
> 00 00 - 00 00 00 00 - 00 00 00 00
>
> Is this format, right exactly?
No, I gave you the raw data for a flash programmer
> And copy it to notepad file and rename it to .hex?
> Hasn't it a problem about endianess ?
You should compile the assembly code that I included to create an 'out' file.
You MUST compile for LITTLE endian, then convert the '.out' to hex.
You will still have the problem of loading and executing the flash
programming code - but you only have to do it once.
>
> Can program it to flash?
> My flash is 8bit flash "m29w010b"
>
> I have question:
> "after program it to flash and power up the board, program will be copy from
> flash to internal ram, then run" is it right explain?
This is the standard flash boot process.
>
> Cpu runs it and stop or run it for ever?
> from 'spin loop' that you said I think that cpu run it for ever and dosent
> stop
It will run forever - until the emulator is connected [CCS conect],
this will halt the DSP.
mikedunn
>
> thanks mike
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php






