please like & Subscribe our youtube channel
https://www.youtube.com/playlist?list=PLQzJncZC8PUwCTcniu_akzp0N0oDx7l1n
HAL Architecture
A hardware abstraction layer (HAL) is a logical division that provides communication between a computer's physical hardware and its software. It provides a device driver interface allowing a program to communicate with the hardware.
The HAL, or Hardware Abstraction Layer, provides the application developer with a set of standard functions that can be used to access hardware functions without a detailed understanding of how the hardware works.
Low-Level android architecture
Hardware Abstraction Layer |
Application Layer
This Layer has all application including system and third party application. Application Layer provides User interface to the user that interact directly to the user for example contact, messaging, calling etc.Application Framework
Android framework provides API to provide android libraries to user applications. The application may be system applications or third party applications.JNI (java native Interface)
JNI provide core code for android libraries or android API.Native Libraries
Native libraries provide the interface to system API. These files are written in c/c++ code.IPC (Inter Process Communication)
IPC provide Communication between different processes.Services
Services are bang round process which provides the interface between API. There are two types of services, system service and media service. System service includes Window and notification services and media service includes Media player and Media Recording.HAL (Hardware Abstraction Layer)
HAL provide communication between hardware with software. It provides Interface with your hardware and drives.Kernel
Linux processes any task with providing resources with adding hardware and software. It is the link of hardware and software.Drivers
This layer provides all drivers which are necessary for android device. Android drivers communicate between hardware and Linux kernel. Drivers recognize the hardware and perform talk with software or we can say that it perform exactly what we want with hardware, for example, suppose we want to extend out device memory for this task we will need flash memory driver which recognize external memory then process to software.ROM Audio Architecture
Android is Linux at heart, it uses modified Linux Kernel optimized to battery and memory. It's not just advanced in terms of features, but also the best sounding.
We had been running Linux PC as our Audiophile system for a year now, and it simply beats every other OS ever built when it comes to bit-perfect audio.
It provides AudioFlinger interface to applications that interact with Libaudio (HAL), hiding the unnecessary details.
ROM Audio Architecture |
Application Layer
The application layer of audio architecture includes media player application and media recording application.Application framework Layer
Android framework layer includes android.media library which accesses JNI.JNI
JNI access by Application framework layer and it contain java core code. It is located in framework/base/core/JNI and framework/base/media/JNI folder.Native Libraries
Native libraries contain c/c++ core libraries which communicate with android.media API. It is located in framework/av/media/libmedia.IPC (Inter-process Communication)
IPC provides communication between different processes. It is also located in framework/av/media/libmedia.Media Service
Media service providers interface with HAL. It is located in framework/av/services/audio flinger.HAL
HAL provide the interface with audio hardware component with audio HAL. It is located in device/vendor/product/audio.Kernal
The Main work of Kernel is that executes the process and provide the interface with the driver with native code.Driver
Driver layer contains audio drivers.ROM Bluetooth Architecture
Android support Bluetooth and wifi which provide communication between deferent devices. Bluetooth sends text, audio and video files between two devices and wifi provide internet data connectivity.
The Android platform includes support for the Bluetooth network stack, which allows connecting a device to wirelessly exchange data with other Bluetooth devices. The application framework provides access to the Bluetooth functionality through the Android Bluetooth APIs. These APIs wirelessly connect to other Bluetooth devices, capable point-to-point, and multipoint wireless features.
ROM Bluetooth Architecture |
No comments:
Post a Comment