La TLIMX6U-EVM di Tronlong® Technology è una scheda di valutazione progettata attorno al NXP i.MX 6ULL, con un processore ARM Cortex-A7 ad alte prestazioni e basso consumo energetico. Composta da una scheda principale e una scheda di valutazione di base, la TLIMX6U-EVM è stata sottoposta a un layout professionale del PCB e a rigorosi test di temperatura, garantendo stabilità e affidabilità per varie applicazioni industriali.
Questo articolo introduce principalmente un caso di sviluppo di un modulo IoT basato sulla scheda di valutazione Tronlong® Technology TLIMX6U-EVM. Gli ambienti di sviluppo applicabili sono i seguenti:
- Ambiente di sviluppo Windows: Windows 7 64-bit, Windows 10 64-bit
- Macchina virtuale: VMware 15.1.0
- Ambiente di sviluppo Linux: Ubuntu 18.04.4 64-bit
- U-Boot: U-Boot-2020.04
- Kernel: Linux-5.4.70
- Linux SDK: 5.4.70_2.3.0
Salvo diversa indicazione, la configurazione predefinita utilizza USB TO UART1 come porta seriale di debug, la modalità di avvio Linux SD per avviare il sistema e la connettività di rete tramite un router a un PC.
Test del modulo WIFI SDIO
Questo caso utilizza il modello di modulo WIFI SDIO RTL8189. Inserire il modulo WIFI SDIO nell’interfaccia SDIO della scheda di valutazione come mostrato nel diagramma sottostante.

Il modulo WIFI SDIO supporta sia le modalità STA che AP:
- Modalità STA: in modalità STA, il modulo WIFI può ricevere segnali da router wireless, consentendo la connettività Internet tramite il router.
- Modalità AP: in modalità AP, il modulo WIFI crea un hotspot LAN wireless, consentendo a dispositivi come telefoni e computer di formare una rete locale.
Il programma di test per questo caso si trova nella documentazione del prodotto in “4-Software Information\\Demo\\module-demos\\sdio_wifi_test”. I dettagli specifici sono i seguenti:
| Directory | Description |
|---|---|
| bin | Test scripts, program configuration files |
| driver | SDIO WIFI module driver |
| src | SDIO WIFI module driver source code |
Copiare tutti i file dalla directory “bin” e il file driver “8189fs.ko” dalla directory “driver” negli stessi percorsi nel file system della scheda di valutazione. Assicurarsi di collegare correttamente il modulo WIFI SDIO all’interfaccia SDIO della scheda di valutazione. A causa della condivisione dei pin tra l’interfaccia SDIO e l’interfaccia Micro SD, rimuovere la scheda di avvio Linux SD dallo slot della scheda Micro SD della scheda di valutazione. Impostare la modalità di avvio della scheda di valutazione su NAND FLASH boot mode modificando il DIP switch in “011000” (posizioni da 1 a 6).
Test della modalità STA
Accedere al file system della scheda di valutazione, navigare nel percorso in cui si trova il driver del modulo WIFI SDIO “8189fs.ko” ed eseguire il comando seguente per caricare il driver:
Target# insmod 8189fs.ko

Eseguire i seguenti comandi per disabilitare altre reti e il processo “wpa_supplicant”, lasciando solo la rete WIFI:
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

Nella directory del file “wifi_setup.sh”, eseguire il comando seguente per connettere la scheda di valutazione al router utilizzando il modulo WIFI. Utilizzare il flag “-i” per specificare il nome WIFI e il flag “-p” per specificare la password WIFI, modificandoli se necessario:
Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

Eseguire il comando seguente per visualizzare l’indirizzo IP ottenuto e testare la comunicazione tra la scheda di valutazione e il PC utilizzando il comando “ping”. Assicurarsi che la scheda di valutazione e il PC siano sulla stessa rete locale. Qui, 192.168.1.100 rappresenta l’indirizzo IP effettivo del PC.
Target# ifconfig
Target# ping 192.168.1.100

