DSPRelated.com
Forums

3x faster program downloads

Started by Art Johnson December 6, 2002
We have found that by using the flash_over_jtag.exe application from Motorola,
the program downloads to our systems over the JTAG port take about 1/3 of the
time when compared to the downloads from the CodeWarrior IDE. This is ***NOT***
a criticism of CodeWarrior, which (of course) is forced to use the higher-level
Windows I/O Port Driver. The flash_over_jtag.exe application from Motorola, if
you look at the source code that comes with the SDK, uses direct I/O Port
hardware reads and writes. The result, for our largest program, is that
downloads that used to take over 5 minutes, now take about 1 minute and 20
seconds.

You can get the flash_over_jtag.exe application from here:
http://e-www.motorola.com/cgi-bin/faq.cgi, search for FAQ number 19703.
[Note: Many thanks to Ljubisa on this one!]

In order to run the flash_over_jtag.exe application, you must first remove the
PC's Parallel Port from being controlled by the operating system. This is done
by copying the UserPort.sys file to %WINDIR%\SYSTEM32\DRIVERS and running the
UserPort.exe application. See the UserPort.pdf file for more detailed
information on installing and running the UserPort.exe application. When you
run it, the only address range that should be used is the LPT1 printer port
addresses, 378-37F.

After running the UserPort.exe application, the flash_over_jtag.exe application
can be run. The files Flash_over_JTAG.pdf and flash_over_jtag.txt explain how
to use this application, but to get you started quickly, here is the procedure I
use:

1) Run the UserPort.exe application, make sure that the only address range is
378-37F, and click the Start button.

2) Copy your target application's S-Record File (for example, Flash.elf.S) from
your project's Debug directory (eg
C:\Development\DSP568xx\8550A005\Software\Debug) to the directory where you put
the flash_over_jtag.exe application (eg
C:\Development\DSP568xx\Moto_SDK\Flash_over_JTAG).

3) Open up a Command Prompt window, like an MS-DOS window, and CD to the
directory where you put the flash_over_jtag.exe application. Run the
flash_over_jtag.exe application as follows (for the 807 chip):
flash_over_jtag flash807.cfg Flash.elf.S

4) The output from the flash_over_jtag.exe application looks like the following
(the first 3 lines below are actually repeated a number of times):
Data @ 0xF000 ignored
Data @ 0xF026 ignored
Data @ 0x40 ignored
Initialising FIU at address: 0x1380
FIU (0x1380) initialisation done.
Flash (0x1380) mass erase done.
Flash (0x1380) programming done. 0 words written.
Initialising FIU at address: 0x1340
FIU (0x1340) initialisation done.
Flash (0x1340) mass erase done.
Flash (0x1340) programming done. 0x7ffc words written.
Initialising FIU at address: 0x1420
FIU (0x1420) initialisation done.
Flash (0x1420) mass erase done.
Flash (0x1420) programming done. 0x5f60 words written.
Initialising FIU at address: 0x1380
FIU (0x1380) initialisation done.
Mass erase skipped.
Flash (0x1380) programming done. 0x4 words written.
Initialising FIU at address: 0x1360
FIU (0x1360) initialisation done.
Flash (0x1360) mass erase done.
Flash (0x1360) programming done. 0 words written.
The target was reset, the application is running

5) Run the UserPort.exe application, and click the Stop button. This gives
control of the PC's Parallel Port back to the operating system.

6) You can still use CodeWarrior to debug the program, just make sure that the
tickbox marked "Always load program at debugger launch" is NOT checked in the
Target Settings panel. Art Johnson
Senior Systems Analyst
PMC Prime Mover Controls Inc.
3600 Gilmore Way
Burnaby, B.C., Canada
V5G 4R8
Phone: 604 433-4644
FAX: 604 433-5570
Email:
http://www.pmc-controls.com



Attachment (not stored)
UserPort.pdf
Type: application/octet-stream

DSP56F800 Flash loader. Compiled on Jul 3 2002, 19:04:20.
version Delta 0.6
(c) Motorola 2001 - 2002, MCSL

Usage:

Flash_over_JTAG <flash config file> <S-record file> [<options>] or
Flash_over_JTAG <flash config file> [<options>]

Options:

-pPORT PORT specifies the printer port address, the default is 0x378 (LPT1)
-page Specifies that page erases should be used instead of mass erase
-info Access information blocks of Flash units instead of main blocks
-mI,D Support for JTAG daisy-chain. I and D specify position in the chain
-l<log file> Write messages into log file
-t<S-rec file> Process additional S-record file
-r<mem><start>:<end> Dump DSP memory to S-record file
-v<mem><start>:<end> Dump DSP memory to screen

Number of parameters incorrect or other error

Usage:

Flash_over_JTAG <flash config file> <S-record file> [<options>] or
Flash_over_JTAG <flash config file> [<options>]

Options:

