|
Flasher ARM is programming tool for microcontrollers
with on-chip or external Flash memory and ARM core. Flasher ARM
is designed for programming flash targets with the J-Flash
software or stand-alone. In addition to that Flasher ARM has all
of the J-Link functionality. Flasher ARM
connects via USB or via RS232 interface to a PC, running Microsoft
Windows 2000, Windows XP, Windows 2003 or Windows Vista and has
a built-in 20-pin JTAG connector, which is compatible with the standard
20-pin connector defined by ARM.
Features:
- Stand-alone JTAG/SWD programmer (Once set up, Flasher can be controlled without the use of PC program)
- No power supply required, powered through USB
- Support for ARM® 7/9 and Cortex-M3
- Supports internal and external flash devices
- 64 MB memory for storage of target program
- Can be used as J-Link (JTAG emulator) with a download speed of up to 720 Kbytes/second
- Programming speed between 30-300 Kbytes/second depending on target hardware
- Serial in target programming supported
- Data files can updated as mass storage or via J-Flash
- Target interface: JTAG/SWD
|
 |
Specifications
| Power Supply |
USB powered, 100mA for Flasher ARM. 500 mA if target is powered
by Flasher ARM |
| USB Host Interface |
USB 2.0, full speed |
| RS232 Host Interface |
RS232 9-pin |
| Target Interface |
JTAG 20-pin (14-pin adapter available) |
| Serial Transfer Rate between J-Link and Target |
up to 12MHz |
| Supported Target Voltage |
1.8 - 5V |
| Target supply voltage |
5V |
| Target supply current |
Max. 400mA |
| Operating Temperature |
+ 5 °C ... + 60 °C |
| Storage Temperature |
- 20 °C ... + 65 °C |
| Relative Humidity (non-condensing) |
< 90% rH |
| Size (without cables) |
121mm x 66mmx 30mm |
| Weight (without cables) |
120g |
| Supported OS |
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows XP x64
Microsoft Windows 2003
Microsoft Windows 2003 x64
Microsoft Windows Vista
Microsoft Windows Vista x64 |
Flasher ARM download speed
The following table lists Flasher ARM performance values (Kbytes/second) for writing to memory (RAM) via the JTAG interface:
| Flasher ARM Rev. 1 |
720 kB/s
(12MHz JTAG) |
550 kB/s
(12MHz JTAG) |
Please note that the actual speed depends on various
factors, such as JTAG, clock speed, host CPU core etc.
JTAG Speed
There are basically three types of speed settings:
- Fixed JTAG speed
- Automatic JTAG speed
- Adaptive clocking
Fixed JTAG speed
The target is clocked at a fixed clock speed. The maximum JTAG speed the
target can handle depends on the target itself. In general ARM cores without
JTAG synchronization logic (such as ARM7-TDMI) can handle JTAG speeds
up to the CPU speed, ARM cores with JTAG synchronization logic (such as
ARM7-TDMI-S, ARM946E-S, ARM966EJ-S) can handle JTAG speeds up to 1/6 of
the CPU speed. JTAG speeds of more than 10 MHz are not recommended.
Automatic JTAG speed
Selects the maximum JTAG speed handled by the TAP controller.
NOTE:
On ARM cores without synchronization logic, this may not work reliably,
since the CPU core may be clocked slower than the maximum JTAG speed.
Adaptive clocking
If the target provides the RTCK signal, select the adaptive clocking
function to synchronize the clock to the processor clock outside
the core. This ensures there are no synchronization problems over
the JTAG interface.
NOTE:
If you use the adaptive clocking feature, transmission delays, gate delays,
and synchronization requirements result in a lower maximum clock frequency
than with non-adaptive clocking. Do not use adaptive clocking unless it
is required by the hardware design.
Working with Flasher ARM
Flasher ARM can be used for programming flash targets with the J-Flash software or stand-alone.
Setting up Flasher ARM for first use
In order to use Flasher ARM for the first time you need to install the Flasher ARM related software and documentation pack which, among others, includes the J-Flash software and connect Flasher ARM to the host PC via USB.
Connecting the target system
Power-on sequence
In general, Flasher ARM should be powered on before connecting it with the target device. That means you should first connect Flasher ARM with the host system via USB / RS232 and then connect Flasher ARM with the target device via JTAG. Power-on the device after you connected Flasher ARM to it.
If you use Flasher ARM in stand-alone mode, just power-on Flasher ARM via external power supply
Verifying target device connection with J-Link.exe
If the USB driver is working properly and your Flasher ARM is connected with the host system, you may connect Flasher ARM to your target hardware. Then start the J-Link command line tool JLink.exe, which should now display the normal Flasher ARM related information and in addition to that it should report that it found a JTAG target and the target’s core ID. The screenshot below shows the output of JLink.exe. As can be seen, it reports a Flasher ARM with 3 JTAG devices connected.
Verifying target device connection with J-Flash
Another way to verify the target connection is to connect to the target using J-Flash. To connect to the target with J-Flash you have to choose an appropriate project file for the target first. After opening the project file choose Target --> Connect from the menu to connect to the target. If everything works as expected, follow the instructions in 2.2 to download a program to Flasher ARM with J-Flash.
Using Flasher ARM with PC Software "J-Flash"
J-Flash is a software running on Windows 2000, Windows XP, Windows 2003 or Windows Vista systems and enables you to program your flash EEPROM devices via the JTAG connector on your target system.
J-Flash works with any ARM7/9 system and supports all common external flashes, as well as the programming of internal flash of ARM microcontrollers. It allows you to erase, fill, program, blank check, upload flash content, and view memory functions of the software with your flash devices.
Features
- Works with any ARM7/ARM9 chip
- ARM microcontrollers (internal flash) supported
- Most external flash chips can be programmed
- High-speed programming: up to 200 Kbytes/second (depends on flash device)
- Very high-speed blank check: Approximately 16 Mbytes/sec (depends on target)
- Smart read-back: Only non-blank portions of flash transferred and saved
- Easy to use, comes with projects for standard eval boards.
Using Flasher ARM stand-alone
To use Flasher ARM in stand-alone mode it has to be configured at first.
Configuring Flasher ARM
To program the desired targets Flasher ARM needs at least a J-Flash project file and a data file. The J-Flash project file contains the target settings (CPU, RAM / Flash start and end address, ...) and has to be in the format Default.jflash. The data file contains the program to be programmed into the target and has to be in the format Default.bin (.hex or .mot).
Downloading configuration files to Flasher ARM
To download the J-Flash project file and the data file to Flasher ARM, boot Flasher ARM as MSD by holding the Start/Stop button when connecting Flasher ARM to the host via USB and copy both of them to it.
After downloading the target program and the J-Flash project file, both are stored in Flasher ARM on board Flash memory and remain valid until new settings or data are sent to Flasher ARM.
Any number of microcontrollers may now be programmed by Flasher ARM (one at a time) without the need of a host PC, by simply pressing the start button. Flasher ARM will use the settings which have been made in J-Flash. This includes the selection of target address range as well as any options. Whether the target CPU will be erased before programming depends on setting of option “Automatic clear before program”.
Progress and result of the operation is indicated by Flasher ARM’s LEDs:
| GREEN, flashing | Erasing/Programming/Verifying operation in progress |
| GREEN | Programming operation successful |
| RED | Programming operation failed |
Using the serial link to program in circuit
Flasher ARM can be used for in circuit programming of supported CPUs, which incorporate built in firmware for serial update of user flash. The target system has to be designed to support this mode of operation. Refer to target specific connection diagrams or Users manuals of your target CPU.
Remote control of Flasher ARM
Flasher ARM can be remote controlled by automated testers without the need of a
connection to PC and Flasher ARM™s PC program. Therefore Flasher ARM is equipped
with additional hardware control functions, which are connected to the SUBD9 male
connector, normally used as RS232 interface to PC.
The following diagrams show the internal remote control circuitry of Flasher ARM:

