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

Donanım soyutlama katmanı (HAL), donanım tedarikçilerinin uygulaması için 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 ve 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. Binder 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 süreç.
HAL arayüzü
HAL istemcisinin ve hizmetinin iletişim kurmak için kullandığı ortak arayüz.
HAL hizmeti

Donanıma özgü kod (ör. cihazınızın kamerasına gönderilen kod). Tedarikçi bölümünüzde hedeflediğiniz sürümün 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

Kısıtlanmış bir dizi sarmalanmış HAL grubu. Gruptaki üyelik Google tarafından kontrol edilir. SP HAL'leri şunları içerir:

  • Kararlı C mapper 5 HAL
  • OpenGL
  • Vulkan Dili
  • 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?