The 56800E Flash Programmer provides a means to program the on-chip Flash of the 56800E DSC family.
The Flash Memory blocks are programmed in circuit, using the JTAG/EOnCE interface. The 56800E
Flash Programmer is suitable for both a low volume production environment as well as for in-field
firmware upgrades.
The 56800E Flash Programmer runs under a 32-bit Windows environment on PC compatible computers.
A Parallel Command Converter or CodeWarrior USB TAP is needed to provide the interface between the
JTAG/OnCE interface of the target system and the computer. The connection is outlined in the figure
below.
Parallel Extention
Cable
PC-Compatible
Computer
Parallel
Command
Converter
Target
System
JTAG
Power
Figure 1 Connecting the Target System to the PC via Parallel Command Connector
PC-Compatible
Computer
USB Cable
USB TAP
Target
System
JTAG
Power
Figure 2 Connecting the Target System to the PC via USB Tap
The 56800E Flash Programmer is provided in two forms. The first is command-line oriented to allow easy
integration with scripts. The second is a GUI running under windows to allow easy rapid Flash loading
onto the target device. The command line version is backwards compatible with the old Flash over JTAG
tool.
Freescale Semiconductor3
56800E Flash Programmer User Guide, Rev. 0
1. Corrections to CodeWarrior v7.2 Configuration Files
The configuration files in CodeWarrior v7.2 may need to be modified depending on the device or devices
to be programmed. These files will be corrected in CodeWarrior v7.3. They are typically found in the
following location:
For the 56F801x devices, change the following line in the file 56801x_flash.cfg
set_hfm_programmer_base 0x8746 # shared p-ram
to
set_hfm_programmer_base 0x8700 # shared p-ram
For the 56F835x device, change the following line in the file 56835x_flash.cfg
set_hfm_config_base 0x00FFF7
to
set_hfm_config_base 0x01FFF7
The first correction is required for the 56F8013 and 56F8014; programming will fail if the modification is
not applied. The second correction for the 56F8355, 56F8356, and 56F8357 is only required if it is desired
to use the lock flash after programming feature.
2. 56800E Flash Programmer Description
The 56800E Flash Programmer runs under 32-bit Windows operating systems.
Before loading to the actual device, the 56800E Flash Programmer will first create a Virtual Device Image
on the Host PC. The Virtual Device Image contains all of the memory to be programmed on the device
allowing for all of the S-Record, or executable and linking format (ELF) files, to be loaded and verified
before any programming begins. Additionally, the 56800E Flash Programmer allows certain operations to
be performed on the Virtual Device Image as if it was a real device; however, this feature is only supported
in the Command-Line version.
2.1 Command-Line Version
The command line version executes in a DOS window and accepts command line parameters to control its
operation. The command line interface is very effective when the 56800E Flash Programmer needs to be
integrated into scripts or executed by other programs controlling the manufacturing process. All the
mandatory parameters are indicated by ‘<>’ brackets and optional parameters are indicated by ‘[]’
brackets. The syntax has the following two variants:
Certain operations, such as recovery, are performed when no S-Record or ELF file is provided.
The configuration files can be typically found in the following directory on the PC:
Position of options on the command line is not fixed. They can be specified before, between, or after the
configuration and the list of S-Record ,or ELF files to be loaded.
All options with the text Legacy Support, indicate they remain to support the old Flash over JTAG
application. These options are deprecated. They indicate what options should be used instead.
2.1.1.1 –crc
Performs a 32-bit cyclical redundancy check (CRC) from a start address to an end address, and reports the
32-bit CRC to the user. This can be used in conjunction with the –dumpvirtual to dump the 32-bit CRC of
a file without loading it onto the device.
By default, the tool resets the target after programming is concluded and program execution will occur.
This option forces the tool to leave the target in Debug mode, i.e. the downloaded code is not executed
immediately after programming.
Example: fflash flash.cfg my_appl.S –d
2.1.1.3 –dumpvirtual
When used in conjunction with the –r/–v/–crc switch’s parameters, the contents of the virtual device on
the computer will be dumped to a S-Record, or ELF file, instead of reading the contents off of the actual
Digital Signal Controller (DSC) device.
This parameter tells the programmer how the device should be erased by any one of three modes before
any programming occurs:
Freescale Semiconductor5
56800E Flash Programmer User Guide, Rev. 0
1. When the mode is set to all, the entire device is erased before any programming occurs; however, the mode
does not perform a recovery and can still fail if the Flash is secured. In this case, use the –recover option.
2. When the mode is set to unit, only the specific unit requiring programming will be erased. A unit is defined
by the add_hfm_unit token in the Flash configuration file and is generally referring to Boot, Program, or
Data Flash blocks.
3. When the mode is set to page, only the specific page of Flash requiring programming will be erased.
Using the unit or page mode is useful when wishing to preserve information currently stored in either a
particular Flash block or page. By default this parameter is unit.
Example: fflash flash.cfg my_appl.S –erase=page
2.1.1.5 –fastport
Legacy Support
This option is no longer supported. The previous version of the Flash over JTAG tool would attempt to
communicate with the Parallel Command Converter as quickly as the LPT port would allow. Some LPT
ports would operate too fast for the DSC to remain aligned, therefore this option was provided. This is no
longer required because the JTAG clock speed can now be set more specifically through the –jtagclk=X
option.
2.1.1.6 –jtagclk=<x>
This option tells the CCS server the frequency (kHz) at which to run the JTAG interface. The default value
is 800kHz. Faster clock speeds allow for faster programming, but if the clock is set too fast, the DSC chip
may not be able to process incoming data quickly enough, eventually leading to a programming failure.
Example: fflash flash.cfg my_appl.S –jtagclk=1000
2.1.1.7 –l<log file>
This option forces all messages shown on the screen to be written into the Log File. If the file already
exists, it will be overwritten.
Example: fflash flash.cfg my_appl.S –lmylog.txt
2.1.1.8 –lock
This option will lock the device by enabling Flash security. This option writes 0xE70A to the
SECLO_VALUE location in the Flash Security Configuration table of Program Flash. If an S-Record or,
ELF file is provided, this location is written to after the S-Record, or ELF file is loaded. This option can
also be used in combination with the –recover option, allowing the program to recover from the locked
state, load the S-Record, then proceed to relock the device, allowing an upgrade of a LOCKED device. The
56800E Flash Programmer verifies the SECLO_VALUE location is 0xFFFF before the location is written
to. If the location is not 0xFFFF the programming of this location cannot proceed and an error is received.
Please note this only enables Flash Security. Any advanced options, such as back door enable and the back
door key will require a loadable S-Record, or ELF file defining this data.
Example: fflash flash.cfg my_appl.S –lock
6 Freescale Semiconductor
56800E Flash Programmer User Guide, Rev. 0
Command-Line Version
2.1.1.9 –LPT<X>
By default, the 56800E Flash Programmer uses the current configured device on the CCS server. However, the default can be overridden by the –USB or –LPTX switches. The LPT switch will configures the
CCS server for the Parallel Command Converter. Additionally, this change will be permanent to CCS,
and may need to be changed before other applications use the CCS server. When connecting to a remote
CCS server using the –remote switch, the remote server will be configured to use this LPT port.
Example: fflash flash.cfg my_appl.S .LPT1
2.1.1.10 –p<PORT>
Legacy Support
This option is used to specify which LPT port to use when connecting to a Parallel Command Converter.
When this option is specified, along with the –remote option, it connects to the specified LPT port on that
remote device. Because this command is deprecated, it only supports the addresses listed in Table 2-1. No
other address will be supported. The option –LPTX should be used in place of this deprecated option.
Example: fflash flash.cfg my_appl.s –p0x378
Freescale Semiconductor7
56800E Flash Programmer User Guide, Rev. 0
Table 2-1 Typical Addresses Assigned to
LPT Ports on IBM-PC Machines
LPT#Base Address
LPT10x378
LPT20x278
LPT30x3BC
2.1.1.11 –page
Legacy Support
This option specifies a Page Erase mode should be used instead of the Mass Erase mode. This parameter
is useful for in-field upgrades where parameters stored in on-chip Flash must be preserved. In this case,
only pages containing addresses referenced by the S-Record file will be erased. As this option is
deprecated, the –erase=X option should be used instead. This option is identical to –erase=page.
Example: fflash flash.cfg my_appl.s –page
2.1.1.12 –r<mem><start>:<end>
This option causes the contents of the DSC memory to be dumped to the specified S-Record file. If the
output file already exists, it is overwritten.’<mem>’ specifies whether Data (‘X’) or Program (‘P’) memory
should be dumped. Addresses, ‘<start>’ and ‘<end>’, are expressed in hexadecimal.
This option disables Flash Security by erasing ALL on-chip Flash units of the DSC. Please note the
contents of ALL on-chip Flash units are lost and cannot be recovered after performing this algorithm.
When the recover switch is provided in combination with a S-Record, or ELF file, the program will first
recover the Flash before programming the new S-Record, or ELF file onto the Flash.
Example: fflash flash.cfg –recover
fflash flash.cfg my_appl.S –recover
2.1.1.14 –remote=Address[:port]
By default, the 56800E Flash Programmer connects to the local computer’s CCS server and attempts to
use it to program the DSC device. However, it is possible to program a device connected to a remote
computer’s CCS server. When the remote option is specified, the address of the remote CCS server is
required; nonetheless, the port is optional. The default value of the port is 41475. Changing the port value
is useful when the CCS server is behind a firewall. Contact your network administrator for more
information about which ports are open.
NOTE: The IP address of the local computer is 127.0.0.1.
Examples:
8 Freescale Semiconductor
56800E Flash Programmer User Guide, Rev. 0
Command-Line Version
Connects to the local computer, at port 1000
fflash flash.cfg my_appl.S –remote=127.0.0.1:1000
Connects to the remote CCS server at IP address 1.2.3.4
fflash flash.cfg my_appl.S–remote=1.2.3.4
Connects to the remote CCS server named BOB
fflash flash.cfg my_appl.S –remote=BOB
Connects to the remote CCS server at IP address 1.2.3.4 at port 1000
fflash flash.cfg my_appl.S –remote=1.2.3.4:1000
2.1.1.15 –s
This option enables Silent mode. Normally the 56800E Flash Programmer reports an error for each word
of data, or code, found in the specified S-Record not fitting into any of the address ranges of the Flash
blocks defined in the Flash configuration file. When Silent mode is enabled, the 56800E Flash Programmer
only reports some data was ignored, but it does not print any further details.
Example: fflash flash.cfg my_appl.S –s
2.1.1.16 –t<S-record file>
Legacy Support
This option has the same behavior as simply specifying additional S-Records, or ELF files, on the
command line; however, using the –t guarantees it will be the last S-Record, or ELF file, loaded in the
chain.
Example: fflash flash.cfg my_app.S –tserial.S
2.1.1.17 –timeout=<x>
This option determines the wait length in seconds for the CCS server to respond before it will abort and
return an error. The default value is 5 seconds.
Example: fflash flash.cfg my_appl.S –timeout=10
2.1.1.18 –USB
By default, the 56800E Flash Programmer uses the current configured device on the CCS server. However,
the default can be overridden by the –USB or –LPTX switches. The USB switch configures the CCS server
for the CodeWarrior USB TAP device. Additionally, this change is permanent to CCS, and may need to
be changed before other applications use the CCS server. When connecting to a remote CCS server using
the –remote switch, the remote server will be configured to use the USB port.
Example: fflash flash.cfg my_appl.S –USB
2.1.1.19 –v<mem><start>:<end>
This option allows the user to view the DSC memory by dumping the contents of the memory to the screen.
‘<mem>’ specifies whether Data (‘X’) or Program (‘P’) memory should be dumped. Addresses, ‘<start>’
and ‘<end>’, are expressed in hexadecimal.
Freescale Semiconductor9
56800E Flash Programmer User Guide, Rev. 0
Loading...
+ 21 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.