[ 技术问答 ]
  11f-05nl网络变压...  [2011-12-15]
  请问:除了G++,...  [2011-12-10]
  EM9460 EM9160  [2011-12-5]
  EM9160 linux比w...  [2011-12-3]
  请问codeSourcer...  [2011-12-3]
  厦门哪里有嵌入式...  [2011-11-29]
  [ 产品中心 ]
  EM9160工控主板
  EM9161工控主板
  EM9260工控主板
  EM9360工控主板
  EM9460工控主板
  EX800工控机
  数据采集扩展单元
  数字IO扩展单元
  通讯扩展驱动单元
  LCD扩展单元

常见问题

首页 > 常见问题
1.  英利ARM9嵌入式系统的调试串口主要有哪些作用?  
2.  用什么工具开发EM9x60的嵌入式Linux应用程序  
3.  嵌入式开发常用问题汇总  
4.  Codesourcery评估版密码申请流程  
5.  为什么英利工控主板启动正常,开机以后却无法操作  
6.  Sourcery G++评估版(Windows版)密码申请过程中的常见问题  



Q: 英利ARM9嵌入式系统的调试串口主要有哪些作用?
A:

        嵌入式Linux系统内核中使用了一个调试串口来输出信息,用于显示嵌入式Linux系统启动时的相关信息。在嵌入式Linux应用开发中,该串口还有一个很重要的功能:作为一个可以交互式操作的终端来使用。英利ARM9嵌入式Linux主板EM9x60引出了专用的调试串口,由于该调试串口已被系统占用,所以应用程序不能使用该串口。

        调试串口通常与PC主机的串口相连,PC上可通过超级终端等工具程序来显示串口的输出信息以及对终端进行相应的命令操作。串口的通讯配置参数为:波特率为115200bps,8位数据位,无校验,1位停止位。 

        在PC机端利用串口显示监测信息的工具很多,在嵌入式Linux开发应用中,往往还需要作为一个终端来使用,为了方便输入字符的操作,建议直接利用Windows操作系统中提供的“超级终端”程序,运行“开始”->“程序”->“附件”->“通讯”->“超级终端”,建立一个基于串口通讯的连接。配置的方法请参见《英利Linux工控主板的使用必读(EM9x60)》中相关的介绍。

        调试串口和PC连接好后,ARM9工控板一上电启动,超级终端将显示很多系统启动的信息, 系统启动成功,将显示网络配置相关信息,并到终端提示符下。

        此时就可通过终端界面输入嵌入式Linux常用命令,对开发板进行操作,比如输入ls,用于列出当下目录下的所有文件。嵌入式Linux常用命令的介绍请参考《EM9x60 Linux环境简介》

        在应用程序开发中如果调用printf(…)函数显示一些运行的提示信息,该信息将被系统自动转到调试串口输出。在使用printf进行调试信息输出时,需要注意的是语句的结束处一定要加上换行符“\n”,否则程序将阻塞在应用程序该条语句中。


