Flasher/FAQ

From SEGGER Wiki
Revision as of 16:35, 27 October 2023 by Peter (talk | contribs)
Jump to: navigation, search

This gives answers to the most Frequently Asked Questions.

FAQ: Frequently Asked Questions

How can I start operation on my Flasher?

The following options are available for controlling the Flasher:

  1. Starting a programming by button "PROG"
  2. Dedicated pins in SUB-D9: START (start programming), BUSY (busy indication), READY/ERROR (result if not(BUSY) ); see: Flasher User Guide (UM08022): Ch. 4.2 "Handshake control".
  3. Command line via TELNET or serial interface; see: Flasher User Guide (UM08022): Ch. 4.3 "ASCII command interface".
  4. By DLL: The J-Link SDK should be purchased for this purpose.
  5. FlasherControl.exe: An unofficial application, without any warranty and support. When running this tool it sends an #Auto command via USB.

I can not find my device in J-FLash / U-Flash, but the website states it is supported

For historical reasons, most processors with ARM, some PowerPC, RX and some more exotic core architectures are only supported by J-Flash (JFlash.exe).

Projects with other devices listed as "supported" must be created in U-Flash (UniversalFlasher.exe).

How to readback data with U-Flash

Please look here: Flasher/How to read data from a device using U-Flash

What is the differences between Flasher ATE, Flasher Hub and Flasher Hub-12

Please look here: Flasher/Differences between Flasher ATE, Flasher Hub and Flasher Hub-12

When programming my device, areas are programmed with some value although no data are available for them

Picture 1: Source data file with memory regions of interest
Picture 2: Padded areas with size 0x800
Picture 3: Padded areas with size 0x20

This behavior is normally only noticed by the user on MCUs with some kind of flash integrity check such as ECC when attempting to program a block of data within or adjacent to an already programmed sector.

It is caused by the fact that the areas defined in the data files are always padded with the "empty value" to such an extent that a flash sector is completely filled. This is then programmed into the MCU in this way.

In the example the data file contains data for 0x801FFF10..0x801FFF2F, 0x0x801FFF80..0x801FFF83 and 0x801FFFC0..0x801FFFC3 (Picture 1). The sector size is for this example set to 0x800 i.e. 2KByte.

Due to padding all areas marked red are also written (Picture 2).

To prevent this, a suitable smaller sector size has to to be chosen, e.g. 0x20. The result with those changed settings are shown in the picture (Picture 3).

For MCUs with flash integrity check, the check value (ECC) is formed and written following the writing of a "page". Normally, this cannot be changed in subsequent reprogramming attempts. If the page is to be changed, the entire sector must be erased, as any attempt at reprogramming will result in an invalid integrity check value or an exception thrown by the MCU's flash controller.

The flasher currently does not distinguish between an "erase" sector size and a "write" page size. For devices supported by U-Flash, the sector can be adjusted in the device definition files. How to do this, is described in reduce write sector size. Please note that this is usually accompanied by a reduction in programming speed.


Can I create U-Flash projects with pre-modified configurations?

It is possible to create U-Flash template projects that can be used to create new U-Flash projects that uses the pre-modified configurations of the template.

Creating a template

  1. Create a new project for the desired target device
  2. Configure the project
  3. Store the project as a template (File -> Save project as template...)

The templates are stored in a specific directory. Only U-Flash projects located in that directory are handled by U-Flash as templates.

Using a template

  1. Open U-Flash and click on "Select device"
  2. In the device selection click on the "Templates" tab and select the desired template project

What is the difference between U-Flash projects and U-Flash template projects?

U-Flash template projects are projects for a specific target device that are pre-configured. These template projects are saved at a special location which makes these templates available in the "Templates" tab of the U-Flash device selection. Templates are not intended to be fully configured but provide pre-configured settings for other "normal" U-Flash projects. The user can then create a normal U-Flash project using a template and apply the final modifications to it.

What is the difference between U-Flash projects selecting a target device from SEGGER packages and U-Flash projects deriving from templates?

U-Flash projects that select a device from the SEGGER packages tab in the device selection derive their configuration from the default configurations in the Device Definition File (DDF) provided by SEGGER. A U-Flash project selecting a template in the device selection, on the other hand, derives its configuration from the selected template, which can be pre-configured for special purposes.