Tronlong® Technology tarafından üretilen TLIMX6U-EVM, ARM Cortex-A7 yüksek performanslı, düşük güç tüketimli işlemciye sahip NXP i.MX 6ULL üzerine tasarlanmış bir değerlendirme kartıdır. Bir çekirdek kart ve bir değerlendirme ana kartından oluşan TLIMX6U-EVM, profesyonel PCB tasarımı ve titiz sıcaklık testlerinden geçirilmiş olup, çeşitli endüstriyel uygulamalar için kararlılık ve güvenilirlik sağlar.
Bu makale, öncelikle Tronlong® Technology TLIMX6U-EVM değerlendirme kartına dayalı bir IoT modülü geliştirme örneğini tanıtmaktadır. Uygulanabilir geliştirme ortamları şunlardır:
- Windows Geliştirme Ortamı: Windows 7 64-bit, Windows 10 64-bit
- Sanal Makine: VMware 15.1.0
- Linux Geliştirme Ortamı: Ubuntu 18.04.4 64 bit
- U-Boot: U-Boot-2020.04
- Çekirdek: Linux-5.4.70
- Linux SDK: 5.4.70_2.3.0
Aksi belirtilmedikçe, varsayılan yapılandırma hata ayıklama seri bağlantı noktası olarak USB TO UART1'i, sistemi başlatmak için Linux SD önyükleme modunu ve bir yönlendirici aracılığıyla bir PC'ye ağ bağlantısını kullanır.
SDIO WiFi Modülü Testi
Bu örnekte RTL8189 SDIO WiFi modülü kullanılmaktadır. Aşağıdaki şemada gösterildiği gibi SDIO WiFi modülünü değerlendirme kartının SDIO arabirimine takın.

SDIO WIFI modülü hem STA hem de AP modlarını destekler:
- STA Modu: STA modunda, WIFI modülü kablosuz yönlendiricilerden sinyal alabilir ve yönlendirici aracılığıyla internet bağlantısı sağlar.
- AP Modu: AP modunda, WIFI modülü bir kablosuz LAN erişim noktası oluşturur ve telefonlar ve bilgisayarlar gibi cihazların bir yerel ağ oluşturmasına olanak tanır.
Bu durum için test programı, ürün belgelerinde "4-Yazılım Bilgileri\Demo\module-demos\sdio_wifi_test" altında bulunur. Ayrıntılı bilgiler aşağıdaki gibidir:
| Directory | Description |
|---|---|
| bin | Test scripts, program configuration files |
| driver | SDIO WIFI module driver |
| src | SDIO WIFI module driver source code |
"bin" dizinindeki tüm dosyaları ve "driver" dizinindeki "8189fs.ko" sürücü dosyasını, değerlendirme kartının dosya sistemindeki aynı yollara kopyalayın. SDIO WIFI modülünü değerlendirme kartının SDIO arayüzüne doğru şekilde bağladığınızdan emin olun. SDIO arayüzü ile Micro SD arayüzü arasında pin paylaşımı olduğu için, değerlendirme kartının Micro SD kart yuvasından Linux SD önyükleme kartını çıkarın. DIP anahtarını "011000" (1 ila 6. konumlar) olarak değiştirerek değerlendirme kartının önyükleme modunu NAND FLASH önyükleme moduna ayarlayın.
STA Modu Testi
Değerlendirme kartının dosya sistemine erişin, SDIO WIFI modülü sürücüsü "8189fs.ko" dosyasının bulunduğu yola gidin ve sürücüyü yüklemek için aşağıdaki komutu çalıştırın:
Target# insmod 8189fs.ko

Sadece Wi-Fi ağını açık bırakarak diğer ağları ve "wpa_supplicant" işlemini devre dışı bırakmak için aşağıdaki komutları çalıştırın:
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

"wifi_setup.sh" dosyasının bulunduğu dizinde, değerlendirme kartını WIFI modülünü kullanarak yönlendiriciye bağlamak için aşağıdaki komutu çalıştırın. WIFI adını belirtmek için "-i" bayrağını, WIFI şifresini belirtmek için "-p" bayrağını kullanın ve bunları gerektiği gibi değiştirin:
Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

Elde edilen IP adresini görüntülemek ve "ping" komutunu kullanarak değerlendirme kartı ile bilgisayar arasındaki iletişimi test etmek için aşağıdaki komutu çalıştırın. Değerlendirme kartı ile bilgisayarın aynı yerel ağda olduğundan emin olun. Burada 192.168.1.100, bilgisayarın gerçek IP adresini temsil eder.
Target# ifconfig
Target# ping 192.168.1.100

