Donanım soyutlama katmanına (HAL) genel bakış

Donanım soyutlama katmanı (HAL), donanım satıcılarının uygulaması için standart bir arayüze sahip bir soyutlama katmanı türüdür. HAL, donanım satıcılarının daha üst düzey katmanlardaki kodu etkilemeden veya değiştirmeden daha düşük düzeyde, cihaza özel özellikler uygulamasına olanak tanır.

Gerekli terimler

Aşağıda, dokümanın bu bölümünde kullanılan terimlerin tanımlarının listesi verilmiştir:

Android Arayüz Tanımlama Dili (AIDL)
Arayüzleri, kullanılan programlama dilinden bağımsız bir şekilde tanımlamak için kullanılan Java benzeri bir dil. AIDL, HAL istemcileri ile HAL hizmetleri arasında iletişime olanak tanır.
Binderized HAL
Binder işlemler arası iletişim (IPC) çağrılarını kullanarak diğer işlemlerle iletişim kuran bir HAL. Binderized HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Binderized HAL'ler, müşterilerin özelliklerine erişebilmesi için bir hizmet yöneticisine kaydedilir. Android 8 ve sonraki sürümler için yazılan HAL'ler, bağlayıcılaştırılmıştır.
HAL istemcisi
HAL hizmetine erişen işlem.
HAL arayüzü
Hem HAL istemcisi hem de hizmeti tarafından iletişim kurmak için kullanılan ortak arayüz.
HAL hizmeti

Donanıma özgü kod (ör. cihazınızın kamerasıyla iletişim kuran kod). Tedarikçi bölümünüzde hedeflediğiniz sürüm için uyumluluk matrisinde listelenen tüm gerekli HAL'leri uygulamanız gerekir. Uyumluluk matrisleri hakkında daha fazla bilgi için Uyumluluk matrisleri başlıklı makaleyi inceleyin.

Donanımınızın benzersiz özelliklerini desteklemek için yeni bir HAL arayüzü oluşturabilir veya bir HAL'ın arayüzünü genişletebilirsiniz.

Donanım Arayüzü Tanımlama Dili (HIDL)

Arayüzleri, kullanılan programlama dilinden bağımsız bir şekilde tanımlamak için kullanılan dil. HIDL, HAL istemcileri ile HAL hizmetleri arasında iletişimi sağlar.

Aynı Süreç (SP) HAL

Sınırlı sayıda sarmalanmış HAL. Bu kümedeki üyelik Google tarafından kontrol edilir. SP HAL'leri şunları içerir:

  • Kararlı C mapper 5 HAL
  • OpenGL
  • Vulkan
  • android.hidl.memory@1.0 (Android sistemi tarafından sağlanır, her zaman sarmalanır)
  • android.hardware.renderscript@1.0
Sarmalanmış HAL

Android 8'den önce oluşturulan ancak Android 8 ve sonraki sürümlerle çalışmak için AIDL veya HIDL sarmalayıcısıyla sarmalanmış bir HAL hizmeti.

Sırada ne var?

  • Bir HAL hizmetinin nasıl uygulanacağını öğrenmek için HAL'ler için AIDL başlıklı makaleyi inceleyin.
  • Mevcut bir HAL'yi nasıl oluşturacağınızı veya genişleteceğinizi öğrenmek için Ekli genişletilmiş arayüzler başlıklı makaleyi inceleyin.