Tengo un STM32H743VI que quiero conectar a una pantalla LCD que usa ST7789 con interfaz paralela (8 o 16 bits), la pantalla LCD no tiene señales SPI, así que tengo que usar la interfaz paralela.
Me pregunto cómo usar el controlador DMA para acelerar las copias entre los búferes internos y el búfer de pantalla.
Estoy planeando implementar un controlador simple para LittlevGL.
Mis preguntas son:
El STM32H732VI tiene un periférico LCD-TFT para controlar la interfaz RGB directamente, pero si no quiere usarlo, es mejor que use el periférico Controlador de memoria flexible (FMC) para asignar la pantalla LCD al bus de memoria, de modo que DMA pueda ser utilizado con él. Conectarlo a GPIO simples realmente no puede usar DMA, o al menos sería incómodo usar DMA para alternar GPIO para obtener lecturas/escrituras de memoria en la pantalla LCD.
1) Se deben usar los pines FMC; cualquier GPIO no funcionará.
2) El controlador DMA puede realizar transferencias de bloques DMA de memoria a memoria. No veo cómo se usaría el temporizador para transferencias DMA en este caso.
3) Tal vez valga la pena usar Chrom-Art, si necesita operaciones que pueda realizar, pero la utilidad de usarlo directamente sobre FMC para controlar el búfer de cuadros externo puede ser limitada. Al menos puede usarlo en el búfer de cuadros interno que luego puede copiar a su pantalla, si la salida de Chrom-Art no es directamente compatible.
Sólo yo
uriel katz