ARM嵌入式工控机:PC/104总线驱动设计与Linux移植实践

需积分: 49 21 下载量 16 浏览量 更新于2024-08-07 收藏 5.38MB PDF 举报
本章节深入探讨了在软件构造系统中,如何检测和处理设备出现的错误,以及针对PC/104总线和ARM技术的应用。首先,系统软件设计的关键环节在于Linux系统移植,涉及从官网获取内核源码,配置、编译和加载到目标板。Linux内核的设备驱动程序扮演着操作系统和硬件之间的桥梁角色,它们负责设备初始化、数据传输、错误检测与处理等任务。 4.1节介绍了设备驱动的概念,强调其作为应用程序和硬件间接口的重要性,使得应用程序可以像操作普通文件一样处理硬件设备。驱动程序需要与内核、系统引导以及设备本身进行交互,通过file_operations数据结构、模块初始化和清理函数(如init_module和clear_module)管理硬件资源。 针对PC/104总线嵌入式系统的研究,湖南大学硕士研究生李臻君选择了ARM处理器作为核心,由于ARM不直接支持PC/104总线,通过CPLD实现了ARM本地总线与PC/104总线的转换。设计中,作者考察了工业控制计算机的发展趋势,比较了X86和ARM处理器的优缺点,着重于功耗和处理器能力的考量。 设计涵盖了硬件选型,如SAMSUNG S3C2410处理器和嵌入式Linux操作系统的选择。详细描述了硬件实现,包括最小系统、CAN网络、以太网和PC/104总线控制器的构建,其中PC/104总线控制器的实现是核心,通过对ARM本地总线和PC/104总线时序的理解,使用VHDL实现了控制器逻辑。 Linux操作系统移植成为关键步骤,包括配置、编译、下载和调试,同时编写了针对PC/104总线的驱动程序,映射物理地址到系统虚拟地址,处理中断,并提供了文件操作接口。此外,还开发了CAN总线驱动,阐述了驱动的初始化流程、数据缓冲区管理及与文件操作的集成,以及驱动的编译和下载过程。 最后,该研究根据实际的机车工业控制需求,实施了一个具体的系统,并对其性能进行了测试,包括运算能力、温度适应性和抗干扰性,结果表明系统满足设计要求。通过3个月的现场试运行,系统表现出良好的稳定性和功能性,验证了ARM处理器结合PC/104总线在工业控制领域的应用潜力。 关键词:嵌入式系统、ARM处理器、PC/104总线、CAN总线、系统移植、设备驱动、功耗优化。