ARM Technical Support Knowledge Articles

How do I reprogram the Boot Monitor in Flash on my Versatile development board?

Applies to: Versatile Baseboards


Each release of the Versatile Family CD provides a new version of the Boot Monitor image for each of the ARM development boards. It is strongly recommended to maintain the Boot Monitor version programmed on board updated to the latest release as it might introduce new features, fix known bugs or simply for compatibility reasons with other support files being used on board. Also, if the Flash becomes corrupt and the board no longer runs the Boot Monitor, the Boot Monitor must be reprogrammed into Flash. In this Knowledge Article we discuss the methods that can be used to reprogram the Boot Monitor image on any Versatile development board.


Method 1:

If the flash becomes corrupt and the board no longer runs the Boot Monitor, a debugger needs to be used to reprogram the Boot Monitor into Flash. The User Guide for each of the Versatile development boards contains a section usually named "Loading the Boot Monitor into NOR Flash" that explains step by step the procedure. This procedure assumes that RealView Debugger is being used. Please refer to the User Guide for your ARM Development Board that is available from the Versatile Family CD that ships with the board and also from the ARM Website

Note 1: The DRAM initialization script mentioned in the correspondent ARM Development Board User Guide is available from the Versatile Family CD at the following default installation path

C:\Program Files\ARM\Versatile\Firmware\3.8\2\Misc

These scripts are RVD specific, therefore they will not be compatible to be used with any debugger other than RVD. However, they can be used as a reference to be rewritten for the specific debugger being used. 

Note 2: For the PB1176 board, there is a dedicated hardware switch on board that initializes the DRAM, therefore no script for the PB1176 is provided as it is not longer needed. See more details about the hardware switch setting in the PB1176 User Guide.

Note 3: For the PB11MPCore or the EB+CT11MPCore systems, it is necessary to hold ALL but one of the CPUs in reset to allow for recovery from corrupted NOR Flash. In both systems, there is a hardware switch to select whether all or only processor CPU#0 in the ARM11MPcore are released from reset. Please refer to the PB11MPCore User Guide and AN152 respectively for more details.

Method 2:

This method can only be used when the board runs the Boot Monitor and the user wants to upgrade or downgrade the Boot Monitor version. To run the Boot Monitor and have it display a prompt to a terminal connected to UART0, ensure the default settings for UART0 are 38400 baud, 8 data bits, no parity, 1 stop bit. Then, please follow the next steps:

       1. Copy the new Boot Monitor image into the root directory of an SD card (FAT 16 format, 2GB Max.) that can be plugged into the SD card slot on board.    

          Ensure the board is OFF when the card is being inserted and this is NOT hot-pluggable.

       2. Power the board up, the M: drive should appear at the command line prompt as follows

             ARM PB1176JZF-S Boot Monitor
      Version:    V4.1.7
      Build Date: Feb 19 2009
      Tile Site : Tile Not Fitted
      Endian:     Little

       3. Enter the Flash submenu and list the images in Flash as follows

 M:\> flash
Flash> List images
Flash Area Base 0x3C000000
Address     Name
-------     ----
0x3C000000  BM417
Flash Area Base 0x3C040000
Address     Name
-------     ----
0x3C040000  SELFTEST
Flash Area Base 0x30000000
Address     Name
-------     ----
0x30000000  BOOT_M~1
0x30030000  SYSTEM.DAT
Flash Area Base 0x30040000
Address     Name
-------     ----

      4. Erase the current Boot Monitor in Flash (ERASE IMAGE bm_image_name) and write the new Boot Monitor image (WRITE IMAGE M:bm_image_name)

      5. List the images in Flash again and ensure the new Boot Monitor image has been copied at the Flash base address.

      6. Power the board OFF and power ON again. The board should now be running the new Boot Monitor version that is shown in the terminal emulator  output.


Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential