Setting-up project for all STM32Fxx Board using IAR IDE

Saturday, November 9, 2013 7:27 AM

Introduction

Before reading this tutorial you have take a look at the main tutorial here which i described in detail how to setting up your IAR embedded workbench for the STM32F4-Discovery board. This tutorial aims to show only the difference between the configuration of the STM32F4-Discovery board and the other Discovery boards like STM32VLDISCOVERY, STM32F429I-DISCOVERY...

 

 

STM32F429I-DISCOVERY

 

 

Prerequisites

- This board is a new one so the version 6.5 of the IAR IDE does not support the STM32F429ZI microcontroller, so you have to download a recent version, in my case i donloaded the 7.2 evalution version.
- Download the STM32F429I-DISCOVERY firmware package from the STMicroelectronics web site go to the end of the page an click on download.
- Download this file Useful_Files_STM32F429ZI which contain the source and header interruption handler files and the Library configuration file.
- You can download this project Here.

 

Setting options

- Select the STM32F429ZI microcontroller :

- Change the name of the second group to STM32F429I-DISCOVERY

 

Source files

- Add startup_stm32f429_439xx.s instead of the startup_stm32f4xx.s file

Go to this link:
C:\Users\xxx\Desktop\STM32F429I-Discovery_FW_V1.0.1\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar
and select the startup_stm32f429_439xx.s

We note that in this driver firmware the repertory link is a little bit different from the main tutorial. Now we have a Device folder of over.

- Add stm32f429i_discovery.c instead of the stm32f4_discovery.c file

The driver firmware for this board is the stm32f429i_discovery.c, you can find it here:
STM32F429I-Discovery_FW_V1.0.1\Utilities\STM32F429I-Discovery


Header files

To include the header files I’ll show you how to do it using the $PROJ_DIR$ (second method).

Additional include directories :
$PROJ_DIR$\..\STM32F429I-Discovery_FW_V1.0.1\Libraries\CMSIS\Include
$PROJ_DIR$\..\STM32F429I-Discovery_FW_V1.0.1\Libraries\CMSIS\Device\ST\STM32F4xx\Include
$PROJ_DIR$
$PROJ_DIR$\..\STM32F429I-Discovery_FW_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\inc $PROJ_DIR$\..\STM32F429I-Discovery_FW_V1.0.1\Utilities\STM32F429I-Discovery


You have to put the project directory folder and the driver folder in the same position. That mean you can create a folder and put them inside this folder, or you can put them in the desktop for example.


Defined symbols:
USE_STDPERIPH_DRIVER
STM32F429_439xx
USE_STM32F429I_DISCO


Inside the main file you have to include these header files

#include "stm32f4xx.h"
#include "stm32f429i_discovery.h"

int main()
{
  return 0;
}

 
            

When you add the stm32f429i_discovery.c source file you have to uncomment immediately 5 others header files even if you don't use any function inside the stm32f429i_discovery.c otherwise you will get errors during the compilation.

These header files are:
stm32f4xx_dma.h
stm32f4xx_exti.h
stm32f4xx_gpio.h
stm32f4xx_rcc.h
stm32f4xx_syscfg.h