User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/teaching/ie0624/actividad_stm32_first_steps.meta failed
teaching:ie0624:actividad_stm32_first_steps

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:ie0624:actividad_stm32_first_steps [2017/05/31 17:49] adminteaching:ie0624:actividad_stm32_first_steps [2022/09/20 00:08] (current) – external edit 127.0.0.1
Line 4: Line 4:
  
   * STM32F3 (Datasheet)   * STM32F3 (Datasheet)
 +  * STM32F303discovery (datasheet)
 +  * GPIO STM32
 +  * stlink
   * Modelo de Memoria (Memoria única)   * Modelo de Memoria (Memoria única)
   * Ambiente de desarrollo   * Ambiente de desarrollo
Line 11: Line 14:
   * Librerías   * Librerías
   * Makefiles   * Makefiles
 +  * C
  
 ===== Precauciones ===== ===== Precauciones =====
Line 19: Line 23:
  
   - Lea **//completamente todos//** los pasos de la guía de esta actividad   - Lea **//completamente todos//** los pasos de la guía de esta actividad
-  - Anote, responda y agregue al reporte todas las preguntas e instrucciones que se realicen en la guía. Dichas preguntas e instrucciones se pueden denotar al estar enumeradas con el siguiente formato: "1) Anote el puerto asignado a su dispositivo Arduino"+  - Anote, responda y agregue al reporte todas las preguntas e instrucciones que se realicen en la guía. Dichas preguntas e instrucciones se pueden denotar al estar enumeradas con el siguiente formato: "**1) Anote el puerto asignado a su dispositivo Arduino**"
   - Debe realizar una descripción de lo logrado a lo largo de la actividad, incluyendo las dificultades que se presentaron. Una bitácora de lo sucedido es lo mejor. (Anote no solo lo que usted ejecutó sino también el resultado de lo que ejecuta)   - Debe realizar una descripción de lo logrado a lo largo de la actividad, incluyendo las dificultades que se presentaron. Una bitácora de lo sucedido es lo mejor. (Anote no solo lo que usted ejecutó sino también el resultado de lo que ejecuta)
   - El reporte debe ser entregado mediante correo electrónico al asistente con copia al profesor del curso mediante correo electrónico. Debe utilizar formato PDF.   - El reporte debe ser entregado mediante correo electrónico al asistente con copia al profesor del curso mediante correo electrónico. Debe utilizar formato PDF.
Line 38: Line 42:
  
 ==== Parte 1. Ambiente de desarrollo. Libopencm, gcc ==== ==== Parte 1. Ambiente de desarrollo. Libopencm, gcc ====
 +
 +  * Instale y configure sudo en Debian:
 +
 +[[tutorials:sudo_in_debian|Sudo in Debian]]
 +
  
   * Descargue la biblioteca libopencm3:   * Descargue la biblioteca libopencm3:
Line 50: Line 59:
   * Descargue el compilador de C para procesadores arm:   * Descargue el compilador de C para procesadores arm:
  
-  sudo apt-get install gcc-arm-none-eabi+  sudo apt-get install gcc-arm-none-eabi openocd make
  
   * Compile la librería libopencm:   * Compile la librería libopencm:
Line 57: Line 66:
   make -j3   make -j3
  
 +  * Ya usted tiene disponible la librería y los ejemplos de libopencm3!
      
  
 ==== Parte 2. Flasheando ejemplos: Blink, Fancyblink y Button ==== ==== Parte 2. Flasheando ejemplos: Blink, Fancyblink y Button ====
  
-==== Parte 3. Ejercicio ====+  * Agregue los permisos de USB para la tarjeta stm32f3discovery. Para esto descargue el programa stlink: 
 + 
 +  cd ~/local/src 
 +  git clone https://github.com/texane/stlink 
 + 
 +  * Copie los archivos udev para corregir los permisos para el stlink de la tarjeta de desarrollo: 
 + 
 +  cd ~/local/src/stlink/etc/udev/rules.d/ 
 +  sudo cp 49-stlinkv1.rules /etc/udev/rules.d/ 
 +  sudo cp 49-stlinkv2.rules /etc/udev/rules.d/ 
 +  sudo cp 49-stlinkv2-1.rules /etc/udev/rules.d/ 
 +  cd ~/local/src/stlink/etc/modprobe.d/ 
 +  sudo cp stlink_v1.conf /etc/modprobe.d/ 
 +  sudo /etc/init.d/udev restart 
 + 
 +  * Reconecte el USB de la tarjeta de desarrollo en este momento. 
 + 
 +  * Compile el ejemplo miniblink: 
 + 
 +  cd ~/local/src/libopencm3-examples/examples/stm32/f3/stm32f3-discovery/miniblink 
 +  make -j3 
 + 
 +  * Las nuevas tarjetas de desarrollo stm32f3discovery (stm32f303discovery) vienen con una nueva  versión de la interfaz de programación (stlink). Debido a esta nueva versión se requiere realizar un cambio en el Makefile de los ejemplos. 
 +  * Edite el archivo Makefile de tal forma que quede como a continuación: 
 + 
 +  BINARY miniblink 
 +   
 +  LDSCRIPT ../stm32f3-discovery.ld 
 +   
 +  OOCD_INTERFACE stlink-v2-1 
 +   
 +  include ../../Makefile.include 
 + 
 +  * Envíe el programa compilado miniblink al microcontrolador (flash it!) 
 + 
 +  make flash 
 + 
 +  * En este momento el programa debería correr y encender y apagar el LED AZUL LD9. Corrobore que así suceda. **1) Indique el tiempo en encendido y el tiempo en apagado.** 
 + 
 +  * Realice los mismos pasos anteriores con el ejemplo fancyblink. Dicho ejemplo se encuentra en el mismo directorio de stm32f3-discovery que el de miniblink. Describa el comportamiento de dicho programa: **2) Cuáles LEDs se enciende o se apagan? 3) Describa la secuencia de encendido y apagado con un diagrama de temporización**. En dicho diagrama indique los tiempos de encendido y apagado. 
 +  * **4) Cómo miniblink y fancyblink logran generar los tiempos de espera?** Explique el método utilizado en dichos programas. 
 +  * Compile y corra el ejemplo "button". Dicho ejemplo se encuentra en el mismo directorio de stm32f3-discovery que el de miniblink. Describa el comportamiento de dicho programa: **5) Qué ocurre cuando presiona el botón "USER" y qué sucede cuando lo libera?** 
 +  * Modifique el ejemplo "button" para utilizar el LED LD6 en lugar del LED LD7. También modifique dicho programa para que cada vez que presione (flanco decreciente) el botón USER la velocidad de parpadeo del LED se duplique.
  
 ===== Referencias ===== ===== Referencias =====
teaching/ie0624/actividad_stm32_first_steps.1496252965.txt.gz · Last modified: 2022/09/20 00:08 (external edit)