Placa central TLIMX6U-EVM para el desarrollo de módulos IoT

Índice

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

La TLIMX6U-EVM de Tronlong® Technology es una placa de evaluación diseñada en torno al NXP i.MX 6ULL, que cuenta con un procesador ARM Cortex-A7 de alto rendimiento y bajo consumo. Compuesta por una placa central y una placa base de evaluación, la TLIMX6U-EVM ha sido sometida a un diseño profesional de PCB y a rigurosas pruebas de temperatura, lo que garantiza su estabilidad y fiabilidad para diversas aplicaciones industriales.

Este artículo presenta principalmente un caso de desarrollo de un módulo IoT basado en la placa de evaluación TLIMX6U-EVM de Tronlong® Technology. Los entornos de desarrollo aplicables son los siguientes:

  • Entorno de desarrollo Windows: Windows 7 de 64 bits, Windows 10 de 64 bits
  • Máquina virtual: VMware 15.1.0
  • Entorno de desarrollo Linux: Ubuntu 18.04.4 de 64 bits
  • U-Boot: U-Boot-2020.04
  • Kernel: Linux-5.4.70
  • SDK de Linux: 5.4.70_2.3.0

A menos que se especifique lo contrario, la configuración predeterminada utiliza USB TO UART1 como puerto serie de depuración, el modo de arranque SD de Linux para iniciar el sistema y la conectividad de red a través de un enrutador a una PC.

Prueba del módulo SDIO WIFI

Este caso utiliza el modelo de módulo RTL8189 SDIO WIFI. Inserte el módulo SDIO WIFI en la interfaz SDIO de la placa de evaluación, tal y como se muestra en el siguiente diagrama.

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

El módulo SDIO WIFI es compatible con los modos STA y AP:

  1. Modo STA: en el modo STA, el módulo WIFI puede recibir señales de routers inalámbricos, lo que permite la conectividad a Internet a través del router.
  2. Modo AP: en el modo AP, el módulo WIFI crea un punto de acceso LAN inalámbrico, lo que permite que dispositivos como teléfonos y ordenadores formen una red local.

El programa de prueba para este caso se encuentra en la documentación del producto en «4-Información del software\Demo\module-demos\sdio_wifi_test». Los detalles específicos son los siguientes:

DirectoryDescription
binTest scripts, program configuration files
driverSDIO WIFI module driver
srcSDIO WIFI module driver source code

Copie todos los archivos del directorio «bin» y el archivo del controlador «8189fs.ko» del directorio «driver» a las mismas rutas en el sistema de archivos de la placa de evaluación. Asegúrese de conectar correctamente el módulo SDIO WIFI a la interfaz SDIO de la placa de evaluación. Debido al uso compartido de pines entre la interfaz SDIO y la interfaz Micro SD, retire la tarjeta de arranque SD de Linux de la ranura para tarjetas Micro SD de la placa de evaluación. Configure el modo de arranque de la placa de evaluación en modo de arranque NAND FLASH cambiando el interruptor DIP a «011000» (posiciones 1 a 6).

Prueba del modo STA

Acceda al sistema de archivos de la placa de evaluación, navegue hasta la ruta donde se encuentra el controlador del módulo SDIO WIFI «8189fs.ko» y ejecute el siguiente comando para cargar el controlador:

				
					Target# insmod 8189fs.ko
				
			
Load the driver by executing the Target# insmod 8189fs.ko
Load the driver by executing the Target# insmod 8189fs.ko

Ejecute los siguientes comandos para desactivar otras redes y el proceso «wpa_supplicant», dejando solo la red 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

En el directorio del archivo «wifi_setup.sh», ejecute el siguiente comando para conectar la placa de evaluación al router utilizando el módulo WIFI. Utilice el indicador «-i» para especificar el nombre de la red WIFI y el indicador «-p» para especificar la contraseña de la red WIFI, modificándolos según sea necesario:

				
					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

Ejecute el siguiente comando para ver la dirección IP obtenida y compruebe la comunicación entre la placa de evaluación y el PC utilizando el comando «ping». Asegúrese de que la placa de evaluación y el PC estén en la misma red local. Aquí, 192.168.1.100 representa la dirección IP real 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

En el sistema de archivos de la placa de evaluación, ejecute los siguientes comandos para ver la dirección IP de la placa y probar el ancho de banda de comunicación de red con el PC utilizando la herramienta Iperf3:

				
					Target# ifconfig
