Andriod系统移植与驱动开发概述

Andriod是一个非常优秀的嵌入式操作系统,他的系统架构分成4层,第一层是liunx内核,由于Andriod是基于liunx内核的,因此,ABDRIOd和其他linux系统的核心部分差异非常小。这一层主要包括liunx的驱动程序一级内存管理,进程管理,电源管理等程序Andriod使用liunx2.6座位其内核。第二层是C/C++代码库,这一层把整个阳台vaiju是固体不过C/C++编写的代码库。第三层是Andriod SDK API,由于Abdriod SDKAPI是用JAVA语言编写的,因此这一层也可称为JAVA API层。第四层是应用程序,这一层是所有的Andriod用户都要接触到的,因此这一层相当于Andriod的UI。所有的Andriod应用程序,电话,短信,Andriod的桌面,浏览器一级各种游戏都属于这一层,而这一层主要依靠第三层中的Andriod SDK API来完成各种功能。对于学习linux驱动做的事情有五件,第一件事准备一个自己熟悉的liunx的操作系统,用于开发和测试liunx驱动,建议使用Ubintu Liunx10.04以上的版本。第二是准备用一块开发板,第三是,学习GNU C,第四是学习相关的硬件知识,第五是不断地实践。LED驱动的代码涉及了很多系统的函数和结构体,如readl,writel,printk等,我们目前并不需要了解这些函数和结构体的作用和使用方法。只要知道任何的Liunx驱动都有一个装载函数和一个卸载函数即可。

原文地址:https://www.cnblogs.com/qian0101/p/5455248.html