September 2012 Doc ID 023558 Rev 1 1/48
UM1562
User manual
Getting started with software and firmware environments for the
STM32F3DISCOVERY Kit
Introduction
This document describes the software, firmware environment and development
recommendations required to build an application around the STM32F3DISCOVERY board.
It presents the firmware applications package provided within this board with details on its
architecture and contents. It provides guidelines to novice users on how to build and run a
sample application and allows them to create and build their own application.
This document is structured as follows:
System requirements to use this board and how to run the built-in demonstration are
provided in Section 1: Getting started.
Section 2 describes the firmware application package.
Section 4 presents development toolchain installation and overview of ST-LINK/V2
interface.
Section 5, Section 6, Section 7, and Section 8 introduce how to use the following
software development toolchains:
IAR Embedded Workbench® for ARM (EWARM) by IAR Systems
Microcontroller Development Kit for ARM (MDK-ARM) by Keil™
TASKING VX-toolset for ARM Cortex by Altium
TrueSTUDIO® by Atollic
Although this user manual cannot cover all the topics relevant to software development
environments, it demonstrates the first basic steps necessary to get started with the
compilers/debuggers.
Reference documents
STM32F3DISCOVERY high-performance discovery board data brief
STM32F3DISCOVERY peripheral firmware examples (AN4062)
STM32F30x reference manual (RM0313)
STM32F30xx datasheet
The above documents are available at www.st.com/stm32f3-discovery.
Table 1. Applicable tools
Type Part number
Evaluation tools STM32F3DISCOVERY
www.st.com
Contents UM1562
2/48 Doc ID 023558 Rev 1
Contents
1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Running the built-in demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Description of the firmware package . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Libraries folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 CMSIS subfolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 STM32F30x_StdPeriph_Driver subfolder . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 STM32_USB-FS-Device_Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Project folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Demonstration subfolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Master_Workspace subfolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Peripheral_Examples subfolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Utilities folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Binary images for reprogramming firmware applications . . . . . . . . . 12
4 ST-LINK/V2 installation and development . . . . . . . . . . . . . . . . . . . . . . . 13
5 Using IAR Embedded Workbench® for ARM . . . . . . . . . . . . . . . . . . . . 14
5.1 Building an existing EWARM project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Debugging and running your EWARM project . . . . . . . . . . . . . . . . . . . . . 15
5.3 Creating your first application using the EWARM toolchain . . . . . . . . . . . 17
5.3.1 Managing source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3.2 Configuring project options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Using MDK-ARM Microcontroller Development Kit by Keil™ . . . . . . . 23
6.1 Building an existing MDK-ARM project . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Debugging and running your MDK-ARM project . . . . . . . . . . . . . . . . . . . 24
6.3 Creating your first application using the MDK-ARM toolchain . . . . . . . . . 26
6.3.1 Managing source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.3.2 Configuring project options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7 Using TASKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31