Iniziare a utilizzare un nuovo display controller EVE4 non deve essere necessariamente complesso.
In questa guida scoprirai come dare vita a un display Riverdi EVE4 su una scheda di valutazione STM32, dal primo cablaggio alla visualizzazione del frame iniziale.
Si tratta di una guida precisa e al tempo stesso precisa, pensata per gli ingegneri che vogliono avere una base solida per i futuri progetti basati su EVE senza perdersi in dettagli inutili: cablaggio, apertura del progetto in STM32CubeIDE, compilazione e flash, conferma del display e del touch concentrati sull’essenziale; un primo progetto che potrai riutilizzare come base per future applicazioni più complesse.
Hardware


| Articolo | Esempio/PN | Note |
| ST-Link V3/V2 | STLINK-V3 | Entrambe le versioni funzionano bene |
| Scheda di valutazione Riverdi | Scheda di valutazione STM32 | Compatibile con RiBUS |
| EVE4 7″ | RVT70HSBNWC00-B | 7″ IPS, BT817Q |
| RiBUS FFC | FFC0520150 | Incluso nella scheda di valutazione e nell’EVE4 |
| Tappi per ponticelli | – | Inclusi nella scheda di valutazione |
| Cavi USB | 2× Micro-USB | Incluso nella scheda di valutazione e in ST-Link |
| Fili di ponticello FF | – | SWD |



RiBUS
- Il rinforzo blu sull’FFC è solitamente rivolto verso la chiusura del connettore (in alto). Inseriscilo completamente, quindi chiudi la chiusura.
- Passa il cavo con un leggero raggio di curvatura, senza pieghe brusche, e assicurati che il lato di contatto corrisponda all’impronta del connettore su entrambe le estremità.
- Non alimentare la scheda mentre inserisci/rimuovi l’FFC.
Software
- Installa STM32CubeIDE.
- (Opzionale) Installa STM32CubeProgrammer per facilitare il flashing tramite ST-Link.
- (Opzionale) Installa Git (o pianifica di scaricare uno ZIP).
- Solo per Windows: installa il driver USB ST-Link (CubeProgrammer può farlo).
Preferisci un ambiente diverso (Keil/IAR/Make/PlatformIO)? Non c’è problema: questa guida utilizza solo CubeIDE per chiarezza.
Ottieni il progetto da GitHub
Opzione A
- Apri il repository: Riverdi EVE demo
- Clicca sul Codice verde e copia l’URL HTTPS (controlla l’immagine qui sotto).


- Apri il terminale nella directory in cui vuoi che il tuo progetto si trovi e digita: git clone https://github.com/riverdi/riverdi-eve4-demo.git riverdi-eve-demo
Opzione B
- Apri il repository: Riverdi EVE demo
- Clicca sul codice verde e scarica lo ZIP
- Decomprimi in una cartella comoda (ad es. … C:\Users\User1 \riverdi-eve-demo)
Importa il progetto in STM32CubeIDE
Segui questi passaggi per portare la repo clonata/scompressa in CubeIDE.
- In CubeIDE, vai su File → Nuovo → Progetto Makefile con codice esistente.
- Posizione del codice esistente: clicca su Sfoglia… e seleziona la cartella riverdi-eve.
- Nome del progetto: conserva il nome suggerito o inserisci il tuo.
- Lingue: lascia selezionata la voce C e C++.
- Impostazioni Toolchain per Indexer: seleziona MCU ARM GCC.
- Clicca su Fine. Il progetto apparirà in Project Explorer.


