About file-based flash programming in Arm® DS-5
The DS-5 configdb platform entry for a board can contain a flash definition section. This section can define one or more areas of flash, each with its own flash method and configuration parameters.
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 Express designs.
- 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 programmed.
NoteYou 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.
NoteAll flash methods which directly interact with the target should do so using the DS-5 Debugger's DTSL connection.
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 programming.
- 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 chip.
- 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.
NoteAn example, flash_example-FVP-A9x4, is provided with DS-5. This example shows two ways of programming flash devices using DS-5, 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.
DS-5 File Flash Architecture
Figure 13-1 DS-5 File Flash Architecture