Flash methods are implemented in Jython and are typically located within the configdb.
Each flash method is implemented with a specific technique of programming flash.
These techniques might involve:
- Running an external program supplied by a third party to program a file into flash.
- Copying a file to a file system mount point. For example, as implemented in
the ARM® Versatile
- Download a code algorithm into the target system and to keep running that algorithm on a data
set (typically a flash sector) until the entire flash device has been
Note: You can use the DS-5 Debugger
info flash command to view the flash configuration
for your board.
Examples of downloading a code algorithm into the target system are the Keil
flash programming algorithms which are fully supported by DS-5 Debugger. For the Keil
flash method, one of the method configuration items is the algorithm to use to perform
the flash programming. These algorithms all follow the same top level software interface
and so the same DS-5 Keil flash method can be used to program different types of flash. This means that
DS-5 Debugger should
be able to make direct use of any existing Keil flash algorithm.
Note: All flash methods which directly interact with the target should do so using
the DS-5 Debugger's DTSL
Flash programming supported features
The following features are available in file flash programming operations:
- Supports ELF files (.axf) programming into flash.
- Supports ELF files containing multiple flash areas which can each be programmed
into a flash device or possible several different flash devices.
- Supports many and varied flash programming methods.
- Supports all Keil flash programming algorithms.
- Supports target board setup and teardown to prepare it for flash
- Supports DS-5 configuration database to learn about target flash devices
and the options required for flash programming on a specific board or system on
- Supports default flash options modification.
- Supports graphical progress reporting within Eclipse and on a text only type
console when used with the debugger outside Eclipse, along with the ability to
cancel the programming operation.
- Supports a simple flash programming user interface where you can specify minimal
configurations or options.
- Supports displaying warning and error messages to the user.
Note: An example, flash_example-FVP-A9x4, is
provided with DS-5. This example shows two ways of programming flash devices
one using a Keil Flash Method and the other using a Custom Flash Method written in
Jython. For convenience, the Cortex-A9x4 FVP
model supplied with DS-5 is used as the target device. This example can be used as a
template for creating new flash algorithms. The readme.html provided with the example contains basic information on
how to use the example.
File Flash Architecture
Figure 13-1 DS-5 File Flash Architecture