Android platform migration should do two steps

The purpose of the Android system porting work is to run the Android system on specific hardware. In the process of transplantation, it is an important aspect to grasp the key points and reduce the workload. From a work perspective, the usual approach is to first familiarize yourself with the hardware abstraction layer interface, and secondly integrate and reuse existing drivers. The main workload is in the hardware abstraction layer implementation. In order to better understand and debug the system, you should also properly understand the upper layer's call to the hardware abstraction layer.
The main work of porting has two parts:
Linux driver
Android system hardware abstraction layer
The driver in Linux works in kernel space, and the hardware abstraction layer of Android system works in user space. With the combination of these two parts, the huge Android system can run on a specific hardware platform.
The main work of Android porting is shown in Figure 1.

This article refers to the address: http://

C6aec885d85ef73c.jpg

Figure 1 The main work of Android porting After having a specific hardware system, it is usually necessary to implement its drivers in Linux. These drivers are usually the standard drivers for Linux. The Android platform is basically the same as other Linux platforms. The main implementation aspect is the Hardware Abstract Layer in the Android system. The hardware abstraction layer calls the driver in Linux and provides the interface for other parts of the Android system (usually the Android local framework layer). transfer.
Hint: The interface of the Android hardware abstraction layer is the interface of the local porting layer. It is not a standard API and does not have forward or backward compatibility.
The content that needs to be ported in the Android system mainly includes the following parts:
Display section (Display)
Including framebuffer driver + Gralloc module (optional or not)
User input section (Input)
Including Event driver + EventHub (Android standard content)
Multimedia codec (Codec)
Includes hardware Codec driver + Codec plugin (eg OpenMax)
3D Accelerator section (3D Accelerator)
Including hardware OpenGL driver + OpenGL plugin audio part (Audio)
Including Audio Driver + Audio Hardware Abstraction Layer Video Output Part (Video Out)
Includes video display driver + Overlay hardware abstraction layer camera section (Camera)
Including Camera driver (usually v4l2) + Camera hardware abstraction layer phone part (Phone)
Modem Driver + RIL Library Global Positioning System Part (GPS)
Including GPS driver (usually serial port) + GPS hardware abstraction layer wireless LAN part (WIFI)
Includes Wlan driver and protocol + WIFI adaptation layer (Android standard content)
Bluetooth part (Blue Tooth)
Adaptation layer including BT driver and protocol + BT (Android standard content)
Sensor section (Sensor)
Includes Sensor Driver + Sensor Hardware Abstract Layer Vibrator Part (Vibrator)
Includes Vibrator driver + Vibrator hardware abstraction layer (Android standard content)
Backlight section (Light)
Includes Light Driver + Light Hardware Abstraction Layer Alerter section (Alarm)
Includes Alarm Driver and RTC System + User Space Call (Android Standard Content)
Battery section (Battery)
Hardware abstraction layer including battery part drive + battery (Android standard content)
There are many components in Android, but not every component needs to be ported. For some purely soft components, there is no need for porting. For some components, such as the browser engine, although the support of the underlying network is required, it is not directly ported to the network interface, but the standard network interface is completed through the wireless LAN or telephone system data connection.
Android porting can be divided into several types: basic graphical user interface (GUI) part, including display part and user input part; and hardware-related acceleration part, including media codec and OpenGL; audio and video input and output links, including audio, Video output and camera section; connection part, including wireless LAN, Bluetooth, GPS; telephone part; accessory parts: including sensor, backlight, vibrator, etc.
In addition to the above porting aspects, power management is also a very important aspect, it has a relationship with the various subsystems of Android.
Android system mainly needs to transplant components as shown in Figure 2.

F2d6c8de73193ca8.jpg

Figure 2 Android system mainly needs to transplant components For most subsystems, hardware abstraction layer and driver need to be implemented according to the actual system, such as: sensor part, audio part, video part, camera part, telephone part. There are also some subsystems, the hardware abstraction layer is standard, only need to implement the driver in the Linux kernel, such as: input part, vibrator part, wireless LAN part, Bluetooth part and so on. For systems with a standard hardware abstraction layer, there are usually some configuration tasks that need to be done.
Today, with the development of the Android system, it is not only a platform for mobile devices, but also for consumer electronics and smart home appliances, such as netbooks, e-books, digital TVs, set-top boxes, and fixed-line phones. On these platforms, it is often desirable to implement fewer components than mobile devices. In general, the basic user interface part (including display and user input) needs to be ported, and other parts are optional. For example, telephone systems, vibrators, backlights, sensors, etc. generally do not need to be implemented in non-mobile device systems; GPS systems are typically not required for some fixed location devices.

Multi-Port HUB

Multi-Port Hub,20 Port Charger,Usb Charger Station,20 Port Usb Hub

shenzhen ns-idae technology co.,ltd , https://www.szbestchargers.com

Posted on