接下来把一些调用的函数写完整,编写好程序后用arm-linux-gcc编译驱动模块;然后对其动态加载,或静态将其编译到Linux内核;加载完程序后,就可以编写应用程序进行读/写等操作了。
4.2 MinilGUI的移植
在嵌入式开发环境中,独立的显示操作人机界面是非常必要的。它可以使嵌入式系统对PC系统的依赖性降到最低,可以直接操作嵌入式系统并显示运行结果。MultiBus-CPU模块采用标准的USB键盘、USB鼠标、VGA显示器作为人机交互界面,使用习惯类同于PC机,简易了开发者的开发过程,并且用户的使用过程也变得简单、快捷、易于操作。
MiniGUI是遵循GPL条款发布的自由软件,其目标是为基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。与QT/Em-bedded、MicoroWindows等其他GUI相比,MiniGUI的最显著特点就是轻型、占用资源少。据称MiniGUI能够在CPU主频为30 MHz、仅有4 MB RAM的系统上正常运行,这是其他多种GUI所无法达到的。
MiniGUI在AT91RlM9200上的移植包括4个步骤:
①构建Linux交叉编译环境。通常使用的交叉编译工具是arm-Linux-gcc2.95.3版本。下载此交叉编译工具后在Linux内安装好,并且在PATH中添加/usr/loeal/arm-Linux/bin路径,交叉编译环境就构建好了。
②交叉编译MiniGUI,这是最关键的一步。首先从网上下载MiniGUI源程序包(包括库文件和资源文件),以及其他支持图形界面的源程序包;然后用上一步安装好的交叉编译工具对其进行编译,编译时可指定编译后库文件及资源文件的安装位置。
③拷贝MiniGUI资源到开发板。将第2步编译好的库文件及资源文件拷贝到开发板上。拷贝之前先用arm-Linux-strip命令清除文件中的调试信息,这样就使文件体积大大缩小,可以满足嵌入式系统的需要。
④板载Linux的MiniGUI环境配置。将第2步安装好的MiniGUI配置文件MiniGUI.cfg下载到板子中,并将其中fbcon的defaultmode设置为合适的显示模式。
结语
本文基于嵌入式技术设计了一种MultiBus—CPU模块,能够满足各种嵌入式开发环境的设计要求。该模块软硬件均采用模块化设计,采用国外广泛应用的ModBus通信协议,可满足工业现场的测控需要。