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 kodları etkilemeden veya değiştirmeden daha düşük düzeyde, cihaza özgü özellikleri uygulamasına olanak tanır.

Zorunlu şartlar

Belgelerin bu bölümünde kullanılan terimlerin tanımları aşağıda 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 ve HAL hizmetleri arasında iletişime olanak tanır.
Bağlanmış HAL
Bağlayıcı işlemler arası iletişim (IPC) çağrıları kullanarak diğer süreçlerle iletişim kuran bir HAL. Binder HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Binder 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ıdı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 edinmek için Uyumluluk matrisleri bölümüne bakın.

Ayrıca, 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)

Kullanılan programlama dilinden bağımsız olarak arayüzleri tanımlamak için kullanılan dil. HIDL, HAL istemcileri ve HAL hizmetleri arasında iletişim kurulmasını sağlar.

Aynı Süreç (SP) HAL'si

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

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

Android 8'den önce oluşturulmuş ancak Android 8 ve sonraki sürümlerle çalışmak üzere bir AIDL veya HIDL sarmalayıcı içine yerleştirilmiş bir HAL hizmeti.

Sırada ne var?