Q: 用什么工具开发EM9x60的嵌入式Linux应用程序
A:

        开发EM9x60的嵌入式Linux应用程序有多种软件平台和工具可选,如下所示:
        1、开发主机使用哪种操作系统(Windows或Linux)
        2、使用哪种工具进行开发(CodeSourcery或Linux下的一系列工具等)
        3、使用哪种工具让程序在EM9x60上运行测试(NFS文件系统挂载或者FTP下载、U盘复制等)

        英利公司经过大量的测试,为用户选取了其中最高效的一种方式: 

        用户在开发主机安装Windows操作系统,使用CodeSourcery集成开发工具编写和编译源码,使用nfsAxe软件挂载完成应用程序的复制和运行测试。

        对于大多数用户而言,对Windows的熟悉程度远远超过Linux,直接在Windows下进行嵌入式开发,省却了用户学习Linux需要花费的大量时间和精力,可以有效缩短开发周期。

        CodeSourcery是一款在Windows下开发Linux应用程序的集成开发工具,其开发环境、使用方式和Windows下常用的开发工具(如Visual Studio等)很相似,这样,通过参考市面上以及网络上全面翔实的介绍Windows下开发工具(如Visual Studio等)的资料,再结合英利为用户提供的相关文档资料,用户就可以迅速熟悉其使用方法。这一过程与学习Linux下的一系列开发工具(如Vi、Gcc、Gdb等)相比,不但时间短,而且效率高。

        应用程序开发完成以后要在EM9x60上进行运行测试,以不断完善,逐渐形成最终的客户软件。用户可以使用FTP或者U盘将程序下载到EM9x60中运行,但是最高效便捷的还是使用nfsAxe软件。这个软件可以把开发主机中用户指定的一个文件夹挂载到EM9x60的目录下,这样用户就可以在超级终端上直接操作该文件夹。

        对于熟悉Linux的用户而言,可以直接通过Linux进行嵌入式开发,CodeSourcery软件也提供了Linux版,用户可以在www.codesourcery.com上进行下载使用。
        注:如果用户在主机上使用Linux操作系统进行开发,由于Linux的开源和自由性,以及市面和互联网上已具备的丰富翔实的参考资料和各种Linux社区资源,英利公司不再对Linux环境下的开发过程进行技术支持,特此说明。

        CodeSourcery和nfsAxe都是收费软件,用户可以在正式购买之前进行评估试用。CodeSourcery的试用方法是通过网络申请一个评估版密码(具体参见《英利Linux工控主板的使用必读(EM9x60)》);nfsAxe软件安装好以后就可以使用,但是在购买正式版之前,每隔半个小时需分别重启nfsAxe软件和EM9x60,才能再次挂载。

        需说明的是,虽然CodeSourcery和nfsAxe是两款收费软件,但是具有以下三个好处:
        1、其评估试用版和正式版功能完全一样,用户可以试用以后再购买正式版。
        2、其购买价格在用户开发过程中所占的成本比重很小(CodeSourcery官方报价是399美元,nfsAxe官方报价是40美元),与使用的便捷高效相比,这一点花销是物超所值的。
        3、为了减少开发风险并降低用户的开发成本,英利公司专门制定了相关销售策略,用户在一定时间内购买达到一定数量以后,实际上英利公司已经为用户承担了软件费用。

        综上所述,英利向用户推荐的一系列软件开发平台和工具能够使用户将时间和精力最大限度地用于应用程序开发本身而非环境、工具的学习,从而大幅度地缩短开发周期、提高开发效率,加快客户产品的入市时间。


