【摘要】:随着信息技术的不断发展,嵌入式系统早已广泛应用于工业和家庭的各个领域。其复杂性也骤然不断降低,嵌入式操作系统成为了嵌入式系统中最重要的组成部份之一。在嵌入式操作系统中,Linux操作系统得到了越来越多的关注,Linux系统开源、具有精简的内核以及优异的性能。另外,Linux2.6包含许多新的特点linux软件,为其在嵌入式领域的应用提供了更多更好的支持,嵌入式Linux系统将会有巨大的市场价值以及应用前景。本文基于北京某电力公司手动抄表系统,对负荷控制管理终端平台进行了Linux系统移植以及对LCD等外围设备的驱动开发。本系统的CPU采用ATMEL公司的以ARM926926T为内核的AT91SAM9260EK处理器。采用了基于2.6内核版本的嵌入式ARMLinux,最终完成基于ARM9的嵌入式Linux系统移植开发。具体包括搭建开发平台,构建嵌入式交叉编译环境;在剖析嵌入式系统引导加载程序BootLoader的基础上,结合本目标板更改Uboot源码并进行Uboot的编译和移植;通过剖析嵌入式Linux系统的内核结构和启动流程,实现了针对本目标板的内核源码更改、编译以及移植;同时根据应用需求,选择YAFFS2文件系统作为根文件系统,并给出根文件系统实现的过程;最后开发终端外围设备相应的驱动程序,重点围绕LCD(UC16981698U)展开,改进原先直接读写GPIO口的驱动形式,采取直接读写GPIO和帧缓冲相结合的方法开发新的驱动程序。帧缓冲是一块显示缓存linux系统驱动开发linux环境变量,通过向该缓存中写入数据,显示控制器都会手动的从中读取数据并显示下来,在LCD设备上基于Qt的图形用户界面的开发也须要帧缓冲技术的支持。但对于本类型的LCD,显示控制器并不能手动完成缓冲区数据读取,本文从软件的角度利用内核定时器最终完成缓冲区更新并实时显示linux系统驱动开发,最后开发基于Qt/Embedded的用户图形测试界面。