一种arm-linux平台下嵌入式图形用户界面的方法

文档序号:9810260阅读:2937来源:国知局
一种arm-linux平台下嵌入式图形用户界面的方法
【技术领域】
[0001]一种ARM-LINUX平台下嵌入式图形用户界面的方法主要涉及计算机嵌入式开发领域。
【背景技术】
[0002]是基于ARM芯片以Linux为实时操作系统的图形用户界面的移植于开发,通过对内核的剪裁与移植来满足嵌入式系统的需求,通过对图形用户接口的裁剪与移植来满足用户的需求。
[0003]从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业的90%的Pc产业,80%采用Inter的8x86体系结构,芯片基本上出I会Inter, AMD, Cyrix等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,Mierosotl的Windows及Word占80.90%,凭借操作系统还可以搭配其它应用程序。因此当代的通用计算机工业的基础被认为是Wintel (Microsoft和Intel 90年代初建立的联盟)垄断的工业。
[0004]嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模高技术公司的创新余地很大。另夕卜,社会上的各个应用领域是在不断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。
[0005]基于Linuxgl作系统的嵌入式开发,由于Linux是开放源代码的,操作系统的一切对用户来说都是透明的;另一方面其模块化的设计,为用户提供了极大限度的可缩放功能。高端嵌入式系统要求许多高级功能,如图形用户界面和网络支持。
[0006]基于ARM.Linux操作系统的图形用户界面的移植与开发,而智能手机是新一代的移动通讯产品,它具有高容量、高质量、宽带、智能、多媒体等特点,功能强大,集成度高,能够提供电子商务、电子政务以及多媒体娱乐等应用。
[0007]

【发明内容】

