Bileşen, Çevresel Aygıtlar ve Kullanım Örnekleri
GPIO-7
isimli pin varsayılan konfigürasyonda SPI-MCU0 CS1
olarak belirlenmiş
olup Device Tree Overlay ismi verilen dosya aktif edilerek UART-WKUP0 RX
fonksiyonuna dönüştürülebilmektedir.
Benzer şekilde Gemstone VTOL projesinde Bluetooth ihtiyacı olmadığından, ilgili pinler devre
dışı bırakılarak UART-MAIN6
’ya dönüştürülmüştür.
PINS | PINS | ||
---|---|---|---|
3v3 Power | 3v3 Power | 5v Power | 5v Power |
I2C-MCU0 SDA | GPIO-2 | 5v Power | 5v Power |
I2C-MCU0 SCL | GPIO-3 | GND | GND |
GPIO-4 | GPIO-14 | UART-MAIN1 TX | |
GND | GND | GPIO-15 | UART-MAIN1 RX |
GPIO-17 | GPIO-18 | PCM-McASP0 CLK | |
GPIO-27 | GND | GND | |
GPIO-22 | GPIO-23 | ||
3v3 Power | 3v3 Power | GPIO-24 | |
SPI-MCU0 MOSI | GPIO-10 | GND | GND |
SPI-MCU0 MISO | GPIO-9 | GPIO-25 | |
SPI-MCU0 SCLK | GPIO-11 | GPIO-8 | SPI-MCU0 CS0 |
GND | GND | GPIO-7 | SPI-MCU0 CS1 |
I2C-WKUP0 SDA (reserved) | GPIO-0 | GPIO-1 | I2C-WKUP0 SCL (reserved) |
GPIO-5 | GND | GND | |
GPIO-6 | GPIO-12 | PWM-ECAP0 | |
PWM-1B | GPIO-13 | GND | GND |
PCM-McASP0 FS | GPIO-19 | GPIO-16 | |
GPIO-26 | GPIO-20 | PCM-McASP0 DIN | |
GND | GND | GPIO-21 | PCM-McASP0 DOUT |
/dev/ttyS3
cihazı üzerinden erişilebilmektedir.
Komut satırından UART hattını test etmek için picocom
programından yararlanabilirsiniz.
picocom
seri terminal uygulamasıdır, belirtilen seri porta anlık olarak klavyeden basılan karakterleri
gönderirken karşı taraftan gelen verileri de ekrana basar. TX
ve RX
pinlerini jumper kablo yardımıyla
birbirine bağladıktan sonra aşağıdaki komutu çalıştırabilirsiniz. Eğer bağlantılar düzgünse klavyede anlık
bastığınız karakterleri ekranınızda görmeniz gerekmektedir.
/dev/i2c-1
cihazı üzerinden erişilebilmektedir.
Hatta bağlı çevre birimleri görüntülemek için i2cdetect
komutundan yararlanabilirsiniz.
Örnek bir çıktı aşağıda verilmiştir. Komutun çıktısında UU
ile belirtilen adreslerdeki (0x30
) çevre birimler
I2C hattına bağlı fakat Linux kernel tarafından kullanılmakta, doğrudan adres numarası yazan (0x6b
) çevre birimler
ise I2C hattına bağlı ve boşta anlamına gelmektedir.
/dev/spidev0.0
ve /dev/spidev0.1
cihazları üzerinden erişilebilmektedir.
/dev/spidev0.0
cihazı SPI-MCU0 CS0, /dev/spidev0.1
cihazı ise SPI-MCU0 CS1’e karşılık gelmektedir.
Komut satırından SPI hattını test etmek için spi-pipe
programından yararlanabilirsiniz.
spi-pipe
programı stdin’den gelen verileri --device
ayarıyla belirtilen SPI hattına basıp, hattan gelen veriyi de
stdout’a basmaktadır. MOSI
ve MISO
pinlerini jumper kablo yardımıyla birbirine bağladıktan sonra
aşağıdaki komutu çalıştırabilirsiniz. Eğer bağlantılar düzgünse ekranda “Hello World” yazısını görmeniz gerekmektedir.
/sys/class/pwm/pwmchip5/pwm1
cihazı üzerinden erişilebilmektedir.
Bu cihazın oluşması için öncelikle export
komutu çalıştırılmalıdır.
Ardından nanosaniye cinsinden period
ve duty_cycle
değerleri aşağıdaki örnekte gösterildiği şekilde istenen
değerlere ayarlanıp cihaza enable
komutu verildikten sonra PWM çıktısı alınabilir.
/sys/class/pwm/pwmchip0/pwm0
cihazı üzerinden erişilebilmektedir.
FS
pini DAC gibi harici bir ses cihazına frame-sync sinyali sağlarken CLK
pini de benzer şekilde clock sinyali sağlar.
DIN
pini sayesinde I2S mikrofon gibi bir dijital ses cihazından veri girişi, DOUT
pini sayesinde de DAC gibi bir dijital ses cihazına veri çıkışı sağlanabilmektedir.
arch/arm64/boot/dts/ti
dizini altında yer almaktadır. T3-GEM-O1 kartı için olanlar k3-am67a-t3-gem-o1-<overlay_adi>.dtso
biçiminde
isimlendirilmiştir. Her bir overlay dosyasının başında hangi amaçla oluşturulduğuna dair bilgi yer almaktadır.
/boot/overlays
klasöründe bulunmaktadır.
ls /boot/overlays
komutu çalıştırılarak hepsi listelenebilir.
k3-am67a-t3-gem-o1-uart-ttys6.dtbo
adlı overlay dosyası kullanılacaktır. Bootloader’ın bu dosyayı
işletim sistemi başlatılmadan önce yükleyebilmesi için /boot/uEnv.txt
dosyasındaki overlays
kısmına
aşağıdaki gibi eklenmelidir. Overlay dosya adları arasında bir boşluk kalacak şekilde ekleme yapılmaktadır.
overlays=k3-am67a-t3-gem-o1-uart-ttyama0.dtbo k3-am67a-t3-gem-o1-spidev0.dtbo k3-am67a-t3-gem-o1-uart-ttys6.dtbo
reboot
komutuyla yeniden başlatılmalıdır.
Ardından ls /proc/device-tree/chosen/overlays
komutuyla ilgili overlay’in eklenip
eklenmediği kontrol edilmelidir.
/dev/ttyS6
cihazı oluşmuş olacaktır.