Introduzione a STM32MP1
Nel processo di iterazione continua dei chip, sono stati prodotti molti modelli eccellenti. Ad esempio, STM32MP1 è un modello della nuova generazione di MPU. Nel 2019, ST ha lanciato per la prima volta la serie di chip STM32MP1 con una frequenza principale di 650 MHz e un’innovativa architettura di sistema eterogeneo (HSA) che combina i doppi vantaggi di MPU e MCU. All’inizio del 2020, ST ha quindi lanciato le serie STM32MP15xD e STM32MP15xF con una frequenza principale di 800 MHz. Continuano a utilizzare il processore applicativo dual-core Arm® Cortex®-A7 e il processore Cortex®-M4 da 209 MHz nella loro architettura. La sua frequenza più alta e la maggiore potenza di calcolo possono supportare le esigenze di audio e video di qualità superiore, prestazioni elevate e un ciclo di vita più lungo.
Caratteristiche di STM32MP1
- Doppio core Cortex®-A7 con clock a 650 MHz, core Cortex®-M4 con clock a 209 MHz.
- Il core Cortex-A7 supporta sistemi operativi open source, il core Cortex-M4 supporta l’elaborazione di attività in tempo reale e a basso consumo.
- Periferiche avanzate opzionali FD-CAN, interfaccia LCD MIPI DSI e unità di elaborazione grafica 3D (GPU) per lo sviluppo avanzato di HMI.
- Ricche periferiche digitali: USART, SPI, IC, USB ad alta velocità, Gigabit Ethernet, interfaccia TFT LCD, ecc.
- Set di periferiche analogiche: ADC a 16 bit/14 bit, DAC a 12 bit, sensore di temperatura, ecc.
- Funzionalità di sicurezza avanzate opzionali: 3DES, AES256, GCM, CCM, ecc.
- Elevata integrazione, compatibilità del packaging, tecnologia PCB a basso costo e circuiti integrati di gestione dell’alimentazione (PMIC) dedicati.
- Strumenti di sviluppo e schede core disponibili in commercio forniti da ST e dai suoi partner.
Applicazione di STM32MP1
Per l’interfaccia uomo-macchina, il dual-core Arm Cortex-A7 a 800 MHz può pilotare la decodifica video ad alta definizione, la GPU 3D offre un’esperienza utente più fluida, l’audio e l’elaborazione in tempo reale sono combinate in modo trasparente e flessibile con l’architettura eterogenea Cortex-A+Cortex-M, e ci sono anche una vasta gamma di partner che forniscono servizi di elaborazione grafica, software e hardware, ecc.
Per applicazioni industriali, la nuova generazione di STM32MP1 da 800 MHz può non solo garantire il 100% del tempo di funzionamento per 10 anni e un intervallo di temperatura di giunzione da -40°C a 125°C; può anche realizzare connessioni industriali e avere potenza di calcolo sufficiente per l’elaborazione multi-protocollo. Cortex -M4 è utilizzato per l’elaborazione in tempo reale; inoltre, ha una strategia di protezione di sicurezza multilivello per Industry 4.0, è compatto e a risparmio energetico e ha un impegno di fornitura a rotazione di 10 anni; sono disponibili 4 pacchetti.
Per applicazioni all’avanguardia, come le funzioni di intelligenza artificiale, è possibile aggiungere un linguaggio naturale al prodotto tramite operazioni semplici, con capacità di wake-up a lungo raggio e locale. STM32MP1 ha capacità duali per garantire l’implementazione dell’intelligenza artificiale. Cortex-A/Linux può supportare nativamente TensorFlow Lite; il software di sviluppo STM32Cube .AI implementa l’apprendimento automatico su Cortex-M4, mentre le interfacce di fotocamera e audio semplificano l’integrazione dei dispositivi di input.
Caso di sviluppo STM32MP1 - Configurazione di QT Creator
QT è una libreria di sviluppo multipiattaforma, utilizzata principalmente per sviluppare programmi di interfaccia utente grafica e può anche sviluppare righe di comando terminali. Allo stesso tempo, QT supporta più piattaforme (Linux, windows, android, embedded arm, ecc.). Qui introdurremo come utilizzare QT per creare un ambiente di compilazione incrociata di sviluppo per i chip della serie STM32MP1.
Strumenti richiesti
- Ambiente di installazione QT: ubuntu18.04
- Chip della serie MP1: STM32MP157
- Software Qt Creator
Scarica e installa Qt Creator
Scarica il software QT al seguente link ufficiale:
http://download.qt.io/archive/qt/5.14/5.14.2/

È necessario selezionare il pacchetto di installazione in base al proprio sistema.
Dopo aver completato il download, vai alla directory in cui si trova il file e aggiungi i permessi di esecuzione, quindi esegui dopo aver aggiunto i permessi. Il comando è il seguente:
chmod u+x qt-opensource-linux-x64-5.14.2.run
sudo ./qt-opensource-linux-x64-5.14.2.run
Successivamente, iniziamo a installare Qt creator, i dettagli sono i seguenti:

Dopo aver completato l’installazione, vai alla directory di installazione di qt ed esegui il file eseguibile qt. Percorso del file eseguibile: /opt/Qt5.14.2/Tools/QtCreator/bin
Configura l'ambiente del compilatore
I principali oggetti di configurazione sono qmake, g++ e kit.
Innanzitutto, apriamo Qt Creator, quindi selezioniamo “Tools->Options” nella barra degli strumenti del menu per accedere alla pagina di configurazione.

In secondo luogo, aggiungi il percorso qmake della toolchain di cross-compilazione. (Nota: le toolchain di cross-compilazione di diverse piattaforme sono diverse, a seconda di quelle fornite dal produttore ufficiale o dallo sviluppatore. La toolchain di cross-compilazione stm32mp1 utilizzata qui.)

In terzo luogo, aggiungi il percorso della toolchain del cross-compilatore g++.

Infine, configura l’ambiente del compilatore dei kit.

Verifica dell'ambiente del cross-compilatore
Crea una nuova routine di esempio e verificala. Seleziona il kit di cross-compilazione, compila il progetto e metti il file eseguibile compilato sulla scheda di sviluppo per l’esecuzione. Puoi vedere la schermata della routine sullo schermo.
La directory di output compilata è generalmente il percorso di salvataggio del progetto e il file eseguibile si trova nella directory di output compilata.






