O TLIMX6U-EVM da Tronlong® Technology é uma placa de avaliação projetada com base no NXP i.MX 6ULL, com um processador ARM Cortex-A7 de alto desempenho e baixo consumo de energia. Composto por uma placa central e uma placa base de avaliação, o TLIMX6U-EVM passou por um layout profissional de PCB e testes rigorosos de temperatura, garantindo estabilidade e confiabilidade para várias aplicações industriais.
Este artigo apresenta principalmente um caso de desenvolvimento de módulo IoT baseado na placa de avaliação TLIMX6U-EVM da Tronlong® Technology. Os ambientes de desenvolvimento aplicáveis são os seguintes:
- Ambiente de desenvolvimento Windows: Windows 7 64 bits, Windows 10 64 bits
- Máquina virtual: VMware 15.1.0
- Ambiente de desenvolvimento Linux: Ubuntu 18.04.4 64 bits
- U-Boot: U-Boot-2020.04
- Kernel: Linux-5.4.70
- SDK Linux: 5.4.70_2.3.0
Salvo indicação em contrário, a configuração padrão usa USB TO UART1 como porta serial de depuração, modo de inicialização Linux SD para iniciar o sistema e conectividade de rede através de um roteador para um PC.
Teste do módulo SDIO WIFI
Este caso utiliza o modelo de módulo RTL8189 SDIO WIFI. Insira o módulo SDIO WIFI na interface SDIO da placa de avaliação, conforme mostrado no diagrama abaixo.

O módulo SDIO WIFI suporta os modos STA e AP:
- Modo STA: No modo STA, o módulo WIFI pode receber sinais de roteadores sem fio, permitindo a conectividade com a Internet através do roteador.
- Modo AP: No modo AP, o módulo WIFI cria um ponto de acesso LAN sem fio, permitindo que dispositivos como telefones e computadores formem uma rede local.
O programa de teste para este caso está localizado na documentação do produto em "4-Software Information\Demo\module-demos\sdio_wifi_test". Os detalhes específicos são os seguintes:
| Directory | Description |
|---|---|
| bin | Test scripts, program configuration files |
| driver | SDIO WIFI module driver |
| src | SDIO WIFI module driver source code |
Copie todos os arquivos do diretório "bin" e o arquivo do driver "8189fs.ko" do diretório "driver" para os mesmos caminhos no sistema de arquivos da placa de avaliação. Certifique-se de conectar corretamente o módulo SDIO WIFI à interface SDIO da placa de avaliação. Devido ao compartilhamento de pinos entre a interface SDIO e a interface Micro SD, remova o cartão de inicialização SD Linux do slot para cartão Micro SD da placa de avaliação. Defina o modo de inicialização da placa de avaliação para o modo de inicialização NAND FLASH, alterando o interruptor DIP para "011000" (posições 1 a 6).
Teste de modo STA
Acesse o sistema de arquivos da placa de avaliação, navegue até o caminho onde o driver do módulo SDIO WIFI "8189fs.ko" está localizado e execute o seguinte comando para carregar o driver:
Target# insmod 8189fs.ko

Execute os seguintes comandos para desativar outras redes e o processo "wpa_supplicant", deixando apenas a rede Wi-Fi:
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

No diretório do arquivo "wifi_setup.sh", execute o seguinte comando para conectar a placa de avaliação ao roteador usando o módulo WIFI. Use o sinalizador "-i" para especificar o nome do WIFI e o sinalizador "-p" para especificar a senha do WIFI, modificando-os conforme necessário:
Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

Execute o seguinte comando para visualizar o endereço IP obtido e testar a comunicação entre a placa de avaliação e o PC usando o comando "ping". Certifique-se de que a placa de avaliação e o PC estejam na mesma rede local. Aqui, 192.168.1.100 representa o endereço IP real do PC.
Target# ifconfig
Target# ping 192.168.1.100

No sistema de arquivos da placa de avaliação, execute os seguintes comandos para visualizar o endereço IP da placa e testar a largura de banda de comunicação de rede com o PC usando a ferramenta Iperf3:
Target# ifconfig
Target# iperf3 -s

No sistema Ubuntu, use o seguinte comando para testar a largura de banda da comunicação de rede. Substitua "192.168.1.103" pelo endereço IP real da placa de avaliação. Os resultados do teste, que são afetados pelo ambiente de rede, são apenas para referência.
Host# iperf3 -c 192.168.1.103 -i 1

Teste do modo AP
Reinicie o sistema da placa de avaliação e execute o seguinte comando para carregar o driver do módulo SDIO WIFI "8189fs.ko":
Target# insmod 8189fs.ko

Desative outras redes e o processo "wpa_supplicant", deixando apenas a rede Wi-Fi, usando comandos semelhantes aos do teste no modo STA.
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig

No diretório do arquivo "ap_setup.sh", execute o seguinte comando para configurar o módulo SDIO WIFI no modo AP:
Target# ./ap_setup.sh

Se você encontrar problemas durante a inicialização do modo AP devido à entropia aleatória insuficiente, será necessário reiniciar a placa de avaliação. Execute os seguintes comandos para alterar o pool de entropia e, em seguida, tente novamente o teste:
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random

O nome padrão do WIFI definido no programa é "rtl8188fs" e a senha é "88888888". Modifique essas configurações no arquivo de configuração "rtl_hostapd_2G.conf". Conecte um PC com capacidade WIFI (como um laptop ou um PC desktop com um adaptador USB WIFI) a este ponto de acesso LAN sem fio e desconecte todas as conexões de rede com fio. Uma vez conectado, o terminal de depuração serial imprimirá informações sobre o endereço IP atribuído pelo Ubuntu. Se estiver usando uma máquina virtual com Ubuntu, dois endereços IP serão atribuídos – um para Windows e outro para Ubuntu.

Execute o seguinte comando para testar a conexão de rede entre dispositivos LAN sem fio. Se ocorrerem tempos limite ou falhas na conexão, considere desativar o firewall do PC e tentar reconectar:
Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address

No sistema de arquivos da placa de avaliação, execute os seguintes comandos para visualizar o endereço IP da placa e aguarde a conexão do PC:
Target# ifconfig
Target# iperf3 -s
No sistema Ubuntu, use o seguinte comando para testar a largura de banda da comunicação de rede. Substitua "192.168.0.1" pelo endereço IP real da placa de avaliação. Os resultados do teste, que são afetados pelo ambiente de rede, são apenas para referência.
Host# iperf3 -c 192.168.0.1 -i 1

Após o teste, desligue a placa de avaliação, remova o módulo SDIO WIFI e insira o cartão de inicialização SD Linux no slot para cartão Micro SD. Defina o interruptor DIP do modo de inicialização para "010100" (posições 1 a 6) para o modo de inicialização SD.
Compilando o driver SDIO WIFI
Copie o código-fonte do driver "rtl8189FS.tar.gz" do diretório "src" do exemplo e coloque-o no diretório de trabalho do Ubuntu. Em seguida, execute os seguintes comandos para extrair o código-fonte do arquivo compactado:
Host# tar -xf rtl8189FS.tar.gz

Em seguida, navegue até o diretório do código-fonte do driver e modifique o "Makefile" de nível superior usando os seguintes comandos:
Host# cd rtl8189FS/
Host# vim Makefile

Modifique o conteúdo do "Makefile" conforme as instruções abaixo:
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
No diretório onde o código-fonte do driver está localizado, execute os seguintes comandos para configurar as variáveis de ambiente do SDK e compilar o driver SDIO WIFI:
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make

Após a conclusão da compilação, a imagem do driver será gerada no diretório atual.




