For a specific hardware, developed a system, the system is based on computer systems, cutting, suitable for the current hardware.
A simplified computer system developed for the purpose of a device.
Android is also an embedded system.
System migration is to migrate one system to another hardware platform, first, the operating system supports the hardware CPU architecture, Linux supports most arm,x86 and so on CPU, the second is the identification of hardware, writing hardware drivers.
Android Linux has changed, and is accessed through the HAL layer driver, not directly access the driver ... Drive and then access the hardware.
The application is capable of manipulating the hardware, but this can be troublesome by adding the driver through the abstraction of the interface concept. Reducing the coupling degree of hardware and program is the necessity of software development, which is the concept of layering.
Important concept, abstract interface, lower level implementation interface. The implementation can simply replace the driver, meaning that the application does not have to modify the code, the program's calling code is the same before and after. In other words, the program manipulates hardware (the code that the program calls to manipulate the hardware is the same.) )
such as printers, printing ... The application is called. Print. , printing internal operating hardware Implementation details, can be inconsistent, can be arbitrarily changed, but the upper call is consistent.
Linux is open,close,write,read through the file system. Access hardware.
IOCTL is a function that manages the I/O channel of a device in a device driver