Está en la página 1de 7

STM32CubeMX

Inicio con “STM32F4 Discovery kit for STM32F429”

Sitio web: https://www.st.com/stm32cube

Version: STM32Cuve V1.0 , distrib 4.27.0

1) Descargar el programa CubeMX del sitio de ST.

Luego descargar las librerías para cada familia de microcontroladores, en este caso la STM32F4

2) Iniciar el programa y crear un proyecto nuevo (“File”-> “New Project …”). Se desplegara un menú con
varios modelos de uC.
El uC que se tiene en la placa es

STM32F429ZITx (en el buscador de Part Number “stm32F429ZI”) con el encapsulador LQFP144

En el caso de la Discovery STM32F409 el modelo es “STM32F409VGTx” con el encapsulado LQFP100. Al


seleccionarlo (doble click), se obtiene un proyecto con una plantilla en blanco

3) Configurar interface de programación (muy importante):


En la columna de la izquierda, seleccionar la pestaña “”pinout” y en “Periphericals” buscar el ítem “SYS”:

Seleccionar la opción “Serial Wire”. En caso de no configurar correctamente esta opción se corre el peligro de no
poder programar mas el uC.

4) Configuración del Clock:

En la sección de “periphericals” buscar el ítem RCC (Clock Config) y en los subitems HSE y LSE seleccionar la
opción “Crystal/Ceramic Resonator” (mas adelante se definirán los valores).

5) GPIO: input , output:


Los puertos de entrada y salida se deben configurar para poder usar los Led’s y botones disponibles en la
placa:
En este caso se tienen dos led’s. Uno color verde (LD3) en el pin PG_13 y otro color rojo (LD4) en el pin
PG_14. Además se tiene un botón de usuario en PA_0.
Para configurar el puerto como salida, se debe buscar el pin correspondiente y con el botón izquierdo del
mouse se despliega una serie de opciones

Para los Led’s se configura el puerto como Salida y para el botón como entrada (en caso de usarlo como
fuente de interrupción externa, usar la opción GPIO_EXTI??).

Además se le puede asignar un rótulo a el Pin, con el fin de identificarlo fácilmente en el programa. Presionando el
botón derecho del mouse sobre el pin se despliega otro menú

Por ejemplo se coloca un rótulo descriptivo para el “Led_Verde”.


6) Configuración del sistema de reloj general:
El programa CubeMX elige en forma automática los valores de los divisores en función de la frecuencia que
solicita el usuario. Se selecciona la pestaña “Clock Configuration”, primero se debe cambiar la frecuencia
del Clock HSE a 8MHz y luego la fuente del PLL con la señal HSE y finalmente la fuente del “System Clock
Mux” con la señal PLLCLK

Y la velocidad del sistema se fija a por ejemplo 168MHz con el campo HCLK (automáticamente el programa
calcula el resto de los valores, se recomienda este valor para poder configurar fácilmente el clock del USB
en caso de que se use)

7) Generar el proyecto:
Para generar los archivos del proyecto, se debe ir a la barra del menu principal, en “Project” y seleccionar
“Settings” (Alt + P)
Y en la pantalla de “Project Settings”, se debe elegir el nombre del proyecto y también seleccionar el
compilador “Toolchain/IDE” con la opción “MDK-ARM V5”, el resto de la cosas como esta

Luego se selecciona la pestaña “Code Generator” y tildar la opción “Copy only the necessary library files”

Finalmente se vuelve al menu anterior y selecciona “Generate Code”

Y luego se puede abrir el proyecto con Keil, con el botón “Open Project”
Luego el compilador Keil se abre automáticamente y se tiene configurado todo

Se tiene una estructura del proyecto basada en las bibliotecas CMSIS, de forma que se trabaja con Bibliotecas de
abstracción de hardware (HAL).
8) Compilar y cargar el programa en la placa
Para compilar el proyecto se debe presionar la tecla F7 o presionar el botón de “Build”

Una vez que se compiló el proyecto y no tiene errores se lo graba en la memoria flash del uC con la tecla F8 o el
botón “LOAD”

También podría gustarte