以基于ARM9核心的S3C2410微处理器与CAN总线控制器MCP2515为例,讨论了嵌入式Linux操作系统下的设备驱动程序开发。在构建好硬件系统的基础上,详细介绍了基于嵌入式Linux2.6内核下的CAN总线驱动程序的开发过程,并结合CAN总线分析测试仪,给出分析测试结果。
Linux设备驱动程序是内核的一部分,它工作在内核态,设备驱动程序必须向Linux核心或者其他所在的子系统提供一个标准的接口[5]。大多数设备驱动程序可以在需要的时候以核心模块方式加载,在不需要的时候卸载,同时Linux设备驱动程序有几个固定的功能模块,诸如Linux内核注册设备时的初始化模块,用于系统卸载模块时删除设备驱动程序的模块等。
实时可靠性是嵌入式应用较为普遍的要求,相比Linux2.4内核,Linux 2.6 已经在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进[6]:采用可抢占内核、更加有效的调度算法以及同步性的提高。同时,Linux 2.6 内核的移植更加方便,新增了对许多新的体系结构和处理器类型的支持,而且可以支持大容量内存模型、微控制器,还改善了I/O子系统,增添了更多的多媒体应用功能等。
嵌入式Linux下CAN总线驱动程序设计 PDF版下载地址:
用户名与密码都是www.linuxidc.com
具体下载目录在 /2011年资料/嵌入式Linux/嵌入式Linux下CAN总线驱动程序设计 PDF/