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

Donanım soyutlama katmanı (HAL), donanım satıcılarının uygulayabileceği standart bir arayüze sahip bir soyutlama katmanı türüdür. HAL, donanım tedarikçilerinin daha üst düzey katmanlardaki kodu etkilemeden veya değiştirmeden daha alt düzeyde, cihaza özgü özellikleri uygulamasını sağlar.

Zorunlu terimler

Belgenin bu bölümünde kullanılan terimlerin tanımlarını aşağıda bulabilirsiniz:

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.
Bağlayıcı HAL
Bağlayıcı işlemler arası iletişim (IPC) çağrılarını kullanarak diğer işlemlerle iletişim kuran bir HAL. Bağlayıcılı HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Bağlayıcı HAL'ler, istemcilerin ö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ıya bağlanı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. belirli cihazınızın kamerasıyla iletişim kuran kod). Tedarikçi firma 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 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 bir dil. HIDL, HAL istemcileri ile HAL hizmetleri arasında iletişimi sağlar.

Aynı İşlem (SP) HAL

Sınırlı sayıda sarmalanmış HAL. Grup üyeliği 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şturulmuş ancak Android 8 ve sonraki sürümlerle çalışabilmesi için bir AIDL veya HIDL sarmalayıcısına yerleştirilmiş bir HAL hizmeti.

Sırada ne var?