TLIMX6U-EVM от Tronlong® Technology — это оценочная плата, разработанная на базе NXP i.MX 6ULL и оснащенная высокопроизводительным процессором ARM Cortex-A7 с низким энергопотреблением. TLIMX6U-EVM состоит из основной платы и оценочной базовой платы, прошла профессиональную компоновку печатной платы и строгие температурные испытания, что обеспечивает стабильность и надежность для различных промышленных применений.
В этой статье в первую очередь представлен пример разработки модуля IoT на основе оценочной платы TLIMX6U-EVM от Tronlong® Technology. Применимые среды разработки следующие:
- Среда разработки Windows: Windows 7 64-bit, Windows 10 64-bit
- Виртуальная машина: VMware 15.1.0
- Среда разработки Linux: Ubuntu 18.04.4 64-bit
- U-Boot: U-Boot-2020.04
- Ядро: Linux-5.4.70
- Linux SDK: 5.4.70_2.3.0
Если не указано иное, в конфигурации по умолчанию в качестве последовательного порта отладки используется USB TO UART1, для запуска системы — режим загрузки Linux SD, а для подключения к сети — маршрутизатор, соединенный с ПК.
Тестирование модуля SDIO WIFI
В данном случае используется модуль RTL8189 SDIO WIFI. Вставьте модуль SDIO WIFI в интерфейс SDIO оценочной платы, как показано на схеме ниже.

Модуль SDIO WIFI поддерживает режимы STA и AP:
- Режим STA: в режиме STA модуль WIFI может принимать сигналы от беспроводных маршрутизаторов, обеспечивая подключение к Интернету через маршрутизатор.
- Режим AP: в режиме AP модуль WIFI создает точку доступа к беспроводной локальной сети, позволяя устройствам, таким как телефоны и компьютеры, формировать локальную сеть.
Тестовая программа для этого случая находится в документации по продукту в папке «4-Software Information\Demo\module-demos\sdio_wifi_test». Конкретные детали приведены ниже:
| Directory | Description |
|---|---|
| bin | Test scripts, program configuration files |
| driver | SDIO WIFI module driver |
| src | SDIO WIFI module driver source code |
Скопируйте все файлы из каталога «bin» и файл драйвера «8189fs.ko» из каталога «driver» в те же пути в файловой системе оценочной платы. Убедитесь, что модуль SDIO WIFI правильно подключен к интерфейсу SDIO оценочной платы. Из-за совместного использования контактов интерфейсом SDIO и интерфейсом Micro SD извлеките карту Linux SD boot из слота для карт Micro SD оценочной платы. Установите режим загрузки оценочной платы в режим NAND FLASH, переведя DIP-переключатель в положение «011000» (позиции 1–6).
Тестирование режима STA
Откройте файловую систему оценочной платы, перейдите по пути, где находится драйвер модуля SDIO WIFI «8189fs.ko», и выполните следующую команду для загрузки драйвера:
Target# insmod 8189fs.ko

Выполните следующие команды, чтобы отключить другие сети и процесс «wpa_supplicant», оставив только сеть WIFI:
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

В каталоге файла «wifi_setup.sh» выполните следующую команду, чтобы подключить оценочную плату к маршрутизатору с помощью модуля WIFI. Используйте флаг «-i» для указания имени WIFI и флаг «-p» для указания пароля WIFI, изменяя их по мере необходимости:
Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

Выполните следующую команду, чтобы просмотреть полученный IP-адрес и проверить связь между оценочной платой и ПК с помощью команды «ping». Убедитесь, что оценочная плата и ПК находятся в одной локальной сети. Здесь 192.168.1.100 представляет собой фактический IP-адрес ПК.
Target# ifconfig
Target# ping 192.168.1.100

В файловой системе оценочной платы выполните следующие команды, чтобы просмотреть IP-адрес платы и протестировать пропускную способность сетевого соединения с ПК с помощью инструмента Iperf3:
Target# ifconfig
Target# iperf3 -s

В системе Ubuntu используйте следующую команду для тестирования пропускной способности сетевого соединения. Замените «192.168.1.103» на фактический IP-адрес оценочной платы. Результаты тестирования, на которые влияет сетевая среда, приведены только для справки.
Host# iperf3 -c 192.168.1.103 -i 1

Тестирование режима AP
Перезагрузите систему оценочной платы и выполните следующую команду, чтобы загрузить драйвер модуля SDIO WIFI «8189fs.ko»:
Target# insmod 8189fs.ko

Отключите другие сети и процесс «wpa_supplicant», оставив только сеть WIFI, используя команды, аналогичные тем, что используются при тестировании в режиме STA.
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig

В каталоге файла «ap_setup.sh» выполните следующую команду, чтобы перевести модуль SDIO WIFI в режим AP:
Target# ./ap_setup.sh

Если при запуске режима AP возникают проблемы из-за недостаточной случайной энтропии, необходимо перезапустить оценочную плату. Выполните следующие команды, чтобы изменить пул энтропии, а затем повторите тест:
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random

По умолчанию в программе установлено имя WIFI «rtl8188fs», а пароль — «88888888». Измените эти настройки в файле конфигурации «rtl_hostapd_2G.conf». Подключите ПК с поддержкой WIFI (например, ноутбук или настольный ПК с USB-адаптером WIFI) к этой точке доступа беспроводной локальной сети и отключите все проводные сетевые соединения. После подключения последовательный отладочный терминал выведет информацию об IP-адресе, назначенном Ubuntu. При использовании виртуальной машины с Ubuntu будут назначены два IP-адреса — один для Windows и один для Ubuntu.

Выполните следующую команду, чтобы проверить сетевое соединение между устройствами беспроводной локальной сети. Если возникли проблемы с подключением или произошли сбои, попробуйте отключить брандмауэр компьютера и повторить попытку подключения:
Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address

В файловой системе оценочной платы выполните следующие команды, чтобы просмотреть IP-адрес платы и дождаться подключения ПК:
Target# ifconfig
Target# iperf3 -s
В системе Ubuntu используйте следующую команду для тестирования пропускной способности сетевого соединения. Замените «192.168.0.1» на фактический IP-адрес оценочной платы. Результаты тестирования, на которые влияет сетевая среда, приведены только для справки.
Host# iperf3 -c 192.168.0.1 -i 1

После тестирования выключите оценочную плату, извлеките модуль SDIO WIFI и вставьте карту Linux SD boot в слот для карт Micro SD. Установите DIP-переключатель режима загрузки в положение «010100» (позиции 1–6) для режима загрузки SD.
Компиляция драйвера SDIO WIFI
Скопируйте исходный код драйвера «rtl8189FS.tar.gz» из каталога «src» примера и поместите его в рабочий каталог Ubuntu. Затем выполните следующие команды, чтобы извлечь исходный код из сжатого архива:
Host# tar -xf rtl8189FS.tar.gz

Затем перейдите в каталог с исходным кодом драйвера и измените файл «Makefile» верхнего уровня, используя следующие команды:
Host# cd rtl8189FS/
Host# vim Makefile

Измените содержимое файла «Makefile» в соответствии с приведенными ниже инструкциями:
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
В каталоге, где находится исходный код драйвера, выполните следующие команды, чтобы настроить переменные среды SDK и скомпилировать драйвер SDIO WIFI:
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make

После завершения компиляции образ драйвера будет сгенерирован в текущем каталоге.



