ST AN2146 APPLICATION NOTE

AN2146
®
APPLICATION NOTE
STR71xF Embedded Flash Programming with ADS

INTRODUCTION

The purpose of this application note is to provide ARM Developer Suite (ADS) users with information to help them program binary files to Flash memory using the software’s Flash downloader utility. This document provides step-by-step instructions for converting an application in ELF format to simple binary format and then downloading the resulting binary to the internal Flash memory of the STR71xF microcontroller on a target application board.
Necessary software and hardware tools
ARM Developer Suite version 1.2, a complete software development solution for creating
applications for ARM core-based microcontrollers that includes the AXD debugger.
Flash downloader (flash.li) for STR71xF, the modified version of the default Flash downloader,
included with this application note, which allows the identification and programming of STR71xF devices.
Note: The default integrator version of the Flash downloader that is used to program other standard CFI-
type Flash devices is furnished in binary format in the directory: install_directory\ADS\bin\flash.li.
You may want to keep a copy of the default version of flash.li in another directory or with another name if you work with devices other than the STR71xF.
STR710 Evaluation Board (STR710-EVAL) or other evaluation/application board featuring an
STR71xF microcontroller.
ARM MULTI-ICE server and interface unit (JTAG standard interface)
Note: It is also possible to use ARM Angel Debug Monitor (running from RAM) and a serial or parallel
connection to the host PC. For more information about Angel, refer to the ARM Software Development Toolkit User Guide.

1 Overview of Flash programming with ADS

When you invoke the Flash downloader utility (flash.li) from the AXD debugger, the debugger downloads this utility into RAM on the target board. The microcontroller then executes the Flash programming routine, retrieving the binary file from the host PC and then programming it to Flash memory.
The Flash downloader utility (flash.li) provided with this application note has been adapted by ST Microelectronics to allow programming of STR71xF microcontrollers. This modified version must be used when programming your STR71xF device, instead of the default integrator version of the Flash downloader that is provided with ADS.
REV. 1
May 2005 1/6
STR71xF Embedded Flash Programming with ADS

2 Programming procedure

The following section takes you step by step through the process of downloading a binary file to Flash memory.
The STR710-Eval board is used as an example to illustrate the hardware set up, however the same fundamental procedure can be applied to other application/evaluation boards featuring ST ARM core-based microcontrollers.
The example in this procedure also refers to ARM Multi-ICE, however it is possible to use the ARM Angel Debug Monitor. For more information refer to the

2.1 Converting ELF image file into plain binary format

The file that you will program to internal Flash must be in plain binary format suitable for direct download into Flash memory. You can convert your image files in Executable Linkable Format (ELF) to plain binary format using the fromELF utility.
To convert an ELF file to a binary (.bin) file, invoke the fromELF utility using the command line as shown below:
fromelf -bin -o outfile.bin infile.axf
ARM Software Development Toolkit User Guide
.
-bin: specifies the output file format
-o outfile.bin: specifies the name of the output file
infile.axf: specifies the ELF file to be translated
For a detailed explanation of the fromELF command line and options, you can refer to the
Suite Linker and Utilities Guide
.
ARM Developer

2.2 Configuring and connecting to hardware

The target board should be configured to boot from RAM prior to invoking the Flash downloader utility. This is to ensure that the memory where the Flash programming routine will be downloaded is mapped to RAM.
If you are using the STR710-Eval board, configure the boot mode as follows:
1 Configure switches SW13, SW14 and SW15 to RAM Mode (RAM mapped at 0h).
Table 1: STR710-EVAL switch configuration
Switch Description Position
• SW13 Boot mode 1:
• SW14 Boot mode 0: 1-2
• SW15 Boot mode EN: 2-3
Execute code from internal RAM
RAM mapped at 0h
Note: You can refer to STR710-Eval Board Datasheet for detailed descriptions of switch positions and
boot modes.
2-3
2 Connect the target board to your host PC via the Multi-ICE interface device and power on your
target board.
2/6
Loading...
+ 4 hidden pages