Se “MCU ARM GCC” non è presente nell’elenco:
- Installa/ripristina i componenti di CubeIDE tramite Aiuto → Gestisci i pacchetti software integrati (o reinstalla CubeIDE).
- Riavvia CubeIDE e riprova l’importazione.
Configura il progetto
- Scegli la piattaforma Makefile
Il repo supporta più host. Per la scheda di valutazione STM32 Riverdi (F4), usa:- Makefile.stm32f4 (si trova nella root del progetto)
- Rinominalo per renderlo attivo
Rinomina Makefile.stm32f4 → Makefile (CubeIDE e make cercano questo esatto nome di file). - Imposta le definizioni del tuo pannello/display
Apri il Makefile appena rinominato e assicurati che siano presenti i seguenti flag (disincronizza/aggiungi se necessario) per un modulo EVE4 IPS da 7″:
# Generazione di EVE
DEFS += -DEVE_4
# L’EVE4 utilizza tipicamente un oscillatore esterno.
DEFS += -DEVE_4_EXTERNAL_OSC
# Selezione del pannello (7″ IPS)
DEFS += -DIPS_70
Stai usando un altro display Riverdi EVE?
Sostituisci -DIPS_70 con la definizione corrispondente commentata nel Makefile (il blocco di temporizzazione per HSIZE/VSIZE/HCYCLE/VCYCLE ecc. è legato a quella definizione).
In genere non è necessario modificare nient’altro: per una prima compilazione, gli altri parametri devono essere mantenuti ai valori predefiniti.
Struttura del codice principale
Il demo di riverdi-eve utilizza un design a strati:
- host_layer – binding della piattaforma (SPI, GPIO, timing) per STM32, RPi, FT232H/Windows, ecc.
- eve_layer – driver EVE portatile (accesso a registri/RAM, FIFO di comando, comandi del co-processore).
- app_layer –aiutanti e logica dell’applicazione (buffering di DL/comandi, gestione del tocco, calibrazione, semplice UI/suono).
Inoltre, riverdi_modules contiene le definizioni dei pannelli (risoluzione, sincronizzazioni, pclk, default PWM) e riverdi-demo.c contiene l’applicazione di esempio che unisce i livelli.
Come si sveglia EVE4 (con briciole di codice)
Quando si resetta la scheda, la demo guida l’EVE4 attraverso una precisa sequenza di avvio.
- Porta l’MCU + HAL online
Prima che EVE possa ascoltarti, l’STM32 deve avere orologi e bus pronti.- App_Common_Init() – preparazione dell’applicazione/scheda.
- Gpu_Hal_Init() – HAL Bridgetek per SPI/GPIO/timers.
- platform_init() – init a basso livello di clock/timer per STM32F4.
- Collega il link e prendi il controllo
Collega i pin di controllo e garantisci un avvio pulito.- Gpu_Hal_Open() – assegna CS, PD, INT; mantiene CS/PD alti.
- Gpu_Hal_Powercycle() – attiva il PD per un avvio a freddo.
- Risveglia la GPU e verifica le comunicazioni
Passa ad attivo e verifica il collegamento.- Comando host → ATTIVO – EVE in modalità attiva.
- Clock config – programma la frequenza di destinazione (EVE4 in genere utilizza l’oscillatore esterno).
- Readback – verifica il REG_ID del dispositivo e lo stato del motore (co-processore, touch, audio).
- Programma le tempistiche del pannello + la retroilluminazione
Descrivi il tuo bicchiere al controller.- Blocco di temporizzazione della scrittura: HSIZE/VSIZE/HCYCLE/VCYCLE, sincronizzazioni, PCLK_POL, SWIZZLE, ecc.
- Configura il PWM per la retroilluminazione (REG_PWM_HZ, REG_PWM_DUTY).
- Nota (EVE4): dovrai anche impostare la sorgente/frequenza dell’orologio del display insieme al PWM in modo che i tempi corrispondano a quelli del pannello.
Quella “nota di EVE4” va bene concettualmente – basta essere espliciti nell’impostare il pixel clock e (se applicabile) i registri PLL/display clock utilizzati da EVE4, quindi abilitare REG_PCLK per ultimo.
- Prima immagine: build → flush → swap
La prima immagine è un piccolo Elenco di visualizzazione.- CLEAR_COLOR_RGB(r,g,b) – colore di sfondo.
- CLEAR(1,1,1) – cancella il colore/la matita/l’etichetta.
- DISPLAY() – fine di DL.
- Flush_DL_Buffer() – copia DL nella RAM_DL.
- Gpu_Hal_DLSwap(…, DLSWAP_FRAME) – lo rende visibile.
Elenco di visualizzazione (DL) in Bridgetek EVE
Elenco di visualizzazione: cosa, perché e perché è utile
Un elenco di visualizzazione è lo script per fotogramma che dice a EVE esattamente cosa disegnare (colore chiaro, forme/widget/testo, immagini) e termina con DISPLAY() più un DLSWAP_FRAME per renderlo visibile. Ne abbiamo bisogno perché EVE esegue il rendering da un elenco completo e ordinato: senza di esso, gli aggiornamenti parziali sfarfallerebbero e i tempi sarebbero imprevedibili. È una buona soluzione perché raggruppa i comandi (meno trasferimenti SPI), mantiene i fotogrammi deterministici (stesso elenco → stessi pixel) e permette all’MCU di creare il fotogramma successivo mentre EVE disegna quello attuale: un’interfaccia utente fluida con un carico minimo per la CPU.
Ciclo tipico
- Build: comandi in coda (colori, forme, widget, immagini).
- Flush: scrive i byte nella RAM_DL.
- Scambio: imposta DLSWAP_FRAME in modo che il nuovo elenco sia visibile.
In questo modo si riduce al minimo il traffico della MCU↔EVE e si ottengono aggiornamenti fluidi anche per le animazioni dell’interfaccia utente. Esempio:
App_WrDl_Buffer(phost, CLEAR_COLOR_RGB(0, 64, 128));
App_WrDl_Buffer(phost, CLEAR(1,1,1));
App_WrDl_Buffer(phost, DISPLAY());
App_Flush_DL_Buffer(phost);
Gpu_Hal_DLSwap(phost, DLSWAP_FRAME);
Per maggiori dettagli (set di comandi, mappa dei registri, comportamento della FIFO), consulta la Guida alla programmazione di Bridgetek per la serie BT81x.
Sintesi
Ora hai completato tutti i passaggi essenziali per accendere e verificare il tuo display Riverdi EVE4 su STM32, dallaconfigurazione dell’hardware al rendering del primo fotogramma utilizzando il motore EVE di Bridgetek.
Con questo progetto di base funzionante, puoi iniziare a esplorare elenchi di visualizzazione personalizzati, interazioni touch avanzate e lo sviluppo completo dell’interfaccia utente per il tuo prossimo progetto incorporato.
SCOPRI IL NOSTRO
Carta bianca
Ottieni un’interazione perfetta tra utente e display con il giusto IC per sensore tattile. Hai mai avuto problemi con eventi di tocco fantasma o con la certificazione? Potenzia la tua ricerca e sviluppo come un professionista con il nostro Whitepaper!



