Windows平台上嵌入式Linux软件集成开发系统及其构建方法 【技术领域】
本发明涉及软件集成开发技术领域,尤其涉及Windows平台上嵌入式Linux软件的集成开发技术。
背景技术
随着3G网络的逐渐商用化及相关服务的普及,互联网产业也正在进入其发展的下一个重要阶段:移动互联时代。移动互联网消费电子类产品开始进入全面商用,移动互联网消费电子类产品均是基于嵌入式系统的智能产品,其更新变化越来越快,面临着强烈的市场需求以及日益错综复杂的设计挑战,对开发时间要求比较紧,要求快速开发、生产和上市。
因此,开发一套先进的、功能强大的,同时又使用方便,界面友好的嵌入式软件集成开发系统就显得至关重要。现有的嵌入式Linux软件开发主要使用开源(GNU)工具链,工作环境都是在Linux平台上采用命令行方式开发,这种开发方式使得初学者或不熟悉Linux平台的软件人员很难掌握相关的技术,不利于嵌入式Linux软件快速开发和推广应用。
【发明内容】
本发明要解决的技术问题是使用现有的嵌入式Linux软件开发系统进行开发的难度较大,初学者或不熟悉Linux平台的软件开发人员很难掌握嵌入式Linux软件的开发。本发明提供的在微软Windows系列操作系统平台上嵌入式Linux软件集成开发系统及其构建方法,使程序员可以无需学习Linux平台的操作,即可快速加入到嵌入式Linux软件的开发队伍中。
为了解决上述技术问题,本发明提供了一种Windows平台上嵌入式Linux软件集成开发系统,包括:含Windows操作系统的计算机、图形用户界面模块、后台模块、仿真模块、编译器和调试器,使得用户能够基于windows的良好界面环境仿真开发嵌入式Linux软件;其中,后台模块,采用Linux虚拟环境工具,用于生成Linux虚拟环境;编译器,是将开源编译工具gcc移植到所述Linux虚拟环境下生成的,用于支持基于不同微处理器体系结构的源程序编译;调试器,是将开源调试工具gdb移植到所述Linux虚拟环境下生成的,用于支持基于不同微处理器体系结构的编译程序调试;仿真模块,是将Linux平台上的图形系统移植到所述Linux虚拟环境下生成的,使得用户能够在Windows平台上仿真运行基于Linux界面的各种嵌入式Linux软件;图形用户界面模块,用于提供图形用户界面接口来调用所述编译器、调试器和仿真模块。
优选的,图形用户界面模块还具有工程管理的功能,包括创建操作系统核心工程、系统库工程、应用程序工程和文件系统工程等工程文件;所述工程文件,用于存放基本的嵌入式Linux软件的工程及编译信息,包括工程名、路径、编译器、包含的文件、源码目录、Makefile位置、配置文件位置和软件版本号等信息。
优选的,图形用户界面模块还具有文本编辑功能,包括文件打开、创建、修改、保存等文件操作,提供基于c语言语义的色彩显示,提供文本拷贝、剪切、粘贴等操作。
优选的,该系统还包括批量生产模块,用于Windows平台上实现最终程序的打包及批量灌制,包括设备序列号的生成及灌制、MAC地址等的生成及灌制、引导程序的灌制和所有其它程序的灌制等功能;图形用户界面模块,还用于提供图形用户界面接口来调用所述批量生产模块。
优选的,该系统还包括附加工具模块,包括:目标板烧写工具、目标板通信工具、目标板下载工具和嵌入式系统状态分析工具;其中,目标板烧写工具,用于将程序映像通过jtag接口烧写到目标板;目标板通信工具,用于下传命令到目标板,实现对目标板的控制;目标板下载工具,通过网络、usb和串口下载程序到目标板的固化存储器或内存并启动运行;嵌入式系统状态分析工具,用于跟踪jtag接口获取嵌入式Linux系统的运行状态,分析嵌入式Linux系统出错原因等;图形用户界面模块,还用于提供图形用户界面接口来调用所述附加工具模块。
本发明还提供了一种Windows平台上嵌入式Linux软件集成开发系统的构建方法,其特征在于,包含如下步骤:在含Windows操作系统的计算机上安装Linux虚拟环境工具,生成Linux虚拟环境;将开源编译工具gcc移植到所述Linux虚拟环境下运行,生成编译器,使得编译器能支持基于不同微处理器体系结构的源程序编译;将开源调试工具gdb移植到所述Linux虚拟环境下运行,生成调试器,使得调试器能支持基于不同微处理器体系结构的编译程序调试;将Linux平台上的图形系统移植到所述Linux虚拟环境中,生成仿真模块,使得用户能够在Windows平台上仿真运行基于Linux界面的各种嵌入式Linux软件;使用编程工具制作图形用户界面模块,使得图形用户界面模块能提供图形用户界面接口来调用所述编译器、调试器和仿真模块。
优选的,该构建方法,还包含如下步骤:使用编程工具为图形用户界面模块增加工程管理功能,包括创建操作系统核心工程、系统库工程、应用程序工程和文件系统工程等工程文件;所述工程文件,用于存放基本的嵌入式Linux软件的工程及编译信息,包括工程名、路径、编译器、包含的文件、源码目录、Makefile位置、配置文件位置和软件版本号等信息。
优选的,该构建方法,还包含如下步骤:使用编程工具为图形用户界面模块增加文本编辑功能,包括文件打开、创建、修改、保存等文件操作,基于c语言语义的色彩显示,文本拷贝、剪切、粘贴等操作。
优选地,该构建方法,还包含如下步骤:使用编程工具制作批量生产模块,用于Windows平台上实现最终程序的打包及批量灌制,包括设备序列号的生成及灌制、MAC地址等的生成及灌制、引导程序的灌制和所有其它程序的灌制等功能;使用编程工具增加图形用户界面模块的功能,使得图形用户界面模块能提供图形用户界面接口来调用所述批量生产模块。
优选的,该构建方法,还包含如下步骤:使用编程工具制作附加工具模块,包括:目标板烧写工具、目标板通信工具、目标板下载工具和嵌入式系统状态分析工具;其中,目标板烧写工具,用于将程序映像通过jtag接口烧写到目标板;目标板通信工具,用于下传命令到目标板,实现对目标板的控制;目标板下载工具,通过网络、usb和串口下载程序到目标板的固化存储器或内存并启动运行;嵌入式系统状态分析工具,用于跟踪jtag接口获取嵌入式Linux系统的运行状态,分析嵌入式Linux系统出错原因等;使用编程工具增加图形用户界面模块的功能,使得图形用户界面模块能提供图形用户界面接口来调用所述附加工具模块。
本发明方法构建的嵌入式Linux软件集成开发系统的用户界面良好,原有Linux平台上的各种常用调试工具,如:代码分析工具、执行状态分析工具、telnet、ftp、flash烧写工具等都集成到该开发系统中,封装成图形用户界面,形成一套完整的开发工具环境;可以大大降低嵌入式Linux软件的开发难度,为设计人员提供了一种方便易学易用、灵活高效的嵌入式Linux软件的集成开发环境;可以大大简化研发及生产流程,缩短人员培训时间,快速开发软件,有效管理项目,快速生产产品,追踪成品,从而实现生产和管理成本的降低,使产品更具竞争优势。
【附图说明】
图1本发明Windows平台上嵌入式Linux软件集成开发系统的一个较佳实施例的组成示意图。
【具体实施方式】
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图1所示,本发明Windows平台上嵌入式Linux软件集成开发系统的一个较佳实施例,该系统包括:后台模块,仿真模块,编译器,调试器,批量生产模块,附加工具模块,图形用户界面模块和含Windows操作系统的计算机。
后台模块,采用Linux虚拟环境工具--cygwin软件(当然也可以采用其他Linux虚拟环境工具),该软件提供了Windows平台上的一个UNIX/Linux环境,可以帮助程序开发人员把UNIX/Linux软件从UNIX/Linux平台移植到Windows平台,是一个功能强大的工具集。因此,cygwin软件环境能在Windows平台上实现嵌入式Linux软件的运行。
仿真模块,主要用于仿真运行及调试基于Linux界面的嵌入式Linux软件。windows平台上使用cygwin软件等Linux虚拟环境工具时,程序运行具备基本系统支持,但缺乏图形用户界面(GUI),通过将Linux平台上的图形系统移植到Windows平台上的cygwin软件环境中运行,即可以实现基于Linux界面的各种嵌入式Linux软件能够在Windows平台上仿真运行,运行效果与在Linux平台上相同。
编译器,将开源的gcc编译工具,借助cygwin等软件,移植到Windows平台上运行,并为其封装基于Windows平台的图形用户界面,将编译器及make命令信息输出到输出窗口,可以通过输出窗口实现错误代码的定位等;使编译器能支持基于不同微处理器(arm、mips、x86)体系结构的编译。移植gcc的过程包括:glibc的配置及编译、gcc的配置及编译、g++的配置及编译等。
调试器,将开源的gdb调试工具,借助cygwin等软件,移植到Windows平台上运行,并为其封装基于Windows平台的图形用户界面,实现基本的信息显示,代码跟踪,断点设置等功能;使调试器支持基于arm、mips、x86体系结构的调试。移植gdb的过程包含:gdb的配置及编译、gdbserver的配置及编译等。具体来说,开源gdb调试工具是基于命令行方式的Linux平台上的调试工具集,使用起来不方便且不宜掌握;通过采用传统gdb调试协议,将gdb原有的一些功能进行移植,封装并且创建图形用户界面,实现了基于Windows平台的图形用户界面的代码行调试工具,用户可以通过调试代理或jtag(即Joint TestAction Group,联合测试行动小组,是一种国际标准测试协议)连接方式控制目标板上的嵌入式Linux软件的运行及停止,调试信息通过网络或jtag线传到计算机并动态显示在图形用户界面中,使得用户能够直观的掌握程序运行信息,对程序进行调试。
批量生产模块,让用户在Windows平台上即可实现嵌入式Linux软件的最终程序的打包及批量灌制,包括:与ERP系统互连、设备序列号的生成及灌制、MAC地址等的生成及灌制、引导程序的灌制、所有其它程序的灌制。
附加工具模块,包括:目标板烧写工具、目标板通信工具、目标板下载工具和嵌入式系统状态分析工具。
目标板烧写工具,用于将程序映像通过jtag接口烧写到目标板;目标板通信工具,用于下传命令到目标板,实现对目标板的控制;目标板下载工具,通过网络、usb和串口下载程序到目标板的固化存储器(硬盘、flash等)或内存并启动运行。嵌入式系统状态分析工具,用于跟踪jtag接口获取嵌入式Linux系统的运行状态,分析嵌入式Linux系统出错原因等。通过利用处理器提供的jtag接口,分析工具可以获取嵌入式系统的地址映射、内存分配、进程运行、栈空间、处理器状态、中断处理过程等信息;对这些信息进行综合分析,用户可以得到嵌入式系统当前运行到的代码行、局部及全局变量值、函数调用层次、内存泄漏及越界情况等综合信息,这些信息对于软件开发人员分析系统状态及查找出错原因有非常大的帮助。在嵌入式系统的开发过程中,软件开发人员经常需要了解嵌入式系统的运行状况,分析嵌入式系统运行出错原因等。
图形用户界面模块,包括一个工程管理窗口、多个文本编辑窗口、多个输出窗口以及一个可隐藏的命令行窗口,用于调用仿真模块、编译器、调试器、批量生产模块和附加工具模块,为他们提供图形用户界面接口。
工程管理窗口,提供管理操作系统核心工程、系统库工程、应用程序工程和文件系统工程等四类工程文件的功能,工程文件用于存放基本的嵌入式Linux软件的工程及编译信息,包括源码目录、Makefile位置、配置文件位置、软件版本号等;在文本编辑窗口,提供程序代码的编辑功能,包括文件打开、创建、修改、保存等文件操作,基于c语言语义的色彩显示,文本拷贝、剪切、粘贴等文本操作;输出窗口,显示编译、调试等的输出信息;在可隐藏的命令行窗口,实现和目标板交互,解析宿主机命令并传给目标板。
本发明Windows平台上嵌入式Linux软件集成开发系统的构建方法的一个较佳实施例,该方法具体包括如下各步骤:
在含Windows 2000操作系统的计算机上安装Linux虚拟环境工具--cygwin软件(当然也可以采用其他Linux虚拟环境工具),该软件提供了Windows 2000操作系统下的嵌入式Linux软件的运行环境;
使用Microsoft Visual Studio C++工具制作图形用户界面模块,该模块用于调用仿真模块、编译器、调试器、批量生产模块和附加工具模块,为他们提供图形用户界面接口;该模块包括:工程管理窗口、文本编辑窗口、多个输出窗口和一个可隐藏的命令行窗口,将所有这些窗口集成在一个应用程序中,称为图形用户界面程序WLinuxIDE。具体功能是:在工程管理窗口,可以选择不同工程,显示工程所包含的文件;在文本编辑窗口,可以实现程序代码的编辑;在输出窗口,显示编译、调试等的输出信息;在可隐藏的命令行窗口,实现和目标板交互,解析宿主机命令并传给目标板。
将GNU gcc 4.2.0、make等开源工具移植到cygwin软件环境中,生成windows平台上的编译器,并且通过修改make工具将编译过程和WLinuxIDE结合,实现错误代码的报错、定位和修改等功能,编译器的所有功能集成在WLinuxIDE中。
将GNU gdb等开源工具移植到cygwin软件环境中,生成windows平台上的调试器,并且通过修改gdb工具,将调试过程和WLinuxIDE结合起来,实现代码的运行、跟踪、显示信息等功能,调试器的所有功能集成在WLinuxIDE中。
将Linux平台上的图形系统移植到Windows平台上的cygwin软件环境中,生成windows平台上的仿真模块,并将仿真过程和WLinuxIDE结合起来,使得基于Linux界面的各种嵌入式Linux软件能够在Windows平台上仿真运行、调试、查看运行效果,仿真模块的所有功能集成在WLinuxIDE中。
使用Microsoft Visual Studio C++工具制作一个批量生产模块,实现最终程序的打包及批量灌制,并且和WLinuxIDE结合起来,批量生产模块的所有功能集成在WLinuxIDE中。生产功能借助脚本语言实现,可完全避免生产工人由于知识不足造成的生产错误。该生产工具同样可以满足研发人员的灌制程序需求。
使用Microsoft Visual Studio C++工具制作一系列附加工具模块,包括:目标板烧写工具、目标板通信工具、目标板下载工具和嵌入式系统状态分析工具,并且将这些工具和WLinuxIDE结合起来,这些工具的所有功能集成在WLinuxIDE中。
总之,以上各模块的所有功能最终都集成到图形用户界面程序WLinuxIDE中,让用户可以在一个统一的界面下实现嵌入式Linux软件的编写、调试、运行、生产等全套过程,避免用户由于不熟悉Linux平台而花费过多时间学习Linux平台的操作,提高了研发和生产的效率。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。