Android系统移植与驱动开发概述
Android系统是一个很常见的嵌入式系统,最开始应用在手机中,后来发展到应用在现在电视、电脑中,与人们的生活息息相关。
Android系统架构分四个层次,第一层是Linux内核,主要包括Linux的驱动程序以及内存管理、进程管理、电源管理等程序;第二层是C/C++代码库,当然必不可少的包含了用C/C++程序设计语言编写的代码库以及Dalivk虚拟机的运行时;第三层是Android SDK API,也称Java API层,这一层的主要任务是用Java语言编写各种Library;第四层是应用程序,即Android的UI,Android的所有应用程序都放在这一层,并且主要依靠第三层来完成各种功能。
Android的移植分为两部分,一个是应用移植,一个是系统移植。应用移植是将应用程序移植到一个特定硬件平台,并且不同的平台对应的Android SDK API也有差异;系统移植是让Android操作系统在某一个特定硬件平台运行,并且该操作系统必须支持硬件平台的CPU架构。此外,Android系统还增加了一个硬件抽象层,用HAL表示。Android移植的主要工作是移植Linux驱动和移植HAL。
查看Linux版本可以输入unname -a或者cat /proc/version命令执行。
学习linux驱动开发需要准备操作系统,如Ubuntu Linux,ARM11开发板,学习GUN C,学习相关硬件知识和不断的实践。
浙公网安备 33010602011771号