Android系统移植与驱动开发
Android架构有四层,分别有linux内核,c/c++代码库,SDK APL和应用程序,内核中又有驱动、内存管理、进程管理等。Android移植又分为应用和系统移植。应用移植是把程序移植到硬件平台上。系统移植是把系统移植到硬件平台上。搭建开发环境可以有三种方式:搭建windows下的开发环境,搭建linux下的开发环境,搭建NDK下的开发环境。Linux版本号分为主版本号、次版本号、修订版本号、微调版本号、为待定的linux系统特别调校的描述。Linux设备驱动中,驱动是直接去和硬件交互的一类程序,是负责对硬件区进行抽象。所有的linux驱动都要有一个装载函数,用来驱动是调用,还有一个卸载函数,在卸载驱动时调用。其中装载函数通过module_init指定,卸载函数则通过module_exit来指定。设备驱动程序的主要工作就是编写子函数,并填充file_operations的各个域。驱动程序是应用程序和实际设备之间的一个软件层。为用户提供访问设备的机制,而不是提供策略。不带策略的驱动程序典型特征包括:同时支持同步和异步操作,驱动程序能被多次打开。总之linux驱动只与linux内核有关。还需要更加深刻地去了解驱动的整个过程。