-pPORT PORT specifies the printer port address, the default is 0x378 (LPT1)
-page Specifies that page erases should be used instead of mass erase
-info Access information blocks of Flash units instead of main blocks
-mI,D Support for JTAG daisy-chain. I and D specify position in the chain
-l<log file> Write messages into log file
-t<S-rec file> Process additional S-record file
-r<mem><start>:<end> Dump DSP memory to S-record file
-v<mem><start>:<end> Dump DSP memory to screen



FYI

How to generate S record File?

Click to Edit->Settings Or Alt+F7, a dialog box will appear on the
screen.
Select Linker->M56800 Linker and select "Generate S-Record File" due to
this selection codewarrior generates S Record file for your project.
I don't know whether by default codewarrior generates the S-Record file
just want to share "Generation of S-Record file" with all of you.
Thanks and Regards,
Nitin -----Original Message-----
From: Art Johnson [mailto:]
Sent: Friday, December 06, 2002 8:07 PM
To:
Subject: [motoroladsp] 3x faster program downloads We have found that by using the flash_over_jtag.exe application from
Motorola, the program downloads to our systems over the JTAG port take
about 1/3 of the time when compared to the downloads from the
CodeWarrior IDE. This is ***NOT*** a criticism of CodeWarrior, which
(of course) is forced to use the higher-level Windows I/O Port Driver.
The flash_over_jtag.exe application from Motorola, if you look at the
source code that comes with the SDK, uses direct I/O Port hardware reads
and writes. The result, for our largest program, is that downloads that
used to take over 5 minutes, now take about 1 minute and 20 seconds.

You can get the flash_over_jtag.exe application from here:
http://e-www.motorola.com/cgi-bin/faq.cgi, search for FAQ number 19703.
[Note: Many thanks to Ljubisa on this one!]

In order to run the flash_over_jtag.exe application, you must first
remove the PC's Parallel Port from being controlled by the operating
system. This is done by copying the UserPort.sys file to
%WINDIR%\SYSTEM32\DRIVERS and running the UserPort.exe application. See
the UserPort.pdf file for more detailed information on installing and
running the UserPort.exe application. When you run it, the only address
range that should be used is the LPT1 printer port addresses, 378-37F.

After running the UserPort.exe application, the flash_over_jtag.exe
application can be run. The files Flash_over_JTAG.pdf and
flash_over_jtag.txt explain how to use this application, but to get you
started quickly, here is the procedure I use:

1) Run the UserPort.exe application, make sure that the only address
range is 378-37F, and click the Start button.

2) Copy your target application's S-Record File (for example,
Flash.elf.S) from your project's Debug directory (eg
C:\Development\DSP568xx\8550A005\Software\Debug) to the directory where
you put the flash_over_jtag.exe application (eg
C:\Development\DSP568xx\Moto_SDK\Flash_over_JTAG).

3) Open up a Command Prompt window, like an MS-DOS window, and CD to the
directory where you put the flash_over_jtag.exe application. Run the
flash_over_jtag.exe application as follows (for the 807 chip):
flash_over_jtag flash807.cfg Flash.elf.S

4) The output from the flash_over_jtag.exe application looks like the
following (the first 3 lines below are actually repeated a number of
times):
Data @ 0xF000 ignored
Data @ 0xF026 ignored
Data @ 0x40 ignored
Initialising FIU at address: 0x1380
FIU (0x1380) initialisation done.
Flash (0x1380) mass erase done.
Flash (0x1380) programming done. 0 words written.
Initialising FIU at address: 0x1340
FIU (0x1340) initialisation done.
Flash (0x1340) mass erase done.
Flash (0x1340) programming done. 0x7ffc words written.
Initialising FIU at address: 0x1420
FIU (0x1420) initialisation done.
Flash (0x1420) mass erase done.
Flash (0x1420) programming done. 0x5f60 words written.
Initialising FIU at address: 0x1380
FIU (0x1380) initialisation done.
Mass erase skipped.
Flash (0x1380) programming done. 0x4 words written.
Initialising FIU at address: 0x1360
FIU (0x1360) initialisation done.
Flash (0x1360) mass erase done.
Flash (0x1360) programming done. 0 words written.
The target was reset, the application is running

5) Run the UserPort.exe application, and click the Stop button. This
gives control of the PC's Parallel Port back to the operating system.

6) You can still use CodeWarrior to debug the program, just make sure
that the tickbox marked "Always load program at debugger launch" is NOT
checked in the Target Settings panel. Art Johnson
Senior Systems Analyst
PMC Prime Mover Controls Inc.
3600 Gilmore Way
Burnaby, B.C., Canada
V5G 4R8
Phone: 604 433-4644
FAX: 604 433-5570
Email:
http://www.pmc-controls.com _____________________________________
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:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3 ">http://docs.yahoo.com/info/terms/



**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited is
'privileged' and 'confidential' and intended for use only by the individual
or entity to which it is addressed. You are notified that any use, copying
or dissemination of the information contained in the E-MAIL in any manner
whatsoever is strictly prohibited.

***************************************************************************