Nel file system della scheda di valutazione, eseguire i seguenti comandi per visualizzare l’indirizzo IP della scheda e testare la larghezza di banda della comunicazione di rete con il PC utilizzando lo strumento Iperf3:
Target# ifconfig
Target# iperf3 -s

Nel sistema Ubuntu, utilizzare il comando seguente per testare la larghezza di banda della comunicazione di rete. Sostituire “192.168.1.103” con l’indirizzo IP effettivo della scheda di valutazione. I risultati del test, che sono influenzati dall’ambiente di rete, sono solo a scopo di riferimento.
Host# iperf3 -c 192.168.1.103 -i 1

Test della modalità AP
Riavvia il sistema della scheda di valutazione ed esegui il comando seguente per caricare il driver del modulo WIFI SDIO “8189fs.ko”:
Target# insmod 8189fs.ko

Disabilita altre reti e il processo “wpa_supplicant”, lasciando solo la rete WIFI, utilizzando comandi simili a quelli dei test in modalità STA.
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig

Nella directory del file “ap_setup.sh”, esegui il comando seguente per impostare il modulo WIFI SDIO in modalità AP:
Target# ./ap_setup.sh

Se riscontri problemi durante l’avvio della modalità AP a causa di entropia casuale insufficiente, è necessario riavviare la scheda di valutazione. Esegui i comandi seguenti per modificare il pool di entropia, quindi riprova il test:
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random

Il nome WIFI predefinito impostato nel programma è “rtl8188fs” e la password è “88888888”. Modifica queste impostazioni nel file di configurazione “rtl_hostapd_2G.conf”. Collega un PC con funzionalità WIFI (come un laptop o un PC desktop con un adattatore WIFI USB) a questo hotspot wireless LAN e disconnetti eventuali connessioni di rete cablate. Una volta connesso, il terminale di debug seriale stamperà informazioni sull’indirizzo IP assegnato da Ubuntu. Se utilizzi una macchina virtuale con Ubuntu, verranno assegnati due indirizzi IP: uno per Windows e uno per Ubuntu.

Esegui il comando seguente per testare la connessione di rete tra i dispositivi wireless LAN. Se riscontri timeout o errori di connessione, valuta la possibilità di disabilitare il firewall del PC e riprovare a connetterti:
Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address

Nel file system della scheda di valutazione, esegui i comandi seguenti per visualizzare l’indirizzo IP della scheda e attendere che il PC si connetta:
Target# ifconfig
Target# iperf3 -s
Nel sistema Ubuntu, utilizza il comando seguente per testare la larghezza di banda della comunicazione di rete. Sostituisci “192.168.0.1” con l’indirizzo IP effettivo della scheda di valutazione. I risultati del test, che sono influenzati dall’ambiente di rete, sono solo a scopo di riferimento.
Host# iperf3 -c 192.168.0.1 -i 1

Dopo il test, spegni la scheda di valutazione, rimuovi il modulo WIFI SDIO e inserisci la scheda di avvio Linux nello slot per schede Micro SD. Imposta l’interruttore DIP della modalità di avvio su “010100” (posizioni da 1 a 6) per la modalità di avvio SD.
Compilazione del driver WIFI SDIO
Copia il codice sorgente del driver “rtl8189FS.tar.gz” dalla directory “src” dell’esempio e posizionalo nella tua directory di lavoro Ubuntu. Quindi, esegui i comandi seguenti per estrarre il codice sorgente dall’archivio compresso:
Host# tar -xf rtl8189FS.tar.gz

Successivamente, vai alla directory del codice sorgente del driver e modifica il file “Makefile” di livello superiore utilizzando i comandi seguenti:
Host# cd rtl8189FS/
Host# vim Makefile

Modifica il contenuto del file “Makefile” come indicato di seguito:
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
Nella directory in cui si trova il codice sorgente del driver, esegui i comandi seguenti per impostare le variabili di ambiente SDK e compilare il driver WIFI SDIO:
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make

Al termine della compilazione, l’immagine del driver verrà generata nella directory corrente.




