Bize Ulaşın

Eğitim İçeriği

1. Linux Çekirdeğine Giriş

  • Gömülü Linux Genel Bakış
  • Linux çekirdek mimarisi
  • Kullanıcı alanı vs. çekirdek alanı
  • Çekirdeğin sorumlulukları
  • Çekirdek geliştirme iş akışı
  • Desteklenen gömülü platformlara genel bakış

2. Geliştirme Ortamının Kurulması

  • Geliştirme istasyonunun hazırlanması
  • Kestirimli derleme kavramları
  • Gerekli geliştirme araçlarının yüklenmesi
  • BeagleBone Black geliştirme kartının kurulması
  • Seri konsol yapılandırması
  • Hedef cihazın önyüklenmesi

3. Çekirdek Kaynak Kodunun Elde Edilmesi ve Anlaşılması

  • Linux çekirdek kaynak ağacı
  • Kararlı vs. uzun vadeli destekli (LTS) çekirdekler
  • Çekirdek kaynak kodunun indirilmesi
  • Kaynak kod yapısının incelenmesi
  • Çekirdek belgeleri
  • Çekirdek sürümlerinin yönetimi

4. Çekirdeğin Yapılandırılması, Derlenmesi ve Önyüklenmesi

  • menuconfig ile çekirdek yapılandırması
  • Çekirdek özelliklerinin seçilmesi
  • Çekirdeğin kestirimli derlenmesi
  • Çekirdek imajlarının oluşturulması
  • Çekirdek modüllerinin yüklenmesi
  • Önyükleyiciye genel bakış
  • Özel bir çekirdeğin önyüklenmesi

5. Cihaz Ağacı Temelleri

  • Cihaz Ağacının amacı
  • Cihaz Ağacı Kaynak (DTS) dosyaları
  • Cihaz Ağacı Blobu (DTB)
  • Sabit donanım tanım kavramları
  • Cihaz Ağacı dosyalarının değiştirilmesi
  • Cihaz ağaçlarının oluşturulması ve dağıtımı

6. Linux Çekirdek Modülleri

  • Çekirdek modülü mimarisi
  • Yüklenebilir çekirdek modüllerinin oluşturulması
  • Modüllerin yüklenmesi ve kaldırılması
  • Modül parametreleri
  • Modül bağımlılıkları
  • Çekirdek modülleriyle etkileşim
  • Modül hata ayıklama teknikleri

7. Linux Çekirdek Hata Ayıklama

  • printk() ile çekirdek günlüğe kaydetme
  • dmesg'in kullanımı
  • Dinamik hata ayıklama
  • Çekirdek panik analizleri
  • Oops mesajları
  • GDB ile hata ayıklama
  • Temel performans izleme araçları

8. Karakter Cihaz Sürücüleri

  • Linux cihaz sürücü modeli
  • Karakter cihazları
  • Sürücülerin kaydedilmesi
  • Dosya işlemleri
  • Okuma ve yazma işlemleri
  • IOCTL arayüzü
  • Bellek yönetimi
  • Sürücü temizleme

9. Sürücü Entegrasyonu ve Donanım Erişimi

  • Platform cihazları ve sürücüleri
  • GPIO programlaması
  • Kesme işleme
  • Zamanlayıcılar ve ertelenmiş işler
  • Donanım kayıtlarına erişim
  • Bellek eşlemeli G/Ç (I/O) ile çalışma

10. Git ile Sürüm Kontrolü

  • Git temelleri
  • Çekirdek kaynak kodunun yönetimi
  • Dal oluşturma ve birleştirme
  • yama (patch) oluşturma
  • Değişikliklerin gözden geçirilmesi
  • Çekirdek geliştirme sürecinde iş birliği

11. Uygulamalı Çekirdek Geliştirme Laboratuvarları

  • Özel bir çekirdeğin yapılandırılması
  • Çekirdeğin oluşturulması ve dağıtılması
  • Basit bir çekirdek modülünün oluşturulması
  • Bir temel karakter cihazı sürücüsünün geliştirilmesi
  • Cihaz Ağacı dosyalarının değiştirilmesi
  • BeagleBone Black üzerinde çekirdek sorunlarının hata ayıklanması

12. En İyi Uygulamalar ve Özet

  • Çekirdek kodlama stili
  • Bakımı kolay sürücülerin yazılması
  • Sık karşılaşılan geliştirme tuzakları
  • Çekirdek belgeleme kaynakları
  • Açık kaynak katkı iş akışı
  • Anahtar kavramların gözden geçirilmesi
  • Soru ve cevap
  • Linux çekirdek geliştirme için bir sonraki adımlar

Kurs İçin Gerekli Önbilgiler

GNU/Linux sistemi kullanımına ilişkin temel bilgik

 14 Saatler

Katılımcı Sayısı


Katılımcı başına fiyat

Danışanlarımızın Yorumları (2)

Yaklaşan Etkinlikler

İlgili Kategoriler