En esta actividad se verán los siguientes puntos:
Esta es una sub-actividad desarrollada en clase
Esta es una sub-actividad desarrollada en clase
P\ Mencione 2 formas distintas que en que tarjeta de desarrollo podría dañarse.
Esta es una sub-actividad desarrollada en clase
P\ Qué tipo de conexiones USB tiene disponible la tarjeta de desarrollo?
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi openocd make stlink-tools stlink-gui gdb-multiarch minicom emacs git
El editor de texto que se verá en clase será emacs. El estudiante puede escoger otro editor de texto bajo su propio riesgo/responsabilidad.
Esta es una sub-actividad desarrollada en clase
mkdir -p ~/local/src/repos/github/
mkdir -p ~/local/src/repos/gitlab/
cd ~/local/src/repos/github
git clone https://github.com/libopencm3/libopencm3-examples.git
cd libopencm3-examples
git submodule init
git submodule update
P\ Qué es un submodule de git?
P\ Qué logran los dos últimos comandos?
cd libopencm3
make -j`nproc`
cd ..
P\ Qué es nproc? Para qué sirve?
P\ Qué función cumplen los símbolos ` (tilde invertida)
P\ Para qué sirve "make"?
P\ Qué significa compilar? Describa las partes básicas de una compilación.
cd ~/local/src/repos/github/libopencm3-examples/
cd examples/stm32/f4/stm32f429i-discovery/miniblink/
make
make flash
P\ Qué es "flashear"?
P\ Qué herramienta de sistema utiliza el último comando para realizar la programación en la tarjeta?
P\ En caso de tener conectada más de una tarjeta de desarrollo en una misma computadora, qué comando debe utilizar para programar una de las dos tarjetas en específico?
emacs miniblink.c &
P\ Con qué llamada de función se logra activar el periférico de GPIOB?
P\ Con qué llamada de función se configura el pin GPIO14 como salida tipo PUSH-PULL?
P\ Qué es una salida Pull-UP?
Tome un video antes y después del cambio.
Almacene el archivo modificado con el otro LED y la velocidad 10x. Debe entregarlo en la primera entrega del curso.
cd ~/local/src/repos/github/libopencm3-examples/
cd examples/stm32/f4/stm32f429i-discovery/fancyblink/
make
make flash
P\ Para qué sirve la función "rcc_clock_setup_pll"?
P\ A qué velocidad está corriendo el "core" del microcontrolador en el programa fancyblink?
P\ Reescriba el programa fancyblink.c para que realice el mismo comportamiento de fancyblink, pero sin utilizar la función gpio_toggle.
while(1)
. Indique al debugger que corra con "c" varias veces.P\ Qué pasa con cada corrida de "c" y las luces?
__asm__("nop");
p i
c
P\ Qué imprime "p i"? Qué sucede con la variable "i"?
int i;
y cámbiela por volatile int i;
p i
c
P\ Qué imprime "p i"? Qué sucede con la variable "i"?
P\ Qué logra "volatile"? Por qué anteriormente "p i" no imprimía un valor de "i"?
Página web de la tarjeta de desarrollo:
https://www.st.com/en/evaluation-tools/32f429idiscovery.html
Manual de usuario de la tarjeta de desarrollo:
https://www.st.com/resource/en/user_manual/um1670-discovery-kit-with-stm32f429zi-mcu-stmicroelectronics.pdf
Página web del chip que tiene la tarjeta de desarrollo: (STM32F429ZIT6)
https://www.st.com/en/microcontrollers-microprocessors/stm32f429zi.html
Hoja de fabricante del chip que tiene la tarjeta de desarrollo: (STM32F429ZIT6)
https://www.st.com/resource/en/datasheet/stm32f429zi.pdf
Manual de referencia de la familia de chips de la tarjeta de desarrollo:
https://www.st.com/resource/en/reference_manual/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdf