2.3.66. FLASH

Enables you to write, verify, or erase Flash blocks.


flash [,qualifier...] [={addressrange | address, ...}]



If specified, must be one or more of the following:


Discard the patched or downloaded changes.


If required by your Flash device, specify the clock frequency as a positive integer, representing the clock frequency in Hz. For example, enter 14175000 to specify a frequency of 14.175 MHz.


Erase the specified blocks. This normally sets every byte in the block to 0xFF or 0x00, depending on the type of Flash memory used. You can identify the Flash block using a handle, an address or an address range.


Write data to the specified blocks of Flash memory. If you do not specify a block or address, then the write begins at the start of the first block.


If you specify this qualifier the data written to the Flash blocks is verified against the data source.


Identifies one or more Flash blocks to be operated on.

To list the Flash blocks, use the FLASH command with no arguments (see Examples).

The block numbers are also shown in the Open Flash Blocks list of the Flash Memory Control dialog box.


Do not use an address or address range with this qualifier.


This qualifier specifies that the original contents of the memory is used wherever it is not explicitly modified.


This qualifier specifies that the original contents of the target memory buffer is not saved first. This might save you some time if the buffer is large.

By default the target memory buffer is saved first, and restored afterwards.


Multiple Flash blocks can be specified using a range of addresses. The start and the end of the range is included in the range. For example, 0x24000000..0x24FFFFFF specifies the blocks in the address range 0x24000000 to 0x24FFFFFF.

If you use the handle qualifier, then do not specify an address range.


The Flash block can be specified by address.

If you use the handle qualifier, then do not specify an address.


If you use the address or addressrange qualifiers, then those blocks that are touched by the address or addressrange are written to completely. For example, if you specify an address range that starts at block zero, and finishes part way into block three, then the whole of blocks one, two and three are written to.


This command is used to manage Flash memory. This command enables you to:

  • write and verify Flash blocks, which require that the blocks be opened first

  • erase Flash blocks, which does not require the blocks to be open.

The Flash block is specified by address. You cannot program more than one Flash device at a time.

If this command is used with no arguments, it reports the currently open blocks.


The following examples show how to use the FLASH command:

  • To display information for the currently loaded Flash image on an Integrator/AP board, enter:

    > flash
    Flash opened on ARM920T_0@RealView-ICE for 'Intel DT28F320S3 2Mx16 x2 x4' at '0x24000000'
      Block 0: +0x0000..+2644
  • To erase the Flash in the range 0x24000000 to 0x24FFFFFF inclusive, enter:

    flash,erase =0x24000000..0x24FFFFFF

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0175N