| 1 | START |
A positive pulse of any voltage between 5 and 30V with duration
of min. 30 ms starts itAutole function (Clear / Program / Verify)
on falling edge of pulse. Whether Clear is executed depends
on Options | Filling & misc. | Automatic clear before program. |
| 4 | BUSY |
As soon as Auto-Function is started, BUSY becomes active, which means that
transistor is switched OFF. |
| 5 | OK |
This output reflects result of last action. It is valid after BUSY
turned back to passive state. The output transistor is
switched ON to reflect OK state. |
| 7 | GND |
Common Signal ground. |
JTAG interface connection (20 pin)
There is a standard 20 pin connector defined by ARM.
J-Link ARM has a built-in 20-pin JTAG connector, which is compatible with
this standard.
JTAG interface connector signals:
| 1 |
VTref |
Input |
This is the target reference voltage. It is used to check if the
target has power, to create the logic-level reference for the
input comparators and to control the output logic levels to the
target. It is normally fed from Vdd of the target board and
must not have a series resistor. |
| 2 |
Vsupply |
NC |
This pin is not connected in Flasher ARM. It is reserved for
compatibility with other equipment. Connect to Vdd or leave
open in target system. |
| 3 |
nTRST |
Output |
JTAG Reset. Output from Flasher ARM to the Reset signal of
the target JTAG port. Typically connected to nTRST of the target
CPU. This pin is normally pulled HIGH on the target to avoid
unintentional resets when there is no connection. |
| 5 |
TDI |
Output |
JTAG data input of target CPU.
It is recommended that this pin is pulled to a defined state on the
target board.
Typically connected to TDI on target CPU. |
| 7 |
TMS |
Output |
JTAG mode set input of target CPU.
This pin should be pulled up on the target.
Typically connected to TMS on target CPU. |
| 9 |
TCK |
Output |
JTAG clock signal to target CPU.
It is recommended that this pin is pulled to a defined state on the
target board.
Typically connected to TCK on target CPU. |
| 11 |
RTCK |
Input |
Return test clock signal from the target.
Some targets must synchronize the JTAG inputs to internal clocks.
To assist in meeting this requirement, you can use a returned,
and retimed, TCK to dynamically control the TCK rate. Flasher
ARM supports adaptive clocking, which waits for TCK changes
to be echoed correctly before making further changes. Connect
to RTCK if available, otherwise to GND. |
| 13 |
TDO |
Input |
JTAG data output from target CPU.
Typically connected to TDO on target CPU. |
| 15 |
RESET |
I/O |
Target CPU reset signal. Typically connected to the RESET pin of
the target CPU, which is typically called "nRST", "nRESET" or "RESET". |
| 17 |
DBGRQ |
NC |
This pin is not connected in Flasher ARM.
It is reserved for compatibility with other equipment to be used as
a debug request signal to the target system.
Typically connected to DBGRQ if available, otherwise left open. |
| 19 |
5V-Supply |
Output |
This pin is used to supply power to some eval boards. Typically left open on target hardware.
|
Notes
All pins marked NC are not connected inside J-Link.
Any signal can be applied here; J-Link will simply ignore such a signal.
All GND pins must be connected to 0V
on the target board.
Pin 19 (VCCS) is used to supply Flasher
ARM's target interface. Flasher ARM itself is USB powered, only
the target interface is powered thru this pin. Should be connected
to target CPUs supply voltage (VCC) and should be between 1.8 and
3.3 V.
Pin 2 is not connected inside Flasher ARM.
A lot of targets have pin 1 and pin 2 connected. Some targets use
pin 2 instead of pin 1 to supply VCC. These targets will not work
with Flasher ARM, unless Pin 1 and Pin 2 are connected on the target's
JTAG connector.
Pin 3 (TRST) should be connected to target
CPUs TRST pin (sometimes called NTRST). Flasher ARM will also work
if this pin is not connected, but you may experience some limitations
when debugging. TRST should be separate from the CPU Reset (pin
15)
Pin 11 (RTCK) should be connected to RTCK if
available, otherwise to GND.

Copyright SEGGER Microcontroller GmbH & Co.KG. All
rights reserved.
For more information, please visit our web site
www.segger.com or contact us at info@segger.com
Last update:
January 3, 2008
|