Target# iperf3 -s

				
			
Check the IP address with Targetifconfig and test communication with Targetiperf3 s

En el sistema Ubuntu, utilice el siguiente comando para comprobar el ancho de banda de la comunicación de red. Sustituya «192.168.1.103» por la dirección IP real de la placa de evaluación. Los resultados de la prueba, que se ven afectados por el entorno de red, son solo orientativos.

				
					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

Prueba del modo AP

Reinicie el sistema de la placa de evaluación y ejecute el siguiente comando para cargar el controlador del módulo SDIO WIFI «8189fs.ko»:

				
					Target# insmod 8189fs.ko

				
			
Reload the driver via Target# insmod 8189fs.ko
Reload the driver via Target# insmod 8189fs.ko

Desactive otras redes y el proceso «wpa_supplicant», dejando solo la red WIFI, utilizando comandos similares a los de la prueba en modo 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

En el directorio del archivo «ap_setup.sh», ejecute el siguiente comando para configurar el módulo SDIO WIFI en modo 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

Si encuentra problemas durante el inicio del modo AP debido a una entropía aleatoria insuficiente, debe reiniciar la placa de evaluación. Ejecute los siguientes comandos para cambiar el conjunto de entropía y, a continuación, vuelva a intentar la prueba:

				
					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

El nombre predeterminado de la red WIFI establecido en el programa es «rtl8188fs» y la contraseña es «88888888». Modifique estos ajustes en el archivo de configuración «rtl_hostapd_2G.conf». Conecte un PC con capacidad WIFI (como un portátil o un PC de sobremesa con un adaptador USB WIFI) a este punto de acceso LAN inalámbrico y desconecte cualquier conexión de red por cable. Una vez conectado, el terminal de depuración serie imprimirá información sobre la dirección IP asignada por Ubuntu. Si utiliza una máquina virtual con Ubuntu, se asignarán dos direcciones IP: una para Windows y otra para Ubuntu.

Get the IP address of Ubuntu
Get the IP address of Ubuntu

Ejecute el siguiente comando para comprobar la conexión de red entre los dispositivos LAN inalámbricos. Si se producen tiempos de espera o errores de conexión, considere la posibilidad de desactivar el cortafuegos del PC e intente volver a conectarse:

				
					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

En el sistema de archivos de la placa de evaluación, ejecute los siguientes comandos para ver la dirección IP de la placa y espere a que el PC se conecte:

				
					Target# ifconfig
Target# iperf3 -s
				
			

En el sistema Ubuntu, utilice el siguiente comando para comprobar el ancho de banda de la comunicación de red. Sustituya «192.168.0.1» por la dirección IP real de la placa de evaluación. Los resultados de la prueba, que se ven afectados por el entorno de red, son solo orientativos.

				
					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

Después de la prueba, apague la placa de evaluación, retire el módulo SDIO WIFI e inserte la tarjeta de arranque SD Linux en la ranura para tarjetas Micro SD. Configure el interruptor DIP del modo de arranque en «010100» (posiciones 1 a 6) para el modo de arranque SD.

Compilación del controlador SDIO WIFI

Copie el código fuente del controlador «rtl8189FS.tar.gz» del directorio «src» del ejemplo y colóquelo en su directorio de trabajo de Ubuntu. A continuación, ejecute los siguientes comandos para extraer el código fuente del archivo comprimido:

				
					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

A continuación, navega hasta el directorio del código fuente del controlador y modifica el «Makefile» de nivel superior utilizando los siguientes comandos:

				
					Host# cd rtl8189FS/
Host# vim Makefile
				
			
Modify the top-level Makefile
Modify the top-level Makefile

Modifique el contenido del archivo «Makefile» tal y como se indica a continuación:

				
					KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
				
			

En el directorio donde se encuentra el código fuente del controlador, ejecute los siguientes comandos para configurar las variables de entorno del SDK y compilar el controlador SDIO WIFI:

				
					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

Una vez completada la compilación, la imagen del controlador se generará en el directorio actual.

Suscríbete

Únete a nuestra lista de suscriptores para recibir actualizaciones mensuales del blog, noticias de tecnología y estudios de caso. Nunca enviaremos spam y puedes cancelar tu suscripción en cualquier momento.

Acerca del Autor

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.

¿Necesitas ayuda?

Scroll al inicio

Cotización