DSPRelated.com
Forums

Conceptual question on Emulator and HPI

Started by Unknown October 10, 2001
Hello. I have some conceptual questions on emulator and HPI. What is
the benefit of using an external emulator instead of an embedded JTAG
to perform debugging of a DSP board (with CCS)? I understand from a
good friend who has always answered my questions that with an
external emulator I would save cost if many boards were built (save
on not needing an embedded JTAG on the board). Suppose that is true,
and I believe it is since it is from a reliable source, do I have to
download the application program onto the FLASH ROM first before I
can use an external emulator? The reason I ask this is because the
external emulator needs to be connected onto the parallel port but so
does the DSK itself. I read that with an external emulator the DSK
itself need not be connected to the parallel (i.e. only the external
emulator needs to be connected). Is that true? If that is true and if
I don't have to download the application program to FLASH ROM, that
would mean that the application program is somehow transferred to the
DSP via the external emulator. Is this true? The reason why I ask
this is because I am trying to design my own board and am wondering,
if I should decide to use the external emulator, if I need to have
aIEEE1284 port on my board (I definitely need the 14pin Emulator port
since I am using an external emulator). Now suppose that I don't need
a IEEE1284 port on the DSP board can I flash the application program
down onto the FLASH ROM via the emulator? This seems impossible
because I could not see how the signals from the emulator could be
connected to the DSP for the downloading to occur. This brings me to
my next question. If I run a program from CCS, how is the application
program relay to the DSP? Does the PC send one instruction at a time
to the DSP or is the application program downloaded all at once onto
the DSP (to its internal RAM for example)?

All responses/advises/comments are welcome.
Thank you.

Regards,
A. Feynman




Emulators.

I guess the general reasoning with emulators is, if you don't need to have
JTAG access in the normal running of your end product then why complicate
the board design. Simply provide a JTAG connector and debug with an emulator
during the development phase.

You don't need to download an application into FLASH before using the
emulator, as long as you have the DSP powered and ensure that it is ready to
go (ie. not held in reset for example) then you should be able to connect
and download code with an emulator.

As regards the TI C6711 DSK, you are correct in that the board does not need
to be connected to the parallel port if you are debugging with an emulator.
In fact the DSK automatically detects that an external emulator is connected
and disables the embedded JTAG controller. However if you have an
application where your board needs to use the PC parallel port for some
reason then this need not be a problem. At Kane Computing we have emulators
available in PCI, ISA, PCMCIA and USB interface formats as well as the
well-known Parallel Port emulators.

You are correct in that you can use Code Composer Studio to download your
application code directly into DSP memory on the board. You can also program
the FLASH using the emulator. Though in this case you will have to download
a flash programming algorithm and then download your application code, then
run the flash algorithm to transfer your application into FLASH.

Code Composer will load your entire application into DSP memory before you
start to run the code. The program code will be stored in internal or
external memory depending on the directives you have made in your Code
Composer Linker Command file.

I hope you find this info useful.

Best Regards,

Dr. Kevin Howson
Technical Manager
Kane Computing Ltd
www.kanecomputing.com
----- Original Message -----
From: <>
To: <>
Sent: Wednesday, October 10, 2001 11:48 PM
Subject: [c6x] Conceptual question on Emulator and HPI > Hello. I have some conceptual questions on emulator and HPI. What is
> the benefit of using an external emulator instead of an embedded JTAG
> to perform debugging of a DSP board (with CCS)? I understand from a
> good friend who has always answered my questions that with an
> external emulator I would save cost if many boards were built (save
> on not needing an embedded JTAG on the board). Suppose that is true,
> and I believe it is since it is from a reliable source, do I have to
> download the application program onto the FLASH ROM first before I
> can use an external emulator? The reason I ask this is because the
> external emulator needs to be connected onto the parallel port but so
> does the DSK itself. I read that with an external emulator the DSK
> itself need not be connected to the parallel (i.e. only the external
> emulator needs to be connected). Is that true? If that is true and if
> I don't have to download the application program to FLASH ROM, that
> would mean that the application program is somehow transferred to the
> DSP via the external emulator. Is this true? The reason why I ask
> this is because I am trying to design my own board and am wondering,
> if I should decide to use the external emulator, if I need to have
> aIEEE1284 port on my board (I definitely need the 14pin Emulator port
> since I am using an external emulator). Now suppose that I don't need
> a IEEE1284 port on the DSP board can I flash the application program
> down onto the FLASH ROM via the emulator? This seems impossible
> because I could not see how the signals from the emulator could be
> connected to the DSP for the downloading to occur. This brings me to
> my next question. If I run a program from CCS, how is the application
> program relay to the DSP? Does the PC send one instruction at a time
> to the DSP or is the application program downloaded all at once onto
> the DSP (to its internal RAM for example)?
>
> All responses/advises/comments are welcome.
> Thank you.
>
> Regards,
> A. Feynman >
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author
of this message will receive your answer. You need to do a "reply all" if
you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.yahoogroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/



>Hello. I have some conceptual questions on emulator and HPI. What is
>the benefit of using an external emulator instead of an embedded JTAG
>to perform debugging of a DSP board (with CCS)? I understand from a
>good friend who has always answered my questions that with an
>external emulator I would save cost if many boards were built (save
>on not needing an embedded JTAG on the board).

If by embedded JTAG you mean the same approach as the DSK then your friend is
correct. Basically, the 'embedded JTAG' circuitry is placed on a board inside
your PC, or between the parallel port and the board under test. You unit then
has the 14 pin header and nothing else on it.
Therefore you have exactly the same capabilities as before, just the interface
chips have moved.

> Suppose that is true,
>and I believe it is since it is from a reliable source, do I have to
>download the application program onto the FLASH ROM first before I
>can use an external emulator?

You should be able to use either mode of emulation to load your flash, because
both allow you to load code and data into the processor anyway.

>The reason I ask this is because the
>external emulator needs to be connected onto the parallel port but so
>does the DSK itself. I read that with an external emulator the DSK
>itself need not be connected to the parallel (i.e. only the external
>emulator needs to be connected). Is that true? If that is true and if
>I don't have to download the application program to FLASH ROM, that
>would mean that the application program is somehow transferred to the
>DSP via the external emulator. Is this true?

Both styles of emulator can load code into the processor/memory

> The reason why I ask
>this is because I am trying to design my own board and am wondering,
>if I should decide to use the external emulator, if I need to have
>aIEEE1284 port on my board (I definitely need the 14pin Emulator port
>since I am using an external emulator). Now suppose that I don't need
>a IEEE1284 port on the DSP board can I flash the application program
>down onto the FLASH ROM via the emulator?

Yes, you don't need an IEEE1284 port.

>This seems impossible
>because I could not see how the signals from the emulator could be
>connected to the DSP for the downloading to occur.

From the 14 pin header. > This brings me to
>my next question. If I run a program from CCS, how is the application
>program relay to the DSP? Does the PC send one instruction at a time
>to the DSP or is the application program downloaded all at once onto
>the DSP (to its internal RAM for example)?
>

CCS downloads the code/dta into the DSPs internal memory and external storage
and then tells it to run. Or single step. Or set a breakpoint. Or whatever.
But fundamentally everything to do with execution takes places inside the DSP
and its assocaited memory.

>All responses/advises/comments are welcome.


Hope it helps!

Cheers,
Martin

--
Martin Thompson BEng(Hons) CEng MIEE
TRW Automotive Advanced Product Development,
Stratford Road, Solihull, B90 4GW. UK
Tel: +44 (0)121-627-3569
mailto: