位置:51电子网 » 技术资料 » 嵌入式系统

Linux开发环境的建立

发布时间:2008/8/25 0:00:00 访问次数:462


  传统的嵌入式开发环境需要单片机的仿真器,包括c语言、汇编语言、调试工具等的集成开发环境ide、实时操作系统等。仿真器恐怕要上万元,c编译器或ide也要几万元,而实时操作系统则要上十万元乃至几十万元。由于flash技术的发展,特别是一些cpu可以用jtag口在背景模式bdm(background debug mode)下调试,故仿真器已可以省去。随着bdm调试工具的标准化,bdm调试工具会变得越来越简单、越来越通用,一些bdm调试工具已经简单到仅仅在pc机并行口和单片机的jtag接口之间加一道5~3.3 v的缓冲,自制bdm调试工具变得越来越容易。软件方面,linux下的自由软件gnu gcc可以完成几乎所有知名cpu以及dsp的交叉c编译和调试,故ide可以省去。至于操作系统,uclinux、rtlinux、μc/os等源码开放的、免费的嵌入式操作系统也都性能稳定可靠。因此,全部使用自由软件开发嵌入式应用无疑是一种不错的选择。我们在32位mcu coldfire上实现了上述全部开发过程。这一过程原则上也适合其它几乎所有的32位嵌入式应用系统的开发。作为范例,我们会将详细的开发步骤在本刊的《学习园地》栏目中陆续刊登若干篇文章介绍给读者,供嵌入式应用开发工程师们学习参考

  1 提倡使用自由软件开发嵌入式系统

  自由软件有强大的网上技术支持是公认的,不断升级的新版本的推出表明了自由软件强大的生命力。然而,使用自由软件有一定的难度,首先要熟悉linux的使用,学会看linux下的帮助信息。然后是学会遇到问题如何解决。向高手请教是解决问题的办法之一。在清华大学,校园网中的bbs是研究生交流的极好方式。还有一个方法是在网上搜索,因为您遇到的问题其他人以前或许也遇到过,解决办法可能网上就有。再有一个办法就是直接给作者发电子邮件。自由软件有源码、大多都有作者的email 地址。我们体会使用linux下的gnu gcc 等软件的难点主要在使用环境的建立上,一旦使用环境建立起来了,仅仅是使用并不难。在国外,这部分工作有专门的系统管理员为你做好,而国内这部分工作往往要自己做,故增加了linux系统的使用难度。以gnu gcc 为例,根据我们的研究生的经验,建立并熟悉使用的过程大约需要2个月的时间。而熟悉一个买来的商业软件也需要2周乃至1个月的时间。也就是说,买商业软件可以节省1个月的时间。

  使用自由软件开发嵌入式应用的意义决不仅限于经济上节省开支。学习使用linux下自由软件的过程,实际上是培养it高手的过程。提倡使用自由软件将造就一大批有共同语言的精英。自由软件的推广使用已经迫使一些传统的商业软件降低了售价。前面提到若买商业软件可以节省1个工程师1个月的时间,那么软件的价格显然应该小于1个工程师的月收入。由于劳动力成本的差异,商业软件在不同国家的价值也是不同的。实际上,软件的成本很大一部分是在技术支持与服务上。技术支持本地化无疑会降低这一成本。软件使用方法的培训,包括自由软件使用方法的培训,社会上有不少收费的培训班,既然能存在,就说明是合理的,且价格也能被用户接受。可以看出,自由软件也是衡量商业软件价值的一把尺子。

  2 linux开发环境的建立

  一个人用linux开发嵌入式应用,可以在自己的pc机上装一套linux,例如,red hat linux。可以使用linux中的x windows(xterm)开若干个窗口用于编译、下载、调试等;可以使用linux中的emacs作文本编译。windows 中有的软件在linux 中几乎都有。但由于多数人对linux环境和linux中的应用程序不熟悉,宁愿用pc上基于windows的操作系统,此时可以在windows环境下装上cygwin软件。gnu中的cygwin是在windows下运行linux的自由软件。但我们发现,cygwin的兼容性似乎不太好,在有的pc机上能装得上,有的pc机上装不上。cygwin的安装过程要两三个小时,有时装到一半出现错误很不好处理。据说vmware的windows版本也可以在windows环境下开出linux的窗口,但vmware不是自由软件。

  我们采用的办法是用1台pc机运行linux作为服务器。开发小组中每个成员都可以通过局域网用telnet登录到这台linux服务器上去,被开发的目标板也挂在网上。在服务器的linux环境下,用gnu gcc编译生成目标代码,再用ftp传回到自己的pc机上,然后通过串行口或网络下载到目标机上。bdm工具主要用于硬件调试。因为bdm工具的支持软件也是linux下的自由软件,故bdm工具只能接在linux服务器的并口上。硬件调试完成后,可以把debug程序写入flash,然后就不需要bdm工具了。
检验开发环境是否建立好了得有1块目标板。在开发环境建立起来之前,冒然设计自己的硬件,难度较大。可以用商家提供的评估板作为目标板先把开发环境建立起来。可以通过用gnu gcc 编译uclinux 然后下载到目标板上运行的办法来熟悉linux下 gnu gcc的开发环境,检验开发环境是否已建立好。如果是购买第3方的硬件,则要特别小心。有些恶劣厂商的产品的确可以运行uclinux,但其是在软件或硬件中做了些陷阱,使用户只能用他的硬


  传统的嵌入式开发环境需要单片机的仿真器,包括c语言、汇编语言、调试工具等的集成开发环境ide、实时操作系统等。仿真器恐怕要上万元,c编译器或ide也要几万元,而实时操作系统则要上十万元乃至几十万元。由于flash技术的发展,特别是一些cpu可以用jtag口在背景模式bdm(background debug mode)下调试,故仿真器已可以省去。随着bdm调试工具的标准化,bdm调试工具会变得越来越简单、越来越通用,一些bdm调试工具已经简单到仅仅在pc机并行口和单片机的jtag接口之间加一道5~3.3 v的缓冲,自制bdm调试工具变得越来越容易。软件方面,linux下的自由软件gnu gcc可以完成几乎所有知名cpu以及dsp的交叉c编译和调试,故ide可以省去。至于操作系统,uclinux、rtlinux、μc/os等源码开放的、免费的嵌入式操作系统也都性能稳定可靠。因此,全部使用自由软件开发嵌入式应用无疑是一种不错的选择。我们在32位mcu coldfire上实现了上述全部开发过程。这一过程原则上也适合其它几乎所有的32位嵌入式应用系统的开发。作为范例,我们会将详细的开发步骤在本刊的《学习园地》栏目中陆续刊登若干篇文章介绍给读者,供嵌入式应用开发工程师们学习参考

  1 提倡使用自由软件开发嵌入式系统

  自由软件有强大的网上技术支持是公认的,不断升级的新版本的推出表明了自由软件强大的生命力。然而,使用自由软件有一定的难度,首先要熟悉linux的使用,学会看linux下的帮助信息。然后是学会遇到问题如何解决。向高手请教是解决问题的办法之一。在清华大学,校园网中的bbs是研究生交流的极好方式。还有一个方法是在网上搜索,因为您遇到的问题其他人以前或许也遇到过,解决办法可能网上就有。再有一个办法就是直接给作者发电子邮件。自由软件有源码、大多都有作者的email 地址。我们体会使用linux下的gnu gcc 等软件的难点主要在使用环境的建立上,一旦使用环境建立起来了,仅仅是使用并不难。在国外,这部分工作有专门的系统管理员为你做好,而国内这部分工作往往要自己做,故增加了linux系统的使用难度。以gnu gcc 为例,根据我们的研究生的经验,建立并熟悉使用的过程大约需要2个月的时间。而熟悉一个买来的商业软件也需要2周乃至1个月的时间。也就是说,买商业软件可以节省1个月的时间。

  使用自由软件开发嵌入式应用的意义决不仅限于经济上节省开支。学习使用linux下自由软件的过程,实际上是培养it高手的过程。提倡使用自由软件将造就一大批有共同语言的精英。自由软件的推广使用已经迫使一些传统的商业软件降低了售价。前面提到若买商业软件可以节省1个工程师1个月的时间,那么软件的价格显然应该小于1个工程师的月收入。由于劳动力成本的差异,商业软件在不同国家的价值也是不同的。实际上,软件的成本很大一部分是在技术支持与服务上。技术支持本地化无疑会降低这一成本。软件使用方法的培训,包括自由软件使用方法的培训,社会上有不少收费的培训班,既然能存在,就说明是合理的,且价格也能被用户接受。可以看出,自由软件也是衡量商业软件价值的一把尺子。

  2 linux开发环境的建立

  一个人用linux开发嵌入式应用,可以在自己的pc机上装一套linux,例如,red hat linux。可以使用linux中的x windows(xterm)开若干个窗口用于编译、下载、调试等;可以使用linux中的emacs作文本编译。windows 中有的软件在linux 中几乎都有。但由于多数人对linux环境和linux中的应用程序不熟悉,宁愿用pc上基于windows的操作系统,此时可以在windows环境下装上cygwin软件。gnu中的cygwin是在windows下运行linux的自由软件。但我们发现,cygwin的兼容性似乎不太好,在有的pc机上能装得上,有的pc机上装不上。cygwin的安装过程要两三个小时,有时装到一半出现错误很不好处理。据说vmware的windows版本也可以在windows环境下开出linux的窗口,但vmware不是自由软件。

  我们采用的办法是用1台pc机运行linux作为服务器。开发小组中每个成员都可以通过局域网用telnet登录到这台linux服务器上去,被开发的目标板也挂在网上。在服务器的linux环境下,用gnu gcc编译生成目标代码,再用ftp传回到自己的pc机上,然后通过串行口或网络下载到目标机上。bdm工具主要用于硬件调试。因为bdm工具的支持软件也是linux下的自由软件,故bdm工具只能接在linux服务器的并口上。硬件调试完成后,可以把debug程序写入flash,然后就不需要bdm工具了。
检验开发环境是否建立好了得有1块目标板。在开发环境建立起来之前,冒然设计自己的硬件,难度较大。可以用商家提供的评估板作为目标板先把开发环境建立起来。可以通过用gnu gcc 编译uclinux 然后下载到目标板上运行的办法来熟悉linux下 gnu gcc的开发环境,检验开发环境是否已建立好。如果是购买第3方的硬件,则要特别小心。有些恶劣厂商的产品的确可以运行uclinux,但其是在软件或硬件中做了些陷阱,使用户只能用他的硬

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!