Q: 嵌入式开发常用问题汇总
A:

        1、进行嵌入式开发必须弄懂ARM汇编指令集吗?
        书店里有很多入门级的书籍,第一章不是介绍ARM指令集,就是介绍ARM的CPU资源,这给很多初学者一个很不好的直观感觉,就是学习ARM一定要把汇编语言和CPU资源搞明白。然而,这两个方面,没有实际的去做一下,只是纸上谈兵,怎么又搞得明白呢,于是,让很多初学者,知难而退。
        其实,选ARM很大的目的就是为了跑嵌入式操作系统,最常见的当然是嵌入式Linux和WinCE操作系统。嵌入式操作系统为开发人员提供了几乎完整的基于C语言的工作环境,所以基于这两个操作系统进行的开发,在大多数情况下都没有必要先去搞懂ARM的汇编指令集和全部的CPU资源。当然,有了一定的技术基础后,CPU资源也有必要去了解,但是,我们建议是在实践中去了解这些问题,而不是在开始的时候通过看所谓的入门书进行似是而非的学习。

        2、必须使用ADS吗?
        还是刚才所说的,好多入门书籍,为了说明ARM指令集中指令的使用方法便使用了ADS或者IAR开发环境,这样,就使得初入门的用户错误地理解为开发ARM就是用ADS开发环境。然而,根据不同的CPU,ADS设置是十分麻烦的,因为CPU是很复杂的,经常有用户就卡在这里,无法超越,时间长了,也就放弃了嵌入式开发了。
        其实,ADS只是调试启动代码的一种环境,而这样的代码,CPU厂家已经写好了,这些代码也可以在嵌入式Linux或者WinCE的开发环境中编译,所以,完全可以不考虑ADS 的使用。当然,如果你想在ARM上“裸奔”,则是另外一回事情了。

        3、如何选择操作系统?
        除了上面提到的嵌入式Linux和WinCE外,还有几十种嵌入式操作系统,只不过嵌入式Linux和WinCE是最常见和最通用的嵌入式操作系统,其它就比较侧重于专业领域。那么如何在这几十种操作系统中,选择适合自己的操作系统呢?
        第一:如果自己所选的CPU不支持MMU,那么如果需要操作系统的话,一般选择uC/OS-II操作系统,注意uC/OS-II不是免费的操作系统,尽管它的源码是公开的。
        第二:如果自己所选的CPU支持MMU,最好选嵌入式Linux或WinCE。在嵌入式Linux和WinCE之间的选择与很多因素有关,如工程师的技术背景、产品的应用领域、产品应用的内外部环境等等。嵌入式Linux是目前使用最广泛、支持硬件平台最多、技术资源最完备的嵌入式操作系统之一,已广泛应用在国防、工控、消费电子等很多领域,是进行嵌入式开发的首选操作系统。
        虽然进行嵌入式Linux应用开发的技术门槛较高,但英利工程师已经为用户选择好了最优的开发平台组合,并且提供了全面翔实的开发资料,基于此,用户进行其嵌入式Linux应用开发已经变得和Windows下开发应用程序一样的简单快捷。

        4、怎么选择开发语言?
        在嵌入式开发领域,首选是C语言,因为C是中级语言,即可以用来写应用程序,也能用来写驱动程序。据统计资料显示,使用C语言的嵌入式程序员占70%。其次是C++,其它语言只占了1%。

        5、嵌入式Linux应用程序的开发环境是什么?
        目前嵌入式Linux在大多数情况下仍然采用命令行方式,对开发者的技术水平要求较高。因此,英利公司建议用户使用如下方式进行开发:
        用户在开发主机安装Windows操作系统,使用CodeSourcery集成开发工具编写和编译源码,使用nfsAxe软件挂载完成应用程序的复制和运行测试。
        这一操作流程实际上已经最大限度地降低了开发门槛,让用户在Windows环境下即能迅速开发出嵌入式Linux应用程序。关于这一流程的详细介绍请参见《英利Linux工控主板使用必读(EM9x60)》

        6、嵌入式开发怎么实现在线调试?
        说到在线调试,做过单片机的工程师,第一想到的就是仿真机,那么,嵌入式操作系统怎么实现在线调试呢?对于调试嵌入式Linux和WinCE的应用程序,可以直接通过网线或者USB接口实现在线调试,效果可以达到使用单片机仿真机的效果,可以设置断点、可以看到寄存器值和变量值等实时调试信息。如果要调试嵌入式Linux或者WinCE的内核系统,就只有去购买价格不菲的仿真系统了。但是对于大多数工程师来说,能在C语言源码级进行调试就足以满足要求,实际上,更多的时候,是简单地在应用程序中插入printf语句,把需要查看的信息打印出来,就可完成应用程序的调试了,因为这样处理能保证系统都于实际真实的运行状态之中。


