Donanım soyutlama katmanı (HAL), standart bir arayüze sahip olmalıdır. HAL, donanıma düşük seviyeli, cihaza özgü özellikleri, bu uygulamaları etkilemeden ya da Üst seviye katmanlarda kodu değiştirme.
Zorunlu şartlar
Aşağıda, dokümanlar:
- Android Arayüz Tanımlama Dili (AIDL)
- Arayüzleri bağımsız bir şekilde tanımlamak için kullanılan Java benzeri bir dil kullanılan programlama dilidir. AIDL ile HAL müşterileri ve HAL hizmetleri.
- Bağlanmış HAL
- Diğer süreçlerle iletişim kuran bir HAL kullanarak bağlayıcı işlemler arası iletişim (IPC) çağrısının en iyi yoludur. Binder HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Binder HAL'ler, müşterilerin bir hizmet yöneticisine kayıtlı olduğundan erişim sağlamalarına yardımcı olur. Android 8 ve sonraki sürümler için yazılan HAL'ler: bağlayıcı hale getirilmiştir.
- 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 (örneğin, ekleyebilirsiniz. Burada listelenen tüm gerekli HAL'leri uyumluluk matrisi, tedarikçi firma bölümünüzde hedeflediğiniz sürüm için Uyumluluk matrisleri hakkında daha fazla bilgi için Uyumluluk matrisi.
Ayrıca, yeni bir HAL arayüzü oluşturabilir veya bir HAL'nin arayüzünü, donanımınızın benzersiz özelliklerini destekler.
- Donanım Arayüzü Tanımlama Dili (HIDL)
Bu dilden bağımsız bir şekilde, arayüzleri tanımlamak için kullanılan kullanılan programlama dilidir. HIDL, projeyle ilgili bilgiler arasında HAL müşterileri ve HAL hizmetleri.
- Aynı Süreç (SP) HAL'si
Kısıtlanmış bir sarmalanmış HAL grubu. Gruptaki üyelik şunun tarafından kontrol edilir: Google'a dokunun. 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şturulan ancak Android 8 ve sonraki sürümlerle çalışmak için AIDL veya HIDL sarmalayıcı.
Sırada ne var?
- Bir HAL hizmetinin nasıl uygulanacağını öğrenmek için HAL'ler için AIDL.
- Mevcut bir HAL'yi nasıl oluşturacağınızı veya genişleteceğinizi öğrenmek için - Eklenen genişletilmiş arayüzler.