TLIMX6U-EVM Core Board IoT Module Development

Indice

Tronlong-TLIMX6U-EVM-evaluation-board-based-on-NXP-i.MX-6ULL

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.

SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board
SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board

Il modulo WIFI SDIO supporta sia le modalità STA che AP:

  1. Modalità STA: in modalità STA, il modulo WIFI può ricevere segnali da router wireless, consentendo la connettività Internet tramite il router.
  2. 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:

DirectoryDescription
binTest scripts, program configuration files
driverSDIO WIFI module driver
srcSDIO 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
				
			
Load the driver by executing the Target# insmod 8189fs.ko
Load the driver by executing the 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

				
			
Close the wpa_supplicant process by executing the Target#ifconfig series
Close the wpa_supplicant process by executing the Target#ifconfig series

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

				
			
Connect the evaluation board to the router through the WIFI module by executing Target#.wifi_setup.sh -i Tronlong-test -p omapl138
Connect the evaluation board to the router through the WIFI module by executing 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
				
			
Test the communication between evaluation board and PC by ping command
Test the communication between evaluation board and PC by ping command

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

				
			
Check the IP address with Targetifconfig and test communication with Targetiperf3 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 the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system
Test the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system

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

				
			
Reload the driver via Target# insmod 8189fs.ko
Reload the driver via 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
				
			
Close other networks and wpa_supplicant processes again by executing Target#ifconfig
Close other networks and wpa_supplicant processes again by executing 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

				
			
Set the SDIO WIFI module to AP mode through Target#ap_setup.sh
Set the SDIO WIFI module to AP mode through 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
				
			
Restart the evaluation board and replace the entropy pool
Restart the evaluation board and replace the entropy pool

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.

Get the IP address of Ubuntu
Get the IP address of 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
				
			
Test the network between wireless LAN devices through Target#ping
Test the network between wireless LAN devices through Target#ping

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
				
			
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system

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
				
			
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory

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
				
			
Modify the top-level Makefile
Modify the top-level 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
				
			
Set up the SDK environment and compile the SDIO WIFI driver
Set up the SDK environment and compile the SDIO WIFI driver

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

Iscriviti

Unisciti alla nostra lista di iscritti per ricevere aggiornamenti mensili sul blog, notizie tecnologiche, casi di studio. Non invieremo mai spam e potrai annullare l’iscrizione in qualsiasi momento.

Informazioni sull'autore

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Hai bisogno di aiuto?

Torna in alto

Instant Quote