Q: Codesourcery评估版密码申请流程
A:

        Mentor收购Codesourcery以后,Sourcery G++评估版申请的页面和流程稍有改变,需要的客户可按照如下步骤进行申请。

        1、进入网页http://www.mentor.com/embedded-software/codesourcery(也可以输入老版网址http://www.codesourcery.com,系统会自动进行转换),选择 Support ,如下图所示。

 

        2、之后选择注册用户,如下图所示。

 

        3、填写注册信息并确认,如下图所示。

 

        4、打开注册用的邮箱,会收到系统发来的邮件,点击进入,如下图所示。

 

        5、点击右键中的连接完成注册,如下图所示。

 

        6、邮件中会收到第二封邮件,点击进入,如下图所示。

 

        7、在邮件中已经收到了系统分配的密码,此时还要完成30天免费使用的申请,点击下面的连接,如下图所示。

 

        8、在 Host System 中选择 IA32 Windows ,在 Target System 中选择 ARM GNU/Linux ,然后确定,如下图所示。

 

        9、直接确定,如下图所示。

 

        10、启动Sourcery G++软件,打开刚才收到的第二封邮件,用上面的用户名和密码登入,即可。


Q: 为什么英利工控主板启动正常,开机以后却无法操作
A:

        近来部分客户反映英利工控主板上电开机以后显示如下画面并停止不动,且无法通过超级终端进行操作:

 

        这是由于nfs挂载设置错误造成的。

        为使用户使用方便,英利工控主板设置了一个功能:开机自动挂载。英利工控主板上电即自动与开发主机建立nfs挂载连接,以方便客户开发。如上图所示,倒数第二行:
        mount –t nfs –o nolock 192.168.201.7:public /mnt/nfs
        就是启动完成以后系统自动执行的挂载命令。此时如果客户的nfs挂载相关设置不正确,系统无法找到挂载点,则会始终超时等待(时间一般在五分钟以上),造成开机以后无响应、无法操作这一假象。

        解决这一问题需严格按照《使用必读》第二章“配置软件开发环境”中的步骤,进行必要的工具软件安装和设置,其中要注意如下几点:
        1、userinfo.txt文件中有关nfs挂载的相关部分说明如下:
        [NFS_SERVER]
        IPAddress='192.168.201.7' // 双引号中填入客户为工控主板配置的IP地址
        Mountpath='public' // 双引号中填入客户希望用开发主机中的哪个文件夹建立挂载点
        需照此修改userinfo.txt文件,保存并通过U盘复制到工控主板中。

        2、除了挂载文件夹可以自行定义(在使用必读中是以D:\public为例)以外,nfsaxe软件的设置一定要完全按照使用必读的步骤进行。

        3、如果上述两步完全正确,那么可以在开发主机端重新启动nfsaxe软件,然后再次为工控主板上电测试。这一操作的原因是客户如果没有购买正版nfsaxe的授权,则该软件每半个小时就失效,必须重启才能正常使用。

        4、此外,对userinfo.txt作如下修改也可以避开这一问题:
        [NFS_SERVER]
        IPAddress='' // 双引号中的内容全部去掉
        Mountpath='' // 双引号中的内容全部去掉

        需注意的是,操作4一般用于以下两种情况:
        (1) 客户不使用挂载功能。此时可以这样修改,关闭系统自动挂载
        (2) 客户希望测试工控主板的软硬件本身是否正确无误,此时可以这样修改,待确认工控主板本身正确无误以后,再按照前面三步
              重新配置好userinfo.txt。


Q: Sourcery G++评估版(Windows版)密码申请过程中的常见问题
A:

        用户在申请Sourcery G++评估版(Windows版)密码的过程中有一个步骤:选择系统主机和目标各自的操作系统。这一步骤特别容易造成用户选择错误,申请密码不正确。

        使用英利嵌入式Linux工控主板进行开发,我们建议客户的开发主机使用Windows操作系统,因此正确的选项应该如下图所示:

Sourcery G++评估板密码申请过程中的操作系统选择

        在Host System中选择IA32 Windows;在Target System中选择ARM GNU/Linux


    版权所有© 2010  成都英利电子有限公司        网站备案:蜀ICP备10021582号