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 CFItype 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

ST AN2146 APPLICATION NOTE

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 ARM Software Development Toolkit User Guide.

2.1Converting 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

-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 ARM Developer Suite Linker and Utilities Guide.

2.2Configuring 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:

1Configure 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:

 

2-3

 

 

Execute code from internal RAM

 

• SW14

Boot mode 0:

1-2

 

 

 

RAM mapped at 0h

 

• SW15

Boot mode EN:

2-3

 

 

 

 

 

Note: You can refer to STR710-Eval Board Datasheet for detailed descriptions of switch positions and boot modes.

2Connect 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