通过国家专利检索没有发现关于此系统方面的申请资料。
[0008]本发明首先是建立嵌入式Linux交叉开发环境。目前,常用的交叉开发环境主要有开放和商业两种类型。开放的交叉开发环境的典型代表是GNU-T-具链,目前已经能够支持x86、ARM、IvffPS、PowerPC等多种处理器。商业的交叉开发环境主要有MetrowerksCodeffarr1r> ARM Software Development Toolkit、SDS Cross compiler、Wind RiverTornado、Microsofl Embedded Visual C++等。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。
[0009]第二步,交叉编译和链接。在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。由于开发过程大多是在Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、Dragon Ball等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。
[0010]例如,在基于ARM体系结构的gcc交叉开发环境中,a彻.linux.gee是交叉编译器,am.1inux-1d是交叉链接器。通常情况下,并不是每一种体系结构的嵌入式微处理器都只对应于一种交叉编译器和交叉链接器。如对于M68K体系结构自{39ce交叉开发环境而言,就对应于多种不同的编译器和链接器。如果使用的是COFF格式的可执行文件,那么在编译Linux内核时,需要使用m68k-eoff-gec和m68k.eoff-ld,而在编译应用程序时则需要使用m68k-eoff-pic.gee和m6$k_coff-pic.1d。编写好的嵌入式软件经过交叉编译和交叉链接后,通常会生成两种类型的可执行文件:用于调试的可执行文件和用于固化的可执行文件。
[0011]第三步,交叉调试。
[0012](I)硬件调试。如果不采用在线仿真器,可以让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。目前,Motorola公司提供的开发板上使用的是DBM调试端口,而ARM公司提供的开发板上使用的则是JTAG调试端口。使用合适的软件工具与这些调试端口进行连接,可以获得与ICE类似的调试效果。
[0013](2)软件调试。在嵌入式Linux系统中,Linux系统内核调试,可以先在Linux内核中设置一个调试桩(debug stub),用作调试过程中和宿主机之间的通信服务器。然后,可以在宿主机中通过调试器的串口与调试桩进行通信,并通过调试器控制目标机上Linux内核的运行。
[0014]嵌入式上层应用软件的调试可以使用本地调试和远程调试两种方法。如果采用的是本地调试,首先要将所需的调试器移植到目标系统中,然后就可以直接在目标机上运行调试器来调试应用程序了 ;如果采用的是远程调试,则需要移植一个调试服务器到目标系统中,并通过它与宿主机上的调试器共同完成应用程序的调试。在嵌入式Linux系统的开发中,远程调试时目标机上使用的调试服务器通常是酣b server,而宿主机上使用的调试器则是gdb。两者相互配合共同完成调试过程。
[0015]第四步,系统测试。整个软件系统编译过程,嵌入式系统的硬件一般采用专门的测试仪器进行测试,而软件则需要有相关的测试技术和测试工具的支持。并要采用特定的测试策略。测试技术指的是软件测试的专门途径,以及能够更加有效地运用这些途径的特定方法。在嵌入式软件测试中,常常要在基于目标机的测试和基于宿主机的测试之间做出折衷。基于目标机的测试需要消耗较多的时间和经费,而基于宿主机的测试虽然代价较小,但毕竟是在仿真环境中进行的,因此难以完全反映软件运行时的实际情况。这两种环境下的测试可以发现不同的软件缺陷,关键是要对目标机环境和宿主机环境下的测试内容进行合理取舍。嵌入式软件测试中经常用到的测试工具主要有:内存分析工具、性能分析工具、覆盖分析工具、缺陷跟踪工具等。
[0016]以下即为一个典型开发工具的使用流程:
(1)写入或植入引导码;
(2)向串口打印字符串的编码;
(3)将gdb目标码移植工作串口,可与另一台运行gdb程序的Linux主机系统对话;
(4)利用gdb让硬件和软件初始化码在Linux内核启动时工作; 5)Linux内核启动,串口成为Linux控制口并可用于后续开发:
(6)如果在目标硬件上已运行了完整的Linux内核,即可调试用户的应用进程。
[0017]第五步,交叉编译MiniGL II并移植。
[0018]首先进行Mini⑶I〃i弱数库的编译和安装解开Iibminigu1-1.3.0.tar.gz软件包,进入该目录运行、,i编辑configure脚本,修改CC=armv41.ullknowl1-1inux一gee ο 运汗亍:./ configure__target=arm-l inux__prefix= / usr / local / arm——
linux / —buiId=arm-1inux—host-爿 686-pc—linux-gnu---disable-lite。这里需要指明的是CC用来指定所使用的编译器这里使用的armv41-unknown-linux-gcc —target选项用于指定目标平台这里使用armqinux—prefix选项用于指定M H益⑶I函数库的安装路径默认的安装路径是慨饥ocal,而在这里应该是所使用的交叉编译环境中系统头文件目录include和库目录Iib所在的目录,本例中就是/ usr / 1eaYarm.1inux / ,这样一来Mi II idUI的函数库和头文件也将被分别安装到交叉编译环境中的Hb和include目录中在后续进,行’Mini⑶I应用程序的交叉编译时就可以正确地找到Mini⑶I的头文件和函数库;.-build选项与啊target —样为arm_linux ;.-host选项用来指明宿主机的类型这里使用i686-pc.linux-gnu,即可最后一个选项一 disable-lite用来指定生成基于线程的Mini⑶1.Threads版本而不生成基于进程的MiniGLrl.Lite版本目前Mini⑶I函数库有两种版本Threads版本和Lite版本1.3.0版默认生成Threads版本。
[0019]如果运行./ configure脚本成功就会生成定制的Makefile文件然后可以继续执行make和makeinstall命令编译并安装IibminigIli在执行makeinstall操作时用户必须具用root权限安装成功后MiniGUI的函数库和头文件以及配置文件等资源将被安装到/ usr, aoeaUarmainux /目录中具体情况为函数库被装在lib /子目录中头文件被装在include /子目录中手册被装在man /子目录中配置文件被装在etc /子目录中。
[0020]下面进行Mini⑶I资源的编译安装解压miaigLl1-1-es-l.3.0.tar.gz进入相应目录这里需要说明的是在执行makeinstall操作之前需要对目录中的configure.1inux文件做一些修改打local / arm-1inurdarm一linux这样执行make
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1