Primeros pasos – Diseño GUI Riverdi con TouchGFX Designer

TouchGFX Designer es un avanzado constructor y simulador de PC GUI para microcontroladores STM32 de ST Microelectronics. Es una solución lista para usar que permite diseñar interfaces gráficas de usuario asombrosas.
TouchGFX en este ejemplo 4.20/1.10.1 es totalmente compatible y se integra perfectamente con todos los productos Riverdi basados en STM32H7.
Aprende a crear GUI para tu pantalla Riverdi.
En primer lugar, hay que instalar el software y crear un nuevo proyecto:

1. Instale la última versión de TouchGFX, CubeIDE y Cube Programmer en la ubicación predeterminada: disponible aquí.

2. Inicie TouchGFX Designer

3. Cree su proyecto haciendo clic en «Crear nuevo».

4. Vaya a la pestaña «Por socios» para elegir el proyecto compatible con la visualización Riverdi

5. Seleccione la tabla Riverdi.

NOTA: Puede haber más de una plantilla para la misma pantalla Riverdi. Seleccione siempre la última versión. Compruebe los detalles de la plantilla que aparecen en el panel derecho. (En este caso es v 2.0.1)

6. Haga clic en «Crear».

Ahora tienes un Canvas vacío para diseñar tu GUI. Puedes colocar widgets arrastrando y soltando desde el menú. Por ejemplo, botones, deslizadores, barras de progreso o imágenes.

Una vez que haya terminado de diseñar su interfaz gráfica de usuario es necesario:

1. Guarde el proyecto.

2. Haga clic en «Generar código» en la esquina inferior derecha (o pulse F4).
SUGERENCIA: Puede comprobar el aspecto de su interfaz gráfica de usuario sin conectar hardware real. Para ver cómo funciona, ejecute el simulador pulsando el botón de reproducción situado en la esquina inferior derecha (o pulse F5).

Cuando estés satisfecho con tu proyecto, es hora de hacerlo funcionar en tu pantalla:

1. Conectar el programador ST-Link al PC

2. Conecte el cable SWD a la pantalla Riverdi

3. Confirme que tiene un archivo STM32H_IPS_QSPI_Loader_CM7.stldr en
C:\Archivos de Programa\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader o la ruta donde tenga instalado CubeProgrammer.
Si no lo copia del proyecto generado desde la carpeta \STM32CubeIDE\CM7\Stldr\ o \gcc\
Este trabajo se realiza una sola vez, por lo que no es necesario sobrescribirlo cuando cree nuevos proyectos TGFX o modifique los existentes.

4. Conectar la alimentación

5. Pulse «Ejecutar en el objetivo» (o pulse F6)

TouchGFX Designer compilará el proyecto y creará el código binario. También cargará automáticamente FW en Riverdi Display. Una vez finalizado este proceso deberías tener tu GUI funcionando en la placa real. Gracias al entorno WYSIWYG (What You See Is What You Get, «lo que ves es lo que obtienes») no necesitas conocer ningún lenguaje de programación ni estructura de hardware para crear un gran diseño de interfaz gráfica de usuario.
¿Necesita inspiración? Hay demostraciones.
Echa un vistazo al proyecto Riverdi demo GUI (IoT Smart Home):

1. Archivo-> Nuevo

2. Seleccione «Demos» en los iconos de la izquierda

3. Ir a «Demostración específica de la tarjeta»

4. Seleccione la última demo para su Riverdi Display

5. Haga clic en «Crear».

6. Diviértete y comprueba cómo funciona

7. Para ejecutarlo en una pantalla de hardware, haga clic en «Generar código» (o pulse F4)

8. Conecte su pantalla

9. Haga clic en «Ejecutar en destino» (o pulse F6)

NOTA:

Los códigos fuente generados por TouchGFX Designer contienen un archivo de proyecto IOC que puede abrirse con CubeMX.

Desgraciadamente, por ahora, la regeneración directa desde CubeMX no está totalmente soportada. El proyecto IOC describe el pinmux de los GPIOs y cómo se conectan a las interfaces. También muestra los relojes y las propiedades de los periféricos.

Cómo solucionar el bloqueo de STM32H7 debido a una configuración incorrecta

Resumen del problema

El problema aquí es que el MCU viene con un convertidor interno y un LDO. El diseño del hardware no es el mismo cuando funciona con SMPS o con LDO. En nuestras placas se selecciona mediante las resistencias R44, R45 y R46.

Por defecto tenemos el trimado LDO activado, lo que significa que R44 y R46 no están montados, y el R45 es 0R. El procesador se bloquea, si se inicializa con una configuración diferente a la del hardware.

Evita que el procesador se autodestruya. Entonces el SWD también se bloquea.

SOLUCIÓN

Hay 3 formas de reiniciar este modo, elige una de ellas:

A) Acceda al modo de arranque realizando los siguientes pasos:

    1. Desconectar la alimentación
    2. Almohadillas BOOT cortas (véase la imagen de abajo), Puede utilizar pinzas o soldador
    3. Vuelva a conectar la alimentación
    4. Conecte el SWD y realice el borrado completo del chip
    5. Desconectar la alimentación
    6. Almohadillas BOOT no cortas

Para 10,1″ (R50)

Para 7,0″ (R67)

B) Quitar la resistencia R45 0R, soldar R44 y R46 con 0R. Luego conecta el SWD, borra el flash y vuelve a conectar las resistencias.

o

C) Mantener el reset del procesador e intentar conectar antes de que el programa flash alcance la configuración PWR. Sólo se necesitan varias docenas de ms, así que puede que necesites un par de repeticiones para clavarlo. A continuación, conecte el SWD, borrar el flash.

NOTA:

Recuerda mantener en tus proyectos la configuración de energía por defecto:

HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);

NOTA:

Para versiones de PCB más antiguas, la opción A es diferente

A) Acceda al modo de arranque realizando los siguientes pasos:

    1. Desconectar la alimentación
    2. Conecte las almohadillas de soldadura R65 y C134 (véase la imagen siguiente)
    3. Vuelva a conectar la alimentación
    4. Conectar el SWD y limpiar el flash
    5. Desconectar la alimentación
    6. Desconectar R65 y C134

Configuración de depuración para CubeIDE
para proyectos con activos en flash externo

Después de crear un proyecto en TGFX e importarlo al IDE
Es necesario abrir la ventana de configuración de depuración

Menú Ejecutar ->»Depurar configuraciones…»

A continuación, la pestaña «Depurador
Sección «Cargador externo», haga clic en «Añadir».

Luego «Sistema de archivos…»
Y apunta al archivo del cargador.
Por el momento hay que especificar manualmente la ruta completa. En el nuevo TBS stldr se añadirá al proyecto IDE por lo que será accesible desde el espacio de trabajo y usted no tendrá que hacer este paso

La casilla «Activado» debe estar marcada y la opción «Inicializar» desmarcada.

Haga clic en OK
Y luego Aplicar y Depurar.