> ## Documentation Index
> Fetch the complete documentation index at: https://docs.t3gemstone.org/llms.txt
> Use this file to discover all available pages before exploring further.

# eMMC Kullanımı

> Saklama alanı olarak sdcard yerine eMMC kullanımı

<Tip>
  Bölüm bitiminde Gemstone geliştirme kartında eMMC üzerine imaj yazma işlemi hakkında bilgi sahibi olacaksınız.
</Tip>

Gemstone işletim sisteminin SD kartın yanı sıra eMMC üzerinden de boot edilebilme desteği bulunmaktadır.
eMMC, yüksek performanslı ve güvenilir bir depolama çözümüdür. SD karta kıyasla daha hızlı veri erişimi ve daha
sağlam fiziksel yapı sunması nedeniyle birçok uygulamada öncelikli olarak tercih edilmektedir.

## 1. USB DFU ile eMMC'ye İmaj Yazma

USB DFU (Device Firmware Upgrade), T3 Gemstone O1'in USB üzerinden doğrudan programlanmasını sağlayan standarttır.
SD karta veya çalışan bir sisteme gerek kalmadan eMMC'ye imaj yazılabilir.

<Note>
  TI AM67A işlemcisi için resmi DFU dökümanı:
  [USB Device Firmware Upgrade (DFU) — Processor SDK Linux for AM67A](https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am67a/10_00_00/exports/docs/linux/Foundational_Components/U-Boot/UG-DFU.html)
</Note>

### 1.1. USB DFU Moduna Geçiş

<Warning>
  **İşleme başlamadan önce kartı tamamen kapatınız.**
  Kart çalışırken DFU moduna geçmeye çalışmak eMMC'yi bozabilir.
</Warning>

<Steps>
  <Step title="Kartı kapatınız">
    İşletim sistemi çalışıyorsa düzgün biçimde kapatınız, ardından T3 Gemstone O1'in güç bağlantısını kesiniz.
  </Step>

  <Step title="Bootmode switch'i USB DFU konumuna getiriniz">
    Aşağıdaki diyagramda gösterilen switch pozisyonunu referans alarak bootmode switch'i USB DFU konumuna getiriniz.

    <Frame caption="Bootmode switch fiziksel konumu (temsili)">
      <img src="https://mintcdn.com/t3gemstone-754bcb96/DqBDlLDn29Knu23Y/images/o1-board/06-bootmode-2.png?fit=max&auto=format&n=DqBDlLDn29Knu23Y&q=85&s=982185982711d7dd95c7362e70d1aab2" width="1337" height="884" data-path="images/o1-board/06-bootmode-2.png" />
    </Frame>

    <Note>
      Yukarıdaki görsel, bootmode switch'in kart üzerindeki fiziksel konumunu göstermek amacıyla eklenmiştir ve temsilidir.
      DFU modu için switch pozisyonunu aşağıdaki diyagramdan takip ediniz.
    </Note>

    <Frame caption="USB DFU boot modu switch pozisyonu">
      <img src="https://mintcdn.com/t3gemstone-754bcb96/vuDeslxa2SoR97TB/images/bootmode/usb-dfu-bootmode.svg?fit=max&auto=format&n=vuDeslxa2SoR97TB&q=85&s=e3781c4699a5c10f50361f3ceb07f2da" width="1920" height="328" data-path="images/bootmode/usb-dfu-bootmode.svg" />
    </Frame>
  </Step>

  <Step title="USB-C kablosunu bağlayarak güç veriniz">
    USB-C kablosunu kartın DFU portuna ve bilgisayarınıza takınız, ardından güç veriniz.
  </Step>
</Steps>

### 1.2. GemImager ile İmaj Yükleme

GemImager tüm DFU yazma sürecini otomatik olarak yönetir — önyükleyici dosyaları işletim sistemi
imajı ile birlikte gönderilir ve doğru sırayla yüklenir.

