Mike-
> [mld] FYI -> Jeff, keep in mind that what is 'odd' for one user may
be routine for
others.> I have worked with a few clients that had many DSPs on a board for
processing only. Like a system with multiple PCI cards - each card contained 18
c6x
devices. Of course most that I have seen contain 4-8 c6x devices.
Maybe, but I've seen all the cases, and it's doubtful there's
not another way in.
Most DSP cards -- with some exceptions such as farm cards you mention --
inherently
have a lot of I/O, that's part of their purpose.
In the farm card situation you describe a) there's not likely to be a
Flash, code
would be downloaded via PCI bus. If not and self-boot is required, then each
DSP is
not going to have it's own Flash; instead there would likely be a PLD of
some type
connecting shared resources (like the Flash) to the DSP farm. Either way,
still
various paths to get to either the Flash or the DSP itself.
Will be interesting to see if the OP comes back and says what his card does and
what
I/O it's got.
-Jeff
Michael Dunn wrote:
> Jeff,
> On 4/7/08, Jeff Brower wrote:
>
> Ivan-
>
> > I don't have any boundary scan hardware or software. I must do
> everything
> > by direct control of the JTAG pins, without using external software.
> >
> > The board with the DSP is a part of our system. This board is
already
> > designed. It works properly and passed the tests. No any hardware
> > modifications are supposed to be done at this point.
> > What else needs to be implemented is an ability for in-circuit
firmware
>
> > upgrade. The DSP flash memory image will be transferred via
Ethernet.
> >
> > The JTAG is the only interface available on the board IO connector
and
> > my task is to find a way to use it to reprogram the flash. It can be
> > done using a JTAG debugger uploading an "Updater" application into
> SDRAM
> > of the DSP. This application accesses the COFF file with the flash
> image
> > via JTAG and programs the flash.
> > The JTAG debugger does it, hence it should possible to be done
directly
>
> > by the system microprocessor working on TDI, TDO, TMS and TCK.
>
> Yes, but the "JTAG debugger does it" is a process controlled by CCS,
> which is complex
> software, developed over many years by TI, at expense of
multi-millions
> of dollars.
>
> > The problem is I couldn't find any information how to wiggle the
JTAG
> > signals in this mode and I gave up.
>
> As Mike said, you can find JTAG signal information on the web. But the
> method used
> by CCS is proprietary TI information.
>
> > Then I decided to use a simpler approach: shift appropriate data
into
> > Boundary Scan Register to access the flash memory control lines and
> > address/data buses using the EXTEST instruction. I know this
approach
> > is slower but I have no choice.
> > According to the IEEE1149 standard the instructions EXTEST and
> > SAMPLE/PRELOAD are public instructions. Anyway I didn't succeed to
get
> > any information about their binary codes and the way of connecting
> > the Boundary Scan Register between TDI and TDO.
> >
> > You mention a 'BSDL file' with command info about JTAG,
located in the
> > product folder of TMS320C6416. I couldn't find it either. Could
you
> > please give me a link to it?
>
> As Mike said, the boundary scan method may be do-able, but would be a
lot
> of work.
> This may be one of those cases where management says "use the JTAG
> connector because
> it's there" but then ends up spending time and money that way
exceeds
> finding another
> method. I see from your posts on comp.dsp that your Flash chip is a
> Spansion
> AM29LV160B, an older device that doesn't support JTAG or "other way
in".
>
> A few questions:
>
> 1) First, how does the Flash chip get programmed the first time? You
guys
> always use
> CCS and run a DSP program before the board is shipped?
>
> 2) Your task is for purposes of "field upgrade"? After the board has
been
> shipped?
>
> 3) You have an external processor that will receive the updated DSP
> program via
> Ethernet, then has access to the JTAG connector? It has direct access
to
> the JTAG
> signals as the DSP board is currently designed? Or the user will need
to
> connect a
> cable?
>
> 4) What does this DSP board do? It doesn't have any other IO
connectors
> besides
> JTAG? That would be odd for a DSP board.
>
> [mld] FYI -Jeff, keep in mind that what is 'odd' for one user may be
routine for
> others.I have worked with a few clients that had many DSPs on a board for
> processing only. Like a system with multiple PCI cards - each card contained
18
> c6x devices. Of course most that I have seen contain 4-8 c6x devices.
>
> mikedunn
>
> I ask because it's almost always possible
> to instruct the DSP program to go into an "update mode" (idle, with
other
> I/O
> disabled), transfer the new program to it using one the standard 6416
> interfaces
> (serial port, HPI, UTOPIA, etc), then the DSP programs the Flash.
>
> It's very rare that field upgrade involves programming the Flash
with the
> DSP in
> non-running mode and with the board installed in an actual system
(i.e.
> not being
> tested separately). You would be doing this if you use BDSL. If you do
> that, you
> have to pay attention to all other circuitry and board I/O connected
to
> the DSP, and
> make sure you don't damage anything.
>
> -Jeff
>
Reply by Michael Dunn●April 7, 20082008-04-07
Jeff,
On 4/7/08, Jeff Brower wrote: >
> Ivan-
>
> > I don't have any boundary scan hardware or software. I must do
> everything
> > by direct control of the JTAG pins, without using external software.
> >
> > The board with the DSP is a part of our system. This board is already
> > designed. It works properly and passed the tests. No any hardware
> > modifications are supposed to be done at this point.
> > What else needs to be implemented is an ability for in-circuit firmware
> > upgrade. The DSP flash memory image will be transferred via Ethernet.
> >
> > The JTAG is the only interface available on the board IO connector and
> > my task is to find a way to use it to reprogram the flash. It can be
> > done using a JTAG debugger uploading an "Updater" application into SDRAM
> > of the DSP. This application accesses the COFF file with the flash image
> > via JTAG and programs the flash.
> > The JTAG debugger does it, hence it should possible to be done directly
> > by the system microprocessor working on TDI, TDO, TMS and TCK.
>
> Yes, but the "JTAG debugger does it" is a process controlled by CCS, which
> is complex
> software, developed over many years by TI, at expense of multi-millions of
> dollars.
>
> > The problem is I couldn't find any information how to wiggle the
JTAG
> > signals in this mode and I gave up.
>
> As Mike said, you can find JTAG signal information on the web. But the
> method used
> by CCS is proprietary TI information.
>
> > Then I decided to use a simpler approach: shift appropriate data into
> > Boundary Scan Register to access the flash memory control lines and
> > address/data buses using the EXTEST instruction. I know this approach
> > is slower but I have no choice.
> > According to the IEEE1149 standard the instructions EXTEST and
> > SAMPLE/PRELOAD are public instructions. Anyway I didn't succeed to
get
> > any information about their binary codes and the way of connecting
> > the Boundary Scan Register between TDI and TDO.
> >
> > You mention a 'BSDL file' with command info about JTAG, located in
the
> > product folder of TMS320C6416. I couldn't find it either. Could you
> > please give me a link to it?
>
> As Mike said, the boundary scan method may be do-able, but would be a lot
> of work.
> This may be one of those cases where management says "use the JTAG
> connector because
> it's there" but then ends up spending time and money that way exceeds
> finding another
> method. I see from your posts on comp.dsp that your Flash chip is a
> Spansion
> AM29LV160B, an older device that doesn't support JTAG or "other way
in".
>
> A few questions:
>
> 1) First, how does the Flash chip get programmed the first time? You guys
> always use
> CCS and run a DSP program before the board is shipped?
>
> 2) Your task is for purposes of "field upgrade"? After the board has been
> shipped?
>
> 3) You have an external processor that will receive the updated DSP
> program via
> Ethernet, then has access to the JTAG connector? It has direct access to
> the JTAG
> signals as the DSP board is currently designed? Or the user will need to
> connect a
> cable?
>
> 4) What does this DSP board do? It doesn't have any other IO
connectors
> besides
> JTAG? That would be odd for a DSP board.
> [mld] FYI -
Jeff, keep in mind that what is 'odd' for one user may be routine
for
others.
I have worked with a few clients that had many DSPs on a board for
processing only. Like a system with multiple PCI cards - each card
contained 18 c6x devices. Of course most that I have seen contain 4-8 c6x
devices.
mikedunn
> I ask because it's almost always possible
> to instruct the DSP program to go into an "update mode" (idle, with other
> I/O
> disabled), transfer the new program to it using one the standard 6416
> interfaces
> (serial port, HPI, UTOPIA, etc), then the DSP programs the Flash.
>
> It's very rare that field upgrade involves programming the Flash with
the
> DSP in
> non-running mode and with the board installed in an actual system (i.e.
> not being
> tested separately). You would be doing this if you use BDSL. If you do
> that, you
> have to pay attention to all other circuitry and board I/O connected to
> the DSP, and
> make sure you don't damage anything.
>
> -Jeff
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by Jeff Brower●April 7, 20082008-04-07
Ivan-
> I don't have any boundary scan hardware or
software. I must do everything
> by direct control of the JTAG pins, without using external software.
>
> The board with the DSP is a part of our system. This board is already
> designed. It works properly and passed the tests. No any hardware
> modifications are supposed to be done at this point.
> What else needs to be implemented is an ability for in-circuit firmware
> upgrade. The DSP flash memory image will be transferred via Ethernet.
>
> The JTAG is the only interface available on the board IO connector and
> my task is to find a way to use it to reprogram the flash. It can be
> done using a JTAG debugger uploading an "Updater" application into SDRAM
> of the DSP. This application accesses the COFF file with the flash image
> via JTAG and programs the flash.
> The JTAG debugger does it, hence it should possible to be done directly
> by the system microprocessor working on TDI, TDO, TMS and TCK.
Yes, but the "JTAG debugger does it" is a process controlled by CCS, which is
complex
software, developed over many years by TI, at expense of multi-millions of
dollars.
> The problem is I couldn't find any information
how to wiggle the JTAG
> signals in this mode and I gave up.
As Mike said, you can find JTAG signal information on the web. But the method
used
by CCS is proprietary TI information.
> Then I decided to use a simpler approach: shift
appropriate data into
> Boundary Scan Register to access the flash memory control lines and
> address/data buses using the EXTEST instruction. I know this approach
> is slower but I have no choice.
> According to the IEEE1149 standard the instructions EXTEST and
> SAMPLE/PRELOAD are public instructions. Anyway I didn't succeed to get
> any information about their binary codes and the way of connecting
> the Boundary Scan Register between TDI and TDO.
>
> You mention a 'BSDL file' with command info about JTAG, located in
the
> product folder of TMS320C6416. I couldn't find it either. Could you
> please give me a link to it?
As Mike said, the boundary scan method may be do-able, but would be a lot of
work.
This may be one of those cases where management says "use the JTAG connector
because
it's there" but then ends up spending time and money that way exceeds
finding another
method. I see from your posts on comp.dsp that your Flash chip is a Spansion
AM29LV160B, an older device that doesn't support JTAG or "other way in".
A few questions:
1) First, how does the Flash chip get programmed the first time? You guys
always use
CCS and run a DSP program before the board is shipped?
2) Your task is for purposes of "field upgrade"? After the board has been
shipped?
3) You have an external processor that will receive the updated DSP program
via
Ethernet, then has access to the JTAG connector? It has direct access to the
JTAG
signals as the DSP board is currently designed? Or the user will need to
connect a
cable?
4) What does this DSP board do? It doesn't have any other IO connectors
besides
JTAG? That would be odd for a DSP board. I ask because it's almost always
possible
to instruct the DSP program to go into an "update mode" (idle, with other I/O
disabled), transfer the new program to it using one the standard 6416
interfaces
(serial port, HPI, UTOPIA, etc), then the DSP programs the Flash.
It's very rare that field upgrade involves programming the Flash with the
DSP in
non-running mode and with the board installed in an actual system (i.e. not
being
tested separately). You would be doing this if you use BDSL. If you do that,
you
have to pay attention to all other circuitry and board I/O connected to the DSP,
and
make sure you don't damage anything.
-Jeff
Reply by Michael Dunn●April 7, 20082008-04-07
On 4/6/08, s...@yahoo.com wrote: > Mike,
>
> I don't have any boundary scan hardware or software. I must do everything
by direct control of the JTAG pins, without using external software.
>
[mld]This is quite an undertaking. I would suggest doing some research
on open source software for JTAG access. You can [at least you could
in the past] find sw that talks to a parallel port and 'bit bangs'
the
JTAG sequences. You should be able to also find schematics for a
simple parallel port-to-JTAG adapter [it has one IC - a buffer chip
for the signals]. This will allow you to learn/figure out the proper
sequences.
> The board with the DSP is a part of our system. This
board is already designed. It works properly and passed the tests. No any
hardware modifications are supposed to be done at this point.
> What else needs to be implemented is an ability for in-circuit firmware
upgrade. The DSP flash memory image will be transferred via Ethernet.
[mld] Can you add 'bootp' support to your Flash??
If so, it would be much easier to download the code to upgrade.
>
> The JTAG is the only interface available on the board IO connector and my task
is to find a way to use it to reprogram the flash. It can be done using a JTAG
debugger uploading an "Updater" application into SDRAM of the DSP. This
application accesses the COFF file with the flash image via JTAG and programs
the flash.
> The JTAG debugger does it, hence it should possible to be done directly by the
system microprocessor working on TDI, TDO, TMS and TCK.
[mld] Yes, it is possible if these pins can be controlled.
> The problem is I couldn't find any information
how to wiggle the JTAG signals in this mode and I gave up.
[mld]There is a lot of info on this subject. Sometimes it is specific
to a particular micro, but the basic sequences are the same.
>
> Then I decided to use a simpler approach: shift appropriate data into Boundary
Scan Register to access the flash memory control lines and address/data buses
using the EXTEST instruction. I know this approach is slower but I have no
choice.
> According to the IEEE1149 standard the instructions EXTEST and SAMPLE/PRELOAD
are public instructions. Anyway I didn't succeed to get any information
about their binary codes and the way of connecting the Boundary Scan Register
between TDI and TDO.
>
> You mention a 'BSDL file' with command info about JTAG, located in
the product folder of TMS320C6416. I couldn't find it either. Could you
please give me a link to it? [mld] My search took me to the product folder: http://focus.ti.com/docs/prod/folders/print/tms320c6416.html
The 'simulation models' link at the top took me to:
BSDL Model
C6414, C6415, C6416 GLZ BSDL Model (Silicon Revision 2.0) (sprm138.zip, 11
KB)
19 Dec 2003 zip
The 'zip' file is at: http://www.ti.com/litv/zip/sprm138
Reply by shem...@yahoo.com●April 6, 20082008-04-06
Mike,
I don’t have any boundary scan hardware or software. I must do everything
by direct control of the JTAG pins, without using external software.
The board with the DSP is a part of our system. This board is already designed.
It works properly and passed the tests. No any hardware modifications are
supposed to be done at this point.
What else needs to be implemented is an ability for in-circuit firmware upgrade.
The DSP flash memory image will be transferred via Ethernet.
The JTAG is the only interface available on the board IO connector and my task
is to find a way to use it to reprogram the flash. It can be done using a JTAG
debugger uploading an "Updater" application into SDRAM of the DSP. This
application accesses the COFF file with the flash image via JTAG and programs
the flash.
The JTAG debugger does it, hence it should possible to be done directly by the
system microprocessor working on TDI, TDO, TMS and TCK.
The problem is I couldn’t find any information how to wiggle the JTAG
signals in this mode and I gave up.
Then I decided to use a simpler approach: shift appropriate data into Boundary
Scan Register to access the flash memory control lines and address/data buses
using the EXTEST instruction. I know this approach is slower but I have no
choice.
According to the IEEE1149 standard the instructions EXTEST and SAMPLE/PRELOAD
are public instructions. Anyway I didn’t succeed to get any information
about their binary codes and the way of connecting the Boundary Scan Register
between TDI and TDO.
You mention a 'BSDL file' with command info about JTAG, located in the
product folder of TMS320C6416. I couldn't find it either. Could you please
give me a link to it?
Thank you,
Ivan
Reply by Michael Dunn●April 5, 20082008-04-05
Ivan,
On Sat, Apr 5, 2008 at 11:38 AM, wrote: > Hi,
>
> I need to connect the Boundary Scan Register between TDI and TDO.
> Does anybody know where to find the binary codes of the JTAG instructions
> PRELOAD, SAMPLE and EXTEST, and the way of using them to scan serial data
to
> access the external flash of the chip?
This is one of those tasks that 'sounds so easy', but may take a bit
of work.
1. First we need more information. Are you trying to get to a JTAG
port on the Flash OR are you trying to program the Flash from the
6416??
2. You will need boundary scan hardware and software. Do you have this??
3. Normally you will need an adapter to go from you boundary scan
cable to the TI 14 pin JTAG connector. The more expensive tools
provide this adapter, others tell you how to build it. You will need
to pullup nTRST to 3.3v to enable the JTAG TAP on the 6416 to
function. You will need to pulldown EMU0 and EMU1 to enable boundary
scan.
4. To get the command info [SAMPLE and EXTEST are used on the 6416 -
I'm not sure about PRELOAD], pin mapping, and other stuff that you
need, you can goto ti.com. Search for 'TMS320C6416', look for
'product folder' in the match list [it is usually near the top],
goto
the product folder and look near the bottom of the page for something
like 'BSDL file'. Download the zip file ana 'unzip it'.
This will
give you a place to start.
mikedunn >
> Thank you,
> Ivan
>
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Reply by shem...@yahoo.com●April 5, 20082008-04-05
Hi,
I need to connect the Boundary Scan Register between TDI and TDO.
Does anybody know where to find the binary codes of the JTAG instructions
PRELOAD, SAMPLE and EXTEST, and the way of using them to scan serial data to
access the external flash of the chip?