Android是基于Linux的操作系统,底层是Linux内核层(Linux2.6, Linux3.4等),android使用了Linux操作系统的内核和驱动,其中驱动部分除了Linux的设备驱动,android还增加了专用驱动(例如Binder实现进程间通信)。学习驱动之前,必须先了解linux内核,然后针对其运行方式进行探究。
Android系统移植是在某一个特定的平台上运行特定的Android操作系统,因此需要特定的linux驱动促使linux内核支持Android识别不同的硬件平台。
Linux驱动开发之前必须拥有真正的操作系统并且搭建linux驱动的开发环境,并在该系统下测试linux驱动。为了更好的测试linux驱动,可以在支持Android的开发板上测试驱动程序是否可以正确地运行。然后,不断地练习,无数次的实践会对驱动开发有更大的经验帮助。
驱动针对的对象是存储器和外设,包括CPU内部集成的存储器和外设,主要分为:字符设备、块设备、网络设备。
举例,用c语言实现控制s3c6410开发板上的4个LED。它属于设备驱动,而且在LED驱动的代码中涉及了许多系统的函数与结构体。
时间: 2024-10-28 20:31:05