# Akademi Source: https://docs.t3gemstone.org/tr/academy/academy Eğitim Videoları
Bu bölüm; Linux dünyası, Gömülü Yazılım ve Geliştirme Kartları konusunda daha önce çalışma yapmamış, Linux kullanmamış başlangıç seviyesinde olanlar için hazırlanmış temel eğitim videoları içermektedir.**(Yapım aşamasında..)**
overlays=k3-am67a-t3-gem-o1-spidev0-2cs.dtbo k3-am67a-t3-gem-o1-i2c1-400000.dtbo k3-am67a-t3-gem-o1-uart-ttys6.dtbo
#### 3.1.4. Kontrol
Değişiklikleri kaydettikten sonra kart `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.
```txt highlight=3 theme={"system"} theme={"system"} theme={"system"}
k3-am67a-t3-gem-o1-i2c1-400000.dtbo
k3-am67a-t3-gem-o1-spidev0-2cs.dtbo
k3-am67a-t3-gem-o1-uart-ttys6.kernel
...
```
Yukarıdaki aşamalar başarıyla tamamlandıktan sonra `/dev/ttyS6` cihazı oluşmuş olacaktır.
# JTAG
Source: https://docs.t3gemstone.org/tr/boards/o1/peripherals/jtag
JTAG Kullanımı
JTAG (Joint Action Test Group) elektronik devrelerde bağlantıların kontrol edilmesi, kart üzerindeki depolama
aygıtlarının programlaması veya adım adım hata ayıklama (step debugging) gibi işlemlerin yapılması için üretilmiş
bir standarttır. Kart üzerinde bir adet JTAG arayüzü konnektörü bulunmaktadır. T3-GEM-O1 geliştirme kartı
üzerinde bulunan iki çekirdekli R5 uygulamalarının debug edilmesi JTAG ile yapılmaktadır.
Debug yapabilmek için aşağıdaki gereksinimlere ihtiyaç vardır.
* 1 adet `T3-GEM-O1 JTAG Kablosu`
* `Code Composer Studio` kurulu bilgisayar,
* Code Composer Studio'nun desteklediği bir JTAG debugger.
Buradaki anlatımda [Texas Instruments XDS200 USB Debug Probe](https://www.ti.com/tool/TMDSEMU200-U) kullanıldı.
## JTAG Konfigürasyonu ve SOC'ye Bağlanma
* Geliştirme kartını [burada](/tr/quickstart#1-3-bootmode-switch) gösterildiği gibi `Dev Bootmode`'a alın ve ardından
güç verin. Daha sonra `T3-GEM-O1 JTAG Kablosu`'nu resimde görüldüğü gibi karta bağlayın.
| HAT Pin Adı | SOC Pin Adı | Pinmux | Linux Varsayılan Olarak Kullanıyor mu? | Linux'ta Kullanım Amacı | Devre Dışı Bırakmak için |
|---|---|---|---|---|---|
| GPIO-0 | D11 | 0 -> WKUP\_I2C0\_SDA 7 -> MCU\_GPIO0\_20 |
Evet | EEPROM, RTC ve PMIC ile haberleşmek üzere I2C SDA | Device-tree ile devre dışı bırakılmalı (wkup\_i2c0). |
| GPIO-1 | B9 | 0 -> WKUP\_I2C0\_SCL 7 -> MCU\_GPIO0\_19 |
Evet | EEPROM, RTC ve PMIC ile haberleşmek üzere I2C SCL | Device-tree ile devre dışı bırakılmalı (wkup\_i2c0). |
| GPIO-2 | E11 | 0 -> MCU\_I2C0\_SDA 7 -> MCU\_GPIO0\_18 |
Hayır | Waveshare Dokunmatik Ekran için I2C SDA | - k3-am67a-t3-gem-o1-dsi-waveshare-7inch-h-panel.dtbo - k3-am67a-t3-gem-o1-dsi-waveshare-7inch-panel.dtbo |
| GPIO-3 | B13 | 0 -> MCU\_I2C0\_SCL 7 -> MCU\_GPIO0\_17 |
Hayır | Waveshare Dokunmatik Ekran için I2C SCL | - k3-am67a-t3-gem-o1-dsi-waveshare-7inch-h-panel.dtbo - k3-am67a-t3-gem-o1-dsi-waveshare-7inch-panel.dtbo |
| GPIO-4 | W26 | 0 -> GPMC0\_WAIT1 1 -> VOUT0\_EXTPCLKIN 2 -> GPMC0\_A21 3 -> UART6\_RXD 4 -> AUDIO\_EXT\_REFCLK2 7 -> GPIO0\_38 8 -> EQEP2\_I |
Evet | Bluetooth için UART RX | - k3-am67a-t3-gem-o1-uart-ttys6.dtbo - Device-tree ile devre dışı bırakılmalı (main\_uart6) |
| GPIO-5 | B20 | 0 -> SPI0\_CS0 2 -> EHRPWM0\_A 7 -> GPIO1\_15 |
Hayır | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-epwm0-gpio5.dtbo - k3-am67a-t3-gem-o1-pwm-epwm0-gpio14.dtbo - k3-am67a-t3-gem-o1-pwm-epwm0-gpio5-gpio14.dtbo |
| GPIO-6 | D20 | 0 -> SPI0\_CLK 1 -> CP\_GEMAC\_CPTS0\_TS\_SYNC 2 -> EHRPWM1\_A 7 -> GPIO1\_17 |
Evet | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-epwm1-gpio6.dtbo - k3-am67a-t3-gem-o1-pwm-epwm1-gpio13.dtbo - k3-am67a-t3-gem-o1-pwm-epwm1-gpio6-gpio13.dtbo |
| GPIO-7 | B3 | 0 -> WKUP\_UART0\_RXD 2 -> MCU\_SPI0\_CS2 7 -> MCU\_GPIO0\_9 |
Evet | - Linux spidev ile kullanmak üzere SPI Chip select 2 - Wakeup domain UART0 Rx |
- k3-am67a-t3-gem-o1-spidev0-1cs.dtbo - k3-am67a-t3-gem-o1-spidev0-2cs.dtbo - k3-am67a-t3-gem-o1-uart-ttys0.dtbo |
| GPIO-8 | C12 | 0 -> MCU\_SPI0\_CS0 4 -> WKUP\_TIMER\_IO1 7 -> MCU\_GPIO0\_0 |
Evet | Linux spidev ile kullanmak üzere SPI Chip select 0 | - k3-am67a-t3-gem-o1-spidev0-1cs.dtbo - k3-am67a-t3-gem-o1-spidev0-2cs.dtbo |
| GPIO-9 | C11 | 0 -> MCU\_SPI0\_D1 7 -> MCU\_GPIO0\_4 |
Evet | - LPS22DFTR basınç ve icm20948 imu spi data1 - Linux spidev ile kullanmak üzere SPI DATA1 (MOSI veya MISO olarak atanabilir) |
Device-tree ile devre dışı bırakılmalı. (mcu\_spi0) |
| GPIO-10 | B12 | 0 -> MCU\_SPI0\_D0 7 -> MCU\_GPIO0\_3 |
Evet | - LPS22DFTR basınç ve icm20948 imu spi data0 - Linux spidev ile kullanmak üzere SPI DATA0 (MOSI veya MISO olarak atanabilir) |
Device-tree ile devre dışı bırakılmalı. (mcu\_spi0) |
| GPIO-11 | A9 | 0 -> MCU\_SPI0\_CLK 7 -> MCU\_GPIO0\_2 |
Hayır | Linux spidev ile kullanmak üzere SPI Clock | Device-tree ile devre dışı bırakılmalı. (mcu\_spi0) |
| GPIO-12 | C20 | 0 -> SPI0\_CS1 1 -> CP\_GEMAC\_CPTS0\_TS\_COMP 2 -> EHRPWM0\_B 3 -> ECAP0\_IN\_APWM\_OUT 5 -> MAIN\_ERRORn 7 -> GPIO1\_16 9 -> EHRPWM\_TZn\_IN5 |
Evet | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-ecap0-gpio12.dtbo |
| GPIO-13 | E19 | 0 -> SPI0\_D0 1 -> CP\_GEMAC\_CPTS0\_HW1TSPUSH 2 -> EHRPWM1\_B 7 -> GPIO1\_18 |
Evet | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-epwm1-gpio13.dtbo - k3-am67a-t3-gem-o1-pwm-epwm1-gpio6-gpio13.dtbo |
| GPIO-14 | F24 | 0 -> MCASP0\_ACLKR 1 -> SPI2\_CLK 2 -> UART1\_TXD 6 -> EHRPWM0\_B 7 -> GPIO1\_14 8 -> EQEP1\_I |
Evet | - Linux /dev/ttyS3 seri cihazı olarak kullanılıyor. - İstenirse overlay ile genel amaçlı PWM olarak ayarlanabilir |
- k3-am67a-t3-gem-o1-pwm-epwm0-gpio5.dtbo - k3-am67a-t3-gem-o1-pwm-epwm0-gpio14.dtbo - k3-am67a-t3-gem-o1-pwm-epwm0-gpio5-gpio14.dtbo - Device-tree ile devre dışı bırakılmalı. (main\_uart1) |
| GPIO-15 | C27 | 0 -> MCASP0\_AFSR 1 -> SPI2\_CS0 2 -> UART1\_RXD 6 -> EHRPWM0\_A 7 -> GPIO1\_13 8 -> EQEP1\_S |
Evet | - Linux /dev/ttyS3 seri cihazı olarak | Device-tree ile devre dışı bırakılmalı. (main\_uart1) |
| GPIO-16 | A25 | 0 -> MCASP0\_AXR3 1 -> SPI2\_D0 2 -> UART1\_CTSn 3 -> UART6\_RXD 5 -> ECAP1\_IN\_APWM\_OUT 7 -> GPIO1\_7 8 -> EQEP0\_A |
Hayır | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-ecap1-gpio16.dtbo |
| GPIO-17 | A26 | 0 -> MCASP0\_AXR2 1 -> SPI2\_D1 2 -> UART1\_RTSn 3 -> UART6\_TXD 5 -> ECAP2\_IN\_APWM\_OUT 7 -> GPIO1\_8 8 -> EQEP0\_B |
Evet | Bluetooth için UART TX | - k3-am67a-t3-gem-o1-uart-ttys6.dtbo - Device-tree ile devre dışı bırakılmalı. (main\_uart6) |
| GPIO-18 | D25 | 0 -> MCASP0\_ACLKX 1 -> SPI2\_CS1 2 -> ECAP2\_IN\_APWM\_OUT 7 -> GPIO1\_11 8 -> EQEP1\_A |
Hayır | Genel amaçlı PWM | - k3-am67a-t3-gem-o1-pwm-ecap2-gpio18.dtbo |
| GPIO-19 | C26 | 0 -> MCASP0\_AFSX 1 -> SPI2\_CS3 2 -> AUDIO\_EXT\_REFCLK1 7 -> GPIO1\_12 8 -> EQEP1\_B |
Hayır | - | - |
| GPIO-20 | F23 | 0 -> MCASP0\_AXR0 2 -> AUDIO\_EXT\_REFCLK0 6 -> EHRPWM1\_B 7 -> GPIO1\_10 8 -> EQEP0\_I |
Hayır | - | - |
| GPIO-21 | B25 | 0 -> MCASP0\_AXR1 1 -> SPI2\_CS2 2 -> ECAP1\_IN\_APWM\_OUT 5 -> MAIN\_ERRORn 6 -> EHRPWM1\_A 7 -> GPIO1\_9 8 -> EQEP0\_S |
Evet | Soğutma fanını kontrol amacıyla | - k3-am67a-t3-gem-o1-gpio-fan.dtbo |
| GPIO-22 | R27 | 0 -> GPMC0\_CSn0 1 -> I2C4\_SCL 3 -> MCASP2\_AXR14 6 -> TRC\_DATA15 7 -> GPIO0\_41 |
Hayır | - | - |
| GPIO-23 | B5 | 0 -> MCU\_UART0\_CTSn 1 -> MCU\_TIMER\_IO0 3 -> MCU\_SPI1\_D0 7 -> MCU\_GPIO0\_7 |
Hayır | - | - |
| GPIO-24 | C8 | 0 -> WKUP\_UART0\_TXD 2 -> MCU\_SPI1\_CS2 8 -> MCU\_GPIO0\_10 |
Hayır | Wake Up domain UART0 Tx | - k3-am67a-t3-gem-o1-uart-ttys0.dtbo |
| GPIO-25 | P21 | 0 -> GPMC0\_CSn1 1 -> I2C4\_SDA 3 -> MCASP2\_AXR15 6 -> TRC\_DATA16 7 -> GPIO0\_42 |
Hayır | - | - |
| GPIO-26 | P26 | 0 -> GPMC0\_BE1n 3 -> MCASP2\_AXR12 6 -> TRC\_DATA11 7 -> GPIO0\_36 |
Hayır | - | - |
| GPIO-27 | N22 | 0 -> GPMC0\_OEn\_REn 2 -> MCASP1\_AXR1 6 -> TRC\_DATA8 7 -> GPIO0\_33 |
Hayır | - | - |
| Boot mode | |
|---|---|
| SD card |
|
| eMMC |
|
| USB DFU |
|
| Ethernet |
|
| UART |
|
| Devboot |
|