1, linux驱动一般分为3大类: * 字符设备* 块设备* 网络设备 2, 开发环境构建: * 交叉工具链构建* NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识* ARM硬件知识* 熟练使用万用表和示波器* 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。 * block/: 部分块设备驱动程序; * crypto: 常用加密和散列算法(如AES、SH