Car entertainment system architecture based on Android system

introduction

The automotive electronics industry has huge market potential as car owners expect some of the applications they use on their phones to run directly on their private cars. But at the same time, it also faces many challenges. In-vehicle electronics manufacturers need to meet the requirements of different car models, and even different models of the same brand often need different customization. Today's car owners want to be able to install or remove applications as they would with a smartphone. To port the software used on the phone to the in-vehicle electronic system, developers must face the daunt of having to run a third-party application in an isolated environment to prevent interference with other in-vehicle functional modules. And threats that may cause the owner to leak information. At the same time, third-party applications must be effectively integrated with other in-vehicle systems to provide a more user-friendly experience for users. Finally, third-party software developers must develop a common platform for the common features of in-vehicle systems to facilitate porting by different car manufacturers, and to enable the same application to be seamlessly used on different brands of cars.

This article is an innovative extension to Google's Android system application, which isolates third-party applications and gives trusted third-party applications access to the automotive functional software layer, enhancing security against car security.

1 Background knowledge

People intuitively feel that the consumer electronics inside the car seems to provide functions similar to those of smart phones, PDAs, and MP3s, but because they are inevitably in contact with other functional modules of the car, car entertainment electronics are more expensive than other consumer electronics. complex. Under normal circumstances, most of the application software on the car is solidified by the manufacturer at the time of automobile production. They are generally scrapped with the scrapping of the car, so the life cycle is generally 5 to 10 times that of the mobile phone or MP3. This requires in-vehicle electronics design companies to support long-term upgrades to their factory-installed applications. However, due to the rapid replacement of electronic products, software upgrades alone have greatly increased costs.

Last year, the GENIVI Alliance held a conference with a number of auto giants, chip design giants, and software development companies to discuss how to establish a standard open development platform for in-vehicle electronic products. GENIVI proposes to develop a scalable architecture that may be applied to the next generation of automotive electronics. It needs to work in the following areas:

1 By adding seamless software patches and plug-ins from the open source community and professional software development alliances, it is possible to add more content and features, and always consider the security and reliability of the system.

2 Increase the personal enjoyment of the owners and passengers, and try to make it more cost-effective, and strive to reduce equipment costs.

GENIVI's software architecture leverages Intel's Moblin platform as a framework to meet specific automotive needs and usage by adding or removing components. Support for user-defined installation applications is being discussed, and many of the platforms available for negotiation are under negotiation, and Google's Android system is one of them.

It should be emphasized that the automotive electronic hardware devices (network-specific devices on the CAN bus) currently supported by GENIVI and Moblin are currently not implemented on Android. However, due to Android's strong support for open source, allowing users to install and uninstall terminal programs, Moblin has not yet licensed these features.

2 Google Android

At the end of 2007, at the Open Handset Alliance Conference hosted by Google, a completely free and open mobile phone platform was born, with the goal of extending to a wider range of hardware devices. The basic feature of Google Android is its openness. Free SDK source developers can easily download it. Google's appeal and Android's open source quickly prompted the formation of the developer community.

Android is a development platform primarily for mobile devices that includes a system kernel, middle-tier and underlying drivers, and some bundled applications. The entire project is licensed under the Apache License Version 2, so mobile operators, software companies, and any developer can add or remove features. According to the 2.0 sample protocol, sharing applications is possible even if it is not a content provider. The platform allows some secondary developers to add new features or applications to their needs, so it's easy to develop rich end-to-end applications.

2.1 Structure Overview

The Android system architecture consists of five parts: the Linux kernel, library functions, Android runtime, application framework, and applications.

At the bottom of the linear architecture is the Linux kernel, which is basically the Linux 2.6.27 version. The Linux kernel is used to update patches for Android. The kernel is responsible for managing system service programs and driver modules, memory management, and task scheduling. The root file system uses rootfs, while the data and files use YAFFS, which is a file system designed specifically for NAND and NOR memory.

The application framework and Android runtime tense mainly through the C/C++ library, which includes standard C libraries, multimedia libraries, graphical interface libraries, browsers, font libraries, and databases.

The Android running state includes the core library and the Java Dalvik virtual machine. Dalvik is a virtual machine that allows multiple processes to run on a limited amount of memory. Each program runs in a separate Linux process.

The application framework consists of many classes, interfaces, and packages. Its purpose is to provide a simple, continuous way to manage graphical user interfaces, access resource memory, receive notifications, or handle incoming calls. The main components are visual systems, acTIvity class management, shared management, resource management, Notification management, telephone management.

2.2 Security

Android internal process communication and security mainly refers to ensuring the stability of the system as much as possible when installing third-party applications. The underlying licensing mechanism is provided by the Linux kernel and file system, and basically satisfies other systems based on the Linux kernel. Since the Android device is for a single user, the multi-user service device can be applied by assigning a unique identifier.

In addition, Android is a static security licensing system that is enforced when the program is installed.

2.3 Interprocess communication

Android has two models for interprocess communication: intent and code binding. The intent class framework provides upper-level interprocess communication, which is the best way to dynamically exploit the SDK package for development and bind to the upper application. The intent class contains several fields that describe the caller's true intent. The caller sends the intent to the Android intent parser. The And-roid system will select the acTIvity that best suits the intent from all applications via the intent filter. class. The intent field contains the expected processing methods, classes, and data characters, MIME types of the data.

The intent can be used to trigger acTIviTIes, send data to the broadcast and start the corresponding service. Security restrictions are mainly achieved through the permission framework class provided by the Android system.

Each program runs in its own process, but the developer can write a service to run in a different process, and some objects are allowed to pass between processes. On the Android platform, a process usually cannot access other process memory. Therefore, if two processes communicate with each other, they need to decompose their objects into basic types that the operating system can recognize, and control the objects through the boundaries of the process. The AIDL tool with SDK automatically generates control code segments, and AIDL is an interface description language used to generate communication code between two processes. The AIDL IPC mechanism uses a proxy class to pass parameters on both the client and the implementation side.

We are manufacture of cleaning robot in Shenzhen, China, providing Window Cleaning Robot, floor cleaning robot, mopping cleaning robot, smart pillow, Cordless Floor Cleaner. OEM Robot are available. We also can provide neutral robot and customization robot. If you need some robot with the special function, voice, design or others, we can all negotiate it.

Alternative range: window cleaning robot(WS600,WS800), floor cleaning robot(FS500, FS700, FS801, FS900), Auto Floor Cleaner(S80), smart pillow, Service robot, Solar panel cleaning robot.

OEM Robot

OEM Robot,Window Cleaning Robot OEM,Auto Vacuum Cleaning Robot,OEM Machine Robot

Zhengzhou Bangmi Smart Technology Co., Ltd. , https://www.cleanwindow-robot.com

Posted on