Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una vez que se termine la instalación nos aparecerá la siguiente ventana, presionamos cerrar y
ya tenemos instalado java
Instalar Node.js para el uso de npm.cmd
Nos vamos a la página oficial de Node.js https://nodejs.org/es/ y descargamos el recomendado
por la mayoría, en este caso la 10.16.3 LTS
Presionamos next
Presionamos install
Una vez terminado la ejecución del instalador nos aparecerá el siguiente mensaje, presionamos
finish y tendríamos todo lo necesario para instalar el programa
Instalación de herramientas por npm:
1. Instalar xmp en NPM:
npm install –global xpm
4. Instalación OpenOCD:
xpm install –global @gnu-mcu-eclipse/openocd
La versión 8 de OpenJDK está disponible para Ubuntu 14.04 en el repositorio PPA OpenJDK
builds. Hay que añadir este repositorio para que podamos instalar esta versión de java, usando
los siguientes comandos:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
Instalación de OpenJDK 8:
sudo apt-get install openjdk-8-jdk
Se chequea que versiones de java tenemos disponibles en nuestro sistema:
sudo adate-java-alternativas --list
Se obtendrá algo así (en un entorno de 32-bit tendrá el prefijo -i386 en vez de -amd64):
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
observe el asterisco al lado del los números este marca el que se usara por defecto en el sistema,
en caso de no tener el asterisco en el java deseado presionaremos el numero correspondiente
seguido de entre para que lo seleccione, en nuestro caso el 2 para que tengamos java-8-openjdk-
amd64.
Verificar con java -version y javac -version que sea la versión 8 de JDK la que está por
defecto.
Se debería obtener algo así:
https://github.com/gnu-mcu-eclipse/arm-none-eabi-gcc/releases
Todos los sistemas operativos tienen su paquete portable para el conjunto de herramientas GNU
ARM. Las distribuciones GNU/Linux están comprimidas en .tgz bajamos la ultima versión de
las herramientas. Las siguientes son ejemplos del nombre del archivo
gnu-mcu-eclipse-arm-none-eabi-gcc-8.2.1-1.7-20190524-0603-centos64.tgz
gnu-mcu-eclipse-arm-none-eabi-gcc-8.2.1-1.7-20190524-0603-centos32.tgz
Los nombres se crearos usando los binarios con CentOS pero pueden ejecutarse sin problemas
en las ultimas versiones de GNU/Linux. Seleccionamos últimas el archivo -centos64 para
sistemas de 64bits y -centos32 para computadoras de 32 bits.
$ cd "${HOME}/opt"
$ tar xf ~/Downloads/gnu-mcu-eclipse-arm-none-eabi-gcc-8.2.1-1.7-20190524-0603-
centos64.tgz
$ chmod -R -w "${HOME}/opt/gnu-mcu-eclipse/arm-none-eabi-gcc/8.2.1-1.7-20190524-0603"
$"${HOME}/opt/gnu-mcu-eclipse/arm-none-eabi-gcc/8.2.1-1.7-20190524-0603/bin/arm-none-
eabi-gcc" --version
Instalación de eclipse.
En esta parte es muy importante hacer un paso intermedio para instalar una versión compatible
de Eclipse, para esto nos dirigiremos a https://marketplace.eclipse.org/ y buscamos el plug-in
GNU MCU y hacemos clic sobre el nombre del primer resultado
Una vez dentro del plug in aparecerá en la ventana de Adicional Details nos aparecerán todas la
versiones compatibles con este plug in esto nos dice que solo podremos descargar las versiones
que estén en esta lista, al momento de hacer este documento las versiones son desde la Neon
hasta 2019-09
Ahora es necesario ir a la página de eclipse para poder descargar su programa
https://www.eclipse.org/
Presionamos dowload e iremos a la siguiente ventana, donde no descargaremos aun sino que
presionaremos download pacages
Con esto aparecerá una lista de muchos Paquetes diferentes pero el que interesa es el siguiente:
Descargar la versión correcta del programa, en el caso de este tutorial es una versión de 64bits.
Una vez que se tenga el portable de eclipse hay que descomprimirlo, por lo que tenemos que ir
hacia la carpeta donde se descargo el paquete, por ejemplo:
cd /home/cudar73/Descargas/
Confirmamos y aceptamos
Observamos en la esquina inferior derecha el progreso en la instalación
Una vez terminada la instalación nos aparecerá la siguiente ventana solicitando el reinicio del
programa, lo dejamos que reinicie
Generar un acceso directo para el escritorio en Linux (Opcional):
Con el programa instalado y listo para correr, se puede crear un archivo de ejecución de eclipse
para que el sistema operativo lo reconozca para lanzarlo y poder crear accesos directos sin
necesidad de tener que entrar siempre en la carpeta de eclipse para ejecutarlo:
nano .local/share/applications/eclipse.desktop
esto creara un archivo .desktop para que Ubuntu lo reconozca como aplicación
en el archivo se podrá lo siguiente:
[Desktop Entry]
Name=Eclipse C Neon
Type=Application
Exec=/home/eclipse73/eclipse/eclipse
Terminal=false
Icon=/home/eclipse73/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse
una vez escrito se guarda y se encontrara eclipse dentro del lanzador de aplicaciones.
Una vez inicie el sistema nos vamos a File->New->C/C++ Project y aparecerá la si ventana, este
paso puede variar entre versiones pero lo importante es generar un nuevo proyecto en C
Para la siguiente ventana es necesario saber la familia de procesadores y como lo tiene cargado
cmsis para la familia de stm32 se bastante simple , para identificar nuestro Vendor CMSIS
name simplemente se usa stm32 seguido de los dos caracteres el primero pude ser f,l,w,g y el
segundo corresponde normalmente a un numero 0,1,2,3,4,7 con una excepción en el stm32wb,
que es la letra b, con esos dos caracteres mas dos letras “x” en este caso estamos usando el
STM32F358CCT6 el nombre seria stm32f3xx
También es necesario seleccionar la ruta donde se encuentra las herramientas de gnu arm
Una vez presionado finish ya tendremos creado el proyecto ahora queda borrar un par de
archivos y hacer un par de modificaciones en ldscripts/mem.ld, se borrara los siguientes
archivos
Introducción
Este software es un programa que permite hacer una abstracción de hardware facilitando el
desarrollo ya que esta herramienta genera a partir de una configuración deseada por el usuario y
genera a partir de este el código en c para el compilador. Esto ahorra mucho tiempo de
codificación y testing para el desarrollo de sistemas embebidos basados en STM32
descarga e instalación de cubemx en Windows o Linux primero vamos a ir al siguiente link:
https://www.st.com/en/development-tools/stm32cubemx.html
una vez hecho esto ya podemos hacer doble clic sobre SetupSTM32CubeMX-5.3.0.linux y
ejecutamos la instalación.
Para Windows el procedimiento es más simple, solo seleccionamos el SetupSTM32CubeMX-
5.3.0.exe y seguimos hacemos la instalación como cualquier otro programa en esta plataforma.
Una vez instalado el programa lo ejecutamos para crear nuestro nuevo proyecto
Presionamos dentro de new poject→Srart my project from MCU el boton de ACEESS TO
MCU SELECTOR, esto nos llevara a un listado de micro controladores soportados por este
software ,para mostrar el proceso nos basaremos en el chip STM32F303RE pero el
procedimiento es el mismo para cualquiera de los chips de ST.
Hacemos doble clic sobre el nombre de nuestro chip en la MPU list y nos llevara a nuestro
primer proyecto en la pestaña Pinout & Configuration se muestra un esquema reducido del chip
con sus pines en la columna derecha aparecen listados todos los periféricos pertenecientes al
chip separados por categorías
ahora comenzaremos la configuración , en primer lugar es necesario configurar el reloj del
sistema ya que sin este no funcionaria nada del chip , en este ejemplo la placa en la que está
montado el chip no tiene un cristal oscilador por lo que se hará uso del clock interno , pero si
cuenta con un oscilador externo para el LSE(low speed clock) por lo que habilitamos en la
opción de LSE seleccionamos Cristal/Ceramic Resonator, con lo que aparecerá marcado en el
pinOUT del chip los dos pines correspondientes a esa función
Presionamos Overwrite All y copiara todos los archivos necesarios del CMSIS Core, esto
más que nada es porque eclipse tiene una versión desactualizada del core y Cubemx tiene
una versión más actual
6. Ahora vamos a Devices/CMSIS/Device/ST/STM32F3xx/Include copiar en
system/include/CMSIS nuevamente si aparece el cartel que pregunta si deseamos sobre
escribir le decimos que sobre escriba todo
7. Por ultimo copiaremos el archivo .s que hay en la carpeta /Startup en la carpeta
system/src/cmsis/ y cambiarle usando click derecho sobre el documento->rename le
cambiamos la .s por .S , esto es muy importante ya que la minúscula el compilador no la
diferencia y no reconoce el archivo
Si le damos compilar ahora nos dará un error
Por lo que será necesario un último paso antes de terminar con el proceso click derecho sobre
el proyecto->Propiedades->C/C++Builds->Settings->ToolSettings->Cross ARM C Compiler-
>Preprocessor y dentro de define symbols presionamos el botón para agregar una definición,
que es la selección de nuestro procesador para el HAL, Estas definiciones son utilizadas para
habilitar o deshabilitar drivers para saber cuál es el que necesitamos vamos al archivo
stm32f3xx.h y buscamos en nombre según el HAL
En el caso del chip que estamos usando (STM32F358CCT6) seria STM32F358xx con lo que la
definición nos quedaría así
Si nos aparece el siguiente error:
-f interface/ftdi/openocd-usb.cfg -f interface/ftdi/swd-
resistor-hack.cfg -f target/stm32f3x.cfg
Presionamos Apply y nos dirigimos a stratup en donde vamos cambiar el reset an delay
por 4segundos
Por último nos dirigimos a common y seleccionamos display in favorites menu y
presionamos apply y luego close. Con esto ya tenemos configurado tanto el debuger
como el servidor de openocd
Presionamos Remplace Driver y esperamos hasta que nos aparezca este cartel:
Una vez que ya tenemos todo esto funcionando solo queda conectar la placa y comenzar con el
debug de nuestro blink para eso simplemente apretamos la flecha hacia abajo del botón
y seleccionamos el servidor Openocd que creamos anteriormente y una vez que se conecte
simplemente apretar la flecha en y seleccionar el debug que creamos , esto nos llevara a
la ventana correspondiente al debug apretamos f8 y veremos como el led de nuestra placa
debería de titilar y cada vez que se apriete el botón cambiara la velocidad de titileo