第一章
第一章 Andiord系统移植与驱动开发概述
一 Andiord的系统架构
第一层 Linux内核:主要包括驱动开发及管理内存进程 电源等资源的程序;
第二层 C/C++代码库:主要包括Linux的.so文件以及嵌入式到APK程序中的NDK代码;
第三层 Andiord SDK API:直接面向程序的JAVA APK;
第四层 应用程序:直接面向用户的JAVA应用程序;
二 Andiord系统移植的主要工作
Andiord的系统移植可分为两部分:应用移植和系统移植
应用移植是将Andiord的应用程序移植到某个特殊的硬件平台上,一般不涉及驱动和HAL程序库;
系统移植是指让Andiord操作系统在某一个特定的硬件平台上运行,包括移植CPU以及驱动,HAL等;
注:Andiord不像其他的Linux系统的其他程序一样直接访问驱动,而是中间隔了一层HAL;
三 查看Linux的内核版本
目前Linux内核主要维护2个版本:Linux2.4 Linux2.6 Linux3.x
查看内核版本的方法
1 在liunx终端执行下面命令: uname-a
2 在linux终端执行下面命令: cat /proc /version
其中 /proc 不是普通的系统文件,而是系统内核的影像,该目录的文件存放在系统的内存之中,它以文件系统的方式访问系统内核数据的操作提供接口。
四 Linux内核版本号的定义
Linux内核版本号由以下几部分组成: 主版本号 次版本号 修订版本号 微调版本号 为特定的Linux系统特别调校的描述
五 如何学习Linux驱动开发
准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动,
准备一块开发板
学习GNUC
学习相关的硬件知识
不断地实践 六 Linux驱动设备
驱动是直接和硬件交互的一类程序,负责对硬件进行抽象。
驱动针对的对象是存储器和外设,而不是针对CPU
Linux将存储器和外设分为3大类:
字符设备(Character Devices):必须以串行顺序依次访问的设备
块设备(Block Devices):任意顺序进行访问
网络设备(Network Devices):没有明显的界限
http://www.cnblogs.com/jsljt/