Değerlendirme kartının dosya sisteminde, kartın IP adresini görüntülemek ve Iperf3 aracını kullanarak PC ile ağ iletişim bant genişliğini test etmek için aşağıdaki komutları çalıştırın:
Target# ifconfig
Target# iperf3 -s

Ubuntu sisteminde ağ iletişim bant genişliğini test etmek için aşağıdaki komutu kullanın. "192.168.1.103" ifadesini değerlendirme kartının gerçek IP adresiyle değiştirin. Ağ ortamından etkilenen test sonuçları yalnızca bilgi amaçlıdır.
Host# iperf3 -c 192.168.1.103 -i 1

AP Modu Testi
Değerlendirme kartının sistemini yeniden başlatın ve SDIO WIFI modülü sürücüsü "8189fs.ko"yu yüklemek için aşağıdaki komutu çalıştırın:
Target# insmod 8189fs.ko

STA modu testinde kullandığınız komutlara benzer komutlar kullanarak diğer ağları ve "wpa_supplicant" işlemini devre dışı bırakın; sadece Wi-Fi ağını açık bırakın.
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig

"ap_setup.sh" dosyasının bulunduğu dizinde, SDIO WIFI modülünü AP moduna geçirmek için aşağıdaki komutu çalıştırın:
Target# ./ap_setup.sh

AP modunda başlatma sırasında yetersiz rastgele entropi nedeniyle sorunlarla karşılaşırsanız, değerlendirme kartını yeniden başlatmanız gerekir. Entropi havuzunu değiştirmek için aşağıdaki komutları çalıştırın ve ardından testi tekrar deneyin:
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random

Programda varsayılan olarak ayarlanan Wi-Fi adı "rtl8188fs", şifre ise "88888888"dir. Bu ayarları "rtl_hostapd_2G.conf" yapılandırma dosyasında değiştirin. Wi-Fi özelliğine sahip bir bilgisayarı (örneğin bir dizüstü bilgisayar veya USB Wi-Fi adaptörü takılı bir masaüstü bilgisayar) bu kablosuz LAN erişim noktasına bağlayın ve tüm kablolu ağ bağlantılarını kesin. Bağlantı kurulduktan sonra, seri hata ayıklama terminali Ubuntu tarafından atanan IP adresi hakkındaki bilgileri yazdırır. Ubuntu yüklü bir sanal makine kullanılıyorsa, biri Windows ve diğeri Ubuntu için olmak üzere iki IP adresi atanır.

Kablosuz LAN cihazları arasındaki ağ bağlantısını test etmek için aşağıdaki komutu çalıştırın. Bağlantı zaman aşımları veya hatalarıyla karşılaşırsanız, bilgisayarınızın güvenlik duvarını devre dışı bırakmayı ve yeniden bağlanmayı deneyin:
Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address

Değerlendirme kartının dosya sisteminde, kartın IP adresini görüntülemek için aşağıdaki komutları çalıştırın ve bilgisayarın bağlanmasını bekleyin:
Target# ifconfig
Target# iperf3 -s
Ubuntu sisteminde ağ iletişim bant genişliğini test etmek için aşağıdaki komutu kullanın. "192.168.0.1" ifadesini değerlendirme kartının gerçek IP adresiyle değiştirin. Ağ ortamından etkilenen test sonuçları yalnızca bilgi amaçlıdır.
Host# iperf3 -c 192.168.0.1 -i 1

Testin ardından değerlendirme kartının gücünü kapatın, SDIO WIFI modülünü çıkarın ve Linux SD önyükleme kartını Micro SD kart yuvasına takın. SD önyükleme modu için önyükleme modu DIP anahtarını "010100" (1'den 6'ya kadar olan konumlar) olarak ayarlayın.
SDIO Wi-Fi Sürücüsünü Derleme
Lütfen örnek projenin "src" dizininden "rtl8189FS.tar.gz" adlı sürücü kaynak kodunu kopyalayıp Ubuntu çalışma dizinine yerleştirin. Ardından, sıkıştırılmış arşivden kaynak kodunu çıkarmak için aşağıdaki komutları çalıştırın:
Host# tar -xf rtl8189FS.tar.gz

Ardından, sürücü kaynak kodu dizinine gidin ve aşağıdaki komutları kullanarak en üst düzeydeki "Makefile" dosyasını düzenleyin:
Host# cd rtl8189FS/
Host# vim Makefile

Lütfen "Makefile" dosyasının içeriğini aşağıdaki talimatlara göre değiştirin:
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
Sürücü kaynak kodunun bulunduğu dizinde, SDK ortam değişkenlerini ayarlamak ve SDIO WIFI sürücüsünü derlemek için aşağıdaki komutları çalıştırın:
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make

Derleme işlemi tamamlandıktan sonra, sürücü görüntüsü geçerli dizinde oluşturulacaktır.




