1OMAP5912开发板简介
OMAP5912处理器是由TI应用最为广泛的TMS320C55X DSP内核(192 MHz)与低功耗、增强型ARM926EJ-S微处理器(192 MHz)组成的双核应用处理器,采用O.13μm CMOS工艺制造。C55xDSP可提供对低功耗应用的实时多媒体处理的支持;ARM926EJ-S MPU可满足控制和接口方面的处理需要。基于双核结构的OMAP5912具有极强的运算能力和极低的功耗,采用开放式、易于开发的软件设施,支持广泛的操作系统。
2 图形用户界面MiniGUI简介
与几种主流嵌入式GUI相比,MiniGUI具有以下显著特点:占用资源少,高性能,高可靠性,可配置。MiniGUl采用分层设计,层次结构如图1所示。
在最底层,GAL和IAL提供底层图形接口以及鼠标和键盘的驱动;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是编程接口API。GAL和IAL为MiniGuI提供了底层的Linux控制台或者X Window上的图形接口以及输入接口,大大提高了MiniGUI的可移植性,并且使程序的开发和调试变得更加容易。
3 MiniGUI在OMAP5912开发板上的移植过程
3.1 构建Linux交叉编译环境
本实例中宿主机系统为RedHat 9 Linux,交叉编译工具为cross-2.95.3.tar.bz2,把工具解压缩到/usr/local/arm目录下,然后执行export PATH=/usr/local/arm/2.95.3/bin:MYMPATH;将安装好的库资源的路径添加到PATH中。这样,交叉编译环境就构建完成。后面所有的资源文件和库文件都应安装在/usr/local/arm/2.95.3/arm-linux目录。
3.2 交叉编译MiniGUI资源文件
提供程序调用所需的资源,如位图、光标、界面控制条等,编译方法较简单,只需在宿主机环境编译后即可在开发板上使用,解压minigui-res-1.3.3.tar.gz,进入目录执行make install命令,资源文件会安装到/usr/local/lib下minigui目录中。
3.3 交叉编译MiniGUI库函数,并进行配置安装
首先解压缩libminigui-1.3.3.tar.gz,进入Fra-meBuffer控制器配置文件libminigui-1.3.3/src/new-gal/fbcon,修改fbvideo.C中GAL_fbdev=”/dev/fb/O”,这是因为系统启动后,其/dev目录下实际存在的设备文件不是fb而是/fb/0。通常Frame-Buffer作为标准字符设备处理,主设备号为29,次设备号则从0~31,分别对应/dev/fb/0-/dev/fb/31的设备文件。修改完后进入解压后的目录,执行以下命令以完成对编译选项的配置:
CC是用来指定所使用的编译器;-target选项用来指定目标平台;-host选项用来指明宿主机的类型;-build选项与-arget一样为arm-linux;-en-able-lite选项用来指定生的模式。MiniGUI 1.3.3有Threads和Lite两种模式,本例中采用Lite模式;-prefix选项用来指定MiniGUI函数库的安装路径,本例中安装路径为/usr/local/arm/2.95.3/arm-linux。如果运行成功,就会生成定制的Makefile文件,然后可以继续执行make和make install命令编译并安装libminigui。
3.4.2 安装png库
这个库是用来显示png图形的,先解压libpng-1.0.10rcl.tar.gz文件,编译时,主目录下面没有配置文件,因此执行命令cp scripts/makefile.linux,将与开发系统体系结构一致的配置文件makefile.linux安装到主目录下面,然后还需要对makefile.linux文件进行修改:
其中:上述ZLIBLIB参数和ZLIBINC参数分别指定了库文件和头文件的路径。
3.4.3 安装jpeg库
这个库用来支持jpeg格式图片显示,编译过程与png库的编译过程类似:
3.4.4 安装libttf库
这个是TrueType字体的支持库,用来显示文字,解压freetype-1.3.1.tar.gz,进入目录,然后./con-figure会生成Makefile文件,因为没有安装Xlib testexample,后面编译通不过,屏蔽掉关于test的部分代码,打开Makefile文件,找到有“FTTESTDIR”字段的行注释掉,一共有7处。然后make编译库文件,在freetype-1.3.1/lib目录下,生成链接库文件:
至此libttf库安装完成。上述方法是通过自动配置完成安装,另外也可以通过手工配置完成安装:
参数O2表示完成编译过程的同时还要经过二级优化,不再加入符号表等调试信息,以使程序代码占用空间最小,同时执行的速度最快。
4 加入mde库支持
mde库是执行MiniGUI应用程序的归档压缩文件,其中包含被称为mginit的MiniGUI-Lite的服务器程序,安装的过程需要popt-1.7.tar.gz库支持,安装过程较为简单,和前面的库安装类似。
为了避免安装过程出现MINIGUI-LiteVerl.2.6 orLater的警告信息,必须对configure.in文件作出修改,添加下面的一行语句指定头文件和库文件的寻找路径:
同时对包含MiniGUI常用的宏以及数据类型定义的common.h文件路径进行修改,在参数AC_CHECK_HEADERS行中添加如下代码:
5 创建设备文件节点
在内核启动之前,应该保证MiniGUI运行于服务器模式,嵌入式系统上执行MiniGUI应用程序时,先由mginit调用vfork产生一个子进程,然后呼叫系统调用execl来启动,同时服务器程序还需要创建几个设备文件,在/dev目录下执行下面创建命令:
mknod ptysf c 2 63
mknod ttysf c 3 63
分别创建了主设备号是2、次设备号是63的设备文件ptysf以及主设备号是3、次设备号是63的设备文件ttysf。如果需要在系统启动时自动加载上述设备文件,可以在系统启动脚本文件rc.d中添加上述命令。至此移植阶段的工作完成。
6 下载程序到目标板并运行
通过以上的编译,在目标板上运行MiniGUI所需的库文件和应用程序已全部编译好,进入/usr/local/arm/2.95.3/arm-linux/,在etc,lib子目录下有需要拷贝到目标机上的资源。首先拷贝根文件目录到/opt/rootfs下,在根文件目录下新建和/usr/local/arm/2.95.3/arm-linux/下相同的目录结构,把/usr/local/arm/2.95.3/arm-linux/lib中相应的库拷到根文件系统的/usr/local/lib目录下去(无需拷贝libjpeg.a等静态库);拷贝MiniGUI资源文件,将usr/local/lib/目录下的minigui目录拷贝到根文件/opt/rootfs目录下;拷贝配置文件/usr/local/etc/MiniGUI.cfg,保持目录结构一致。修改根文件系统中的/etc/ld.SO.conf文件,在文件最后一行增加“/usr/local/lib”,然后执行命令ldconfig-r/opt/rootfs,将根文件目录设置为根目录,最后修改MiniGUI.cfg,使之适合目标板的硬件设置:将鼠标设备改为mdev=/dev/input/mouse0,鼠标协议类型改为mtype=IMPS2,其他的用默认方式即可。
至此,MiniGUI已经成功移植到了开发板上,图2为MiniGUI在开发板上启动后的画面。此后可以根据需要,继续修改MiniGUI库函数及各种资源,并且编写自己的应用程序,使开发板上的界面更加美观和完善。
7 结 语
介绍的MiniGUI移植过程已通过实验验证,并且大体的过程适合于其他型号的开发板和其他开源版本的MiniGUI。将图形用户界面引人嵌入式系统是嵌入式技术发展的必然趋势,可以肯定,随着MiniGUI的不断推广和功能的加强,它将在嵌入式系统设计中起着举足轻重的作用,并且在实际应用中不断走向成熟。
上一篇:基于OPenWrt的移动机器人系统设计
下一篇:初探WindowsCE异常和中断服务程序
推荐阅读最新更新时间:2024-11-01 22:41
设计资源 培训 开发板 精华推荐
- 带有 PTN5110 USB PD TCPC PHY 的 Type-C 适配器的典型应用
- LT3970HMS-5 3.3V 降压转换器的典型应用
- 基于树莓派单片机实现超低成本的双光纤网卡100BASE-FX(软硬件开源)
- AD9717-DPG2-EBZ,用于 AD9717 双通道、14 位、125 MSPS TxDAC 数模转换器的评估板
- K系列液压/气动阀门控制器系统
- 2019年电赛综合测试题
- PCB照片_附带生成脚本
- (已验证)ESP32音频及显示开发板
- MIKROE-3400,用于 AL1781 高亮度 LED 驱动器的 LED 驱动器 6 Click 板,设计用于可调谐智能连接照明 (SCL) 应用
- 1.8V DC 至 DC 单输出便携式电源
- 有奖直播:基于DLP® Pico™技术的TI桌面级DLP 3D打印、3D扫描及工业显示应用
- 遇见春天,“愚”你同乐 快来与keysight一起学习 光通信测试测量解决方案 下载赢好礼!
- 【专题】TI MSP430FR59xx——将低功耗设计进行到底!
- ADI有奖下载活动之13升级版ADI电机控制解决方案—伺服控制
- 有奖直播:是德科技100G/400G 光通信测试解决方案
- 提交WEBENCH设计,就能参与转盘抽奖!
- 大比拼!DIY数字湿度计
- 年末福利!2019 TI 工业应用精选课程汇总,抢楼赢好礼
- 好书共读 | 《控制之美(卷2)——最优化控制MPC与卡尔曼滤波器》
- 是德科技推出新的8通道示波器 点击获取报价