Programando Con OpenOCD
Existen diferentes maneras en que podemos programar nuestro microcontrolador usando OpenOCD, ( una muestra de su versatilidad ), y en este nuevo post examinaremos algunas de ellas, quedara en ti escoger la más adecuada para tu sistema de trabajo.
Antes que nada y para simplificar un poco utilizaremos el programa que creamos en el post Primer Programa Bare Board y daremos por echo que ya esta correctamente compilado y tenemos los archivos tets.elf y test.hex generados en el subfolder Output.
Usando Telnet
Esta opción ya la hemos manejado en los anteriores post, pero no está de más incluirla aquí. Primero que nada tendrás que conectarte a tu tarjeta con OpenOCD
1 2 |
|
Primer Programa Con Stm32f0cube (Pt IV)
La última parte de la serie Primer Programa en la cual abordaremos un poco más de la librería STM32F0Cube. Primero que nada una explicación de lo que contiene esta librería al descomprimir el archivo zip en el que viene, te encuentras con:
1 2 3 4 5 6 7 8 9 |
|
Drivers
Es uno de los directorios más importantes, en el encontramos el estándar CMSIS que contiene definidos los registros de los periféricos del micro así como los vectores de interrupción. Lo otro que encontramos de gran importancia es la librería de HAL drivers con las piezas de código que nos permitirán controlar los periféricos a través de funciones y macros ya bien definidos y probados.
1 2 3 4 |
|
Primer Programa Con STM32F0Cube (Pt III)
En los dos anteriores post de la serie Primer Programa hemos estado utilizando archivos pertenecientes a la librería STM32F0Cube. Esta librería es un banco de código de funciones ya preestablecidas que nos permitirán empezar a codificar nuestras aplicaciones sin conocer tan a detalle el micro que estemos usando.
Llegó la hora de usar a fondo y sacar provecho de esas funciones, vamos a repetir el anterior ejemplo pero esta ocasión sacando provecho a librería STM32F0Cube.
Creamos una nueva carpeta para nuestro proyecto
1
|
|
De nueva cuenta deberás copiar a la carpeta de tu proyecto el archivo linker. Recuerda lo obtienes de la librería de ST en la siguiente ruta
1
|
|
Primer Programa CMSIS (Pt II)
En el post Primer Programa Bare Board aprendimos como correr nuestro primer programa sin la ayuda de libreria y función alguna ( excepto el startup y el linker file ). En esta ocasión usaremos la definición de registros acorde al estándar CMSIS.
CMSIS nos ayudará a acceder a los registros del micro de una forma más cómoda y organizada, además es un estándar difundido entre los fabricantes de micros con CPUs ARM,
Creamos una nueva carpeta para nuestro proyecto con CMSIS
1
|
|
De nueva cuenta deberás copiar a la carpeta de tu proyecto el archivo linker. Recuerda lo obtienes de la librería de ST en la siguiente ruta
1
|
|
Primer Programa Bare Board (Pt I)
Con nuestro compilador instalado y OpenOCD listo para comunicarse con nuestra tarjeta Nucleo-F072RB, llego la hora de crear nuestro programa hola mundo. Antes que nada aclararemos que no usaremos ningun IDE en especifico, para escribir el codigo usaremos cualquier editor de texto plano ( te recomiendo Sublime Text ) y la compilacion la realizaremos usando archivos makefiles y la terminal.
El programa lo realizaremos sin el uso de ninguna libreria de funciones ( just balls!!! ), pero si nesecitaremos un par de archivos de apoyo y los optendremos de la libreria oficial STM32F0Cube de ST. Descarga el archivo y descomprimelo en tu lugar favorito de la computadora =).
Crea una carpeta donde estara tu flamante y nuevo programa de prueba
1 2 |
|
Copia a la carpeta de tu proyecto el archivo linker, el cual permitira a tu programa saber como esta ordenada la memoria del micro. El archivo se encuentra en la libreria de ST en la siguiente ruta:
1
|
|