<Steps>
  <Step title="GemImager'ı açınız">
    Bilgisayarınızda **GemImager**'ı başlatınız ve kullanmak istediğiniz kartı seçiniz.

    <Warning>
      GemImager'ın USB aygıtlarına erişebilmesi için **yönetici (administrator) olarak çalıştırılması** gerekmektedir.
    </Warning>
  </Step>

  <Step title="İşletim sistemi imajını seçiniz">
    **İşletim Sistemi Seçin** butonuna tıklayarak yüklemek istediğiniz imajı seçiniz.
  </Step>

  <Step title="Depolama aygıtını seçiniz">
    **Hedef Seçin** butonuna tıklayınız ve **USB DFU** seçeneğini seçiniz.

    <Frame>
      <img src="https://mintcdn.com/t3gemstone-754bcb96/QCj3NWjfZFsPDp9s/images/gem-imager/select-dfu.png?fit=max&auto=format&n=QCj3NWjfZFsPDp9s&q=85&s=2e64f37a787b8318627b12126ee019b9" width="805" height="633" data-path="images/gem-imager/select-dfu.png" />
    </Frame>
  </Step>

  <Step title="İmajı yazınız">
    **İleri** butonuna tıklayarak OS özelleştirme seçeneklerini yapılandırın ([Özelleştirme](/tr/imager/customization)
    sayfasına bakınız), ardından **Yaz** butonuna basınız.

    <Warning>
      Yazma işlemi sırasında USB kablosunu çıkarmayınız veya güç bağlantısını kesmeyiniz.
    </Warning>
  </Step>

  <Step title="Tamamlanmasını bekleyiniz">
    Yazma işlemi tamamlandığında Gem Imager başarı mesajı görüntüler.
  </Step>

  <Step title="Kartı kapatıp bootmode switch'i eMMC konumuna alınız">
    Kartı tamamen kapatınız, ardından bootmode switch'i aşağıdaki görselde gösterildiği gibi
    **eMMC** konumuna getiriniz.

    <Frame caption="eMMC boot modu switch pozisyonu">
      <img src="https://mintcdn.com/t3gemstone-754bcb96/vuDeslxa2SoR97TB/images/bootmode/emmc-bootmode.svg?fit=max&auto=format&n=vuDeslxa2SoR97TB&q=85&s=2111a95d6ac15a452961324c3a03b0f8" width="1920" height="326" data-path="images/bootmode/emmc-bootmode.svg" />
    </Frame>

    <Note>
      Boot işlemini UART üzerinden seri port bağlantısıyla takip edebilirsiniz.
      Varsayılan baudrate: **115200**
    </Note>

    Güç verdikten sonra kart eMMC üzerindeki imajdan açılacaktır.

    <Frame caption="DFU transfer sırasında seri port çıktısı">
      <img src="https://mintcdn.com/t3gemstone-754bcb96/gyzrGBEjgQjVv9wh/images/gem-imager/dfu-serial.png?fit=max&auto=format&n=gyzrGBEjgQjVv9wh&q=85&s=a9fe95d9c2648fa428661a68802bb9f4" width="1282" height="806" data-path="images/gem-imager/dfu-serial.png" />
    </Frame>

    UART bağlantısı hakkında daha fazla bilgi için [Seri Port](/tr/boards/o1/peripherals/serial) sayfasına bakın.
  </Step>
</Steps>

## 2. SDK ile Manuel İmaj Yükleme (dfu-util)

<Warning>
  Bu yöntem, SDK derleme sistemi ile çalışan Geliştiriciler içindir.
</Warning>

<Note>
  Kaynak koddan imaj derleme hakkında daha fazla bilgi için [SDK belgelerine](/tr/sdk/introduction) bakınız.
</Note>

Kartı [1.1. USB DFU Moduna Geçiş](#1-1-usb-dfu-moduna-geçiş) adımlarında anlatıldığı şekilde
bootmode switch üzerinden DFU moduna alınız, ardından aşağıdaki komutları sırasıyla çalıştırınız.

Başarılı bir SDK derlemesinin ardından gereken dosyalar iki dizinde bulunur:

| Dosya            | Konum                                         |
| ---------------- | --------------------------------------------- |
| `tiboot3.bin`    | `build/t3-gem-o1/deploy-ti/images/t3-gem-o1/` |
| `tispl.bin`      | `build/t3-gem-o1/deploy-ti/images/t3-gem-o1/` |
| `u-boot.img`     | `build/t3-gem-o1/deploy-ti/images/t3-gem-o1/` |
| `gemstone-*.img` | `build/debos/`                                |

<Steps>
  <Step title="İlk aşama önyükleyiciyi (tiboot3.bin) yükleyiniz">
    ```bash theme={"system"}
    sudo dfu-util -d 0451:6165 -a bootloader -D tiboot3.bin -R
    ```

    Bu adımın ardından kart sıfırlanarak yeniden bağlanacaktır. Birkaç saniye bekleyip
    `dfu-util -l` ile kartın hâlâ görünür olduğunu doğrulayınız.
  </Step>

  <Step title="TI SPL'i (tispl.bin) yükleyiniz">
    ```bash theme={"system"}
    sudo dfu-util -d 0451:6165 -a tispl.bin -D tispl.bin -R
    ```
  </Step>

  <Step title="U-Boot'u (u-boot.img) yükleyiniz">
    ```bash theme={"system"}
    sudo dfu-util -d 0451:6165 -a u-boot.img -D u-boot.img -R
    ```
  </Step>

  <Step title="OS imajını eMMC'ye aktarınız">
    `<imaj-dosya-adı>` kısmını kendi imaj dosyanızın adıyla değiştiriniz:

    ```bash theme={"system"}
    sudo dfu-util -d 0451:6165 -a rawemmc \
        -D <imaj-dosya-adı>.img -R
    ```

    <Warning>
      Bu adım tüm OS imajını USB üzerinden eMMC'ye aktarır. Aktarımı kesintiye uğratmayınız.
      İmaj boyutuna ve USB hızına bağlı olarak bu işlem birkaç dakika sürebilir.
    </Warning>
  </Step>

  <Step title="Kartı kapatıp bootmode switch'i eMMC konumuna alınız">
    `dfu-util` başarı bildirdiğinde kartı tamamen kapatınız, ardından bootmode switch'i
    **eMMC** konumuna getiriniz.

    <Frame caption="eMMC boot modu switch pozisyonu">
      <img src="https://mintcdn.com/t3gemstone-754bcb96/vuDeslxa2SoR97TB/images/bootmode/emmc-bootmode.svg?fit=max&auto=format&n=vuDeslxa2SoR97TB&q=85&s=2111a95d6ac15a452961324c3a03b0f8" width="1920" height="326" data-path="images/bootmode/emmc-bootmode.svg" />
    </Frame>

    <Note>
      Boot işlemini UART üzerinden seri port bağlantısıyla takip edebilirsiniz.
      Varsayılan baudrate: **115200**
    </Note>

    Güç verdikten sonra kart eMMC üzerindeki imajdan açılacaktır.
  </Step>
</Steps>

### 2.1. Doğrulama Adımı

GemImager DFU ile yazma işlemi yapıldığında sırasıyla şu işlemleri gerçekleştirir:

1. Seçilen imajı indirir veya okur
2. Önyükleyici dosyalarını çıkarır (`tiboot3.bin`, `tispl.bin`, `u-boot.img`)
3. Her önyükleyici aşamasını DFU üzerinden yazar
4. Tam OS imajını eMMC'ye aktarır (`rawemmc` alt ayarı)

<Step title="DFU cihazını doğrulayınız">
  Kartın DFU cihazı olarak göründüğünü doğrulayınız.

  <Tabs>
    <Tab title="Linux">
      `dfu-util` isimli uygulama yüklü değilse, `sudo apt install dfu-util` komutu ile Ubuntu bilgisayarınıza yükleyiniz.

      ```bash theme={"system"}
      sudo dfu-util -l
      ```
    </Tab>

    <Tab title="Windows">
      `dfu-util` Windows ikili dosyasını [dfu-util ana sayfasının](https://dfu-util.sourceforge.net/)
      Releases bölümünden indirip zip'i çıkartınız, ardından çalıştırınız:

      ```powershell theme={"system"}
      dfu-util.exe -l
      ```

      <Note>
        Windows'ta `dfu-util.exe -l` çıktısı boş geliyorsa, cihaza **WinUSB** sürücüsünü
        [Zadig](https://zadig.akeo.ie/) ile yüklemeniz gerekmektedir:

        1. [zadig.akeo.ie](https://zadig.akeo.ie/) adresinden Zadig'i indirip çalıştırınız
           (kurulum gerektirmez; UAC yönetici onayı isteyecektir)
        2. Kart listede görünmüyorsa **Options → List All Devices** seçeneğini etkinleştiriniz
        3. Açılır listeden VID `0451` / PID `6165` olan cihazı seçiniz
        4. Sürücü olarak **WinUSB**'ı seçip **Install Driver** butonuna tıklayınız
        5. Yükleme tamamlandığında sürücü adı yeşil renkte görüntülenecektir
      </Note>
    </Tab>
  </Tabs>

  VID:PID **0451:6165** ile `bootloader` ve `SocId` alt ayarlarını içeren bir giriş
  görmeniz gerekmektedir.

  ```
  Found DFU: [0451:6165] ver=0200, devnum=9, cfg=1, intf=0, path="1-2.2", alt=1, name="SocId", serial="01.00.00.00"
  Found DFU: [0451:6165] ver=0200, devnum=9, cfg=1, intf=0, path="1-2.2", alt=0, name="bootloader", serial="01.00.00.00"
  ```

  Cihaz listede görünmüyorsa 1. adımdan itibaren tekrar deneyiniz.
</Step>
