CN100416513C - 一种嵌入式软件的编译调试方法 - Google Patents

一种嵌入式软件的编译调试方法 Download PDF

Info

Publication number
CN100416513C
CN100416513C CNB2005101232153A CN200510123215A CN100416513C CN 100416513 C CN100416513 C CN 100416513C CN B2005101232153 A CNB2005101232153 A CN B2005101232153A CN 200510123215 A CN200510123215 A CN 200510123215A CN 100416513 C CN100416513 C CN 100416513C
Authority
CN
China
Prior art keywords
subnet
network interface
server
address
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005101232153A
Other languages
English (en)
Other versions
CN1967498A (zh
Inventor
陆云波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2005101232153A priority Critical patent/CN100416513C/zh
Publication of CN1967498A publication Critical patent/CN1967498A/zh
Application granted granted Critical
Publication of CN100416513C publication Critical patent/CN100416513C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种嵌入式软件的编译调试方法,步骤是:将服务器与多台计算机通过各自的物理网口相连,组成第一子网;将多台计算机分别与其对应的目标板通过各自的虚拟网络接口相连,组成第二子网;将每台计算机都配置作为ARP代理,将第一子网与第二子网整合为一个虚拟子网;通过ARP代理,在调试目标板上直接将服务器上的编译结果挂接到本地,进行调试。在本发明有效地降低了嵌入式***开发的成本。同时有效地克服了网络文件***无法穿越网关,只能在同一子网内使用的不足,得到了高效的嵌入式***编译开发效率。

Description

一种嵌入式软件的编译调试方法
技术领域
本发明涉及一种编译调试方法,特别涉及一种嵌入式软件的编译调试方法。
背景技术
在嵌入式软件开发***中,尤其是在Linux嵌入式软件开发***中,使用到两种类型的机器,一种是用于对嵌入式软件进行编译的,由于编译过程往往比较耗时,所以一般需要性能较好的PC(个人电脑,Personal computer)机或服务器来完成这样的工作。另一种则是用于对嵌入式软件进行调试的,对机器的性能要求不高,性能较差的PC机就可以胜任。
目前的研发体系基本上都采用,每位开发人员均配置一台性能较高的PC机或服务器,既用于编译,也用于调试。
但实际上这并不是必须的,我们可以采用一种由多人共用一台高性能服务器,用于编译;另外每位开发人员再各自配备一台性能较差的PC机用于调试,从而能节约***开发的硬件成本。因为低性能的PC机完全可以用企业办公淘汰下来的机器来胜任,而高性能的服务器可以由10-20人共享一台。
然而这种方式存在一个问题在于:在嵌入式***开发中,通过NFS(网络文件***,Network File System)方式调试相当方便,调试效率很高,使用得相当广泛。但NFS有一个特性就是无法穿越网关,只能在同一子网内使用。采用一台服务器加多台低性能的PC机方法中,由于一些目标板采用USB的虚拟网口,只能与PC机USB虚拟网口连在一起形成一个独立的子网,而服务器与PC机也形成一个独立的子网,所以无法在调试目标板上使用NFS方式把服务器上的编译结果直接安装到本地运行。
在这种方法中,不得不把服务器的编译结果先拷贝到PC机上,然后才能在调试目标板上安装PC机上的拷贝后进行调试,这种情况下不得不增加一次手工拷贝,并且每一次重新编译都要重新拷贝,非常影响调试效率。
发明内容
本发明解决的技术问题在于提供一种嵌入式软件的编译调试方法,以使用单服务器加多台便宜、低性能的个人电脑,替换使用多台高性能个人电脑或服务器进行嵌入式***开发编译的方法,来降低嵌入式***开发的成本,同时保证高效的调试效率。
为解决上述技术问题,本发明提供了一种嵌入式软件的编译调试方法,嵌入式软件在服务器上经过编译后,通过多台计算机在多个对应的调试目标板上进行调试,本方法包括如下步骤:
将所述服务器与多台计算机通过各自的物理网口相连,组成第一子网;
将所述的多台计算机分别与其对应的目标板通过各自的虚拟网络接口相连,组成第二子网;
将所述每台计算机都配置作为ARP代理,将第一子网与第二子网整合为一个虚拟子网;
通过ARP代理,在调试目标板上直接将服务器上的编译结果挂接到本地,进行调试。
所述组成第一子网步骤,可以包括如下步骤:
在服务器的物理网口上配置多个IP地址,其数量与计算机的数量相同,该多个IP地址分属于不同的子网网段,一个子网网段对应一台计算机;
在每台计算机的物理网口与虚拟网络接口上各配置一个IP地址,所述两个IP地址属于同一子网网段,该子网网段与服务器物理网口上的其中一个子网网段对应相同。
所述组成第二子网步骤,可以包括如下步骤:
在每个目标板的虚拟网络接口上都配置有一个IP地址,该IP地址与该目标板对应的计算机的物理网口与虚拟网络接口上配置的IP地址属于相同子网网段内。
所述将第一子网与第二子网整合为一个虚拟子网的步骤,可以包括如下步骤:
在所述服务器中配置物理网口与IP地址之间的路由信息;
在所述每台计算机中配置物理网口、虚拟网络接口与IP地址之间的路由信息;
使能(enable)每台计算机的代理ARP及路由。
由于在本发明中采用了单台多人共享的编译服务器和多台低性能的PC机组,来替换传统的多台高性能PC机或服务器的嵌入式***开发编译模式,有效地降低了嵌入式***开发的成本。同时由于采用了ARP(地址解析协议,Address Resolution protocol)代理把两个独立的子网整合在一起成为一个虚拟的子网,有效地克服了NFS无法穿越网关,只能在同一子网内使用的不足,从而能够通过NFS在调试目标板上,安装编译服务器上的文件***后直接进行调试,得到了高效的嵌入式***编译开发效率。
附图说明
图1是根据本发明实施例所述的嵌入式软件的编译调试方法实施流程示意图;
图2是根据本发明实施例所述的嵌入式软件的编译调试方法中由单服务器加多台低性能PC机组成的开发***的网络结构示意图。
具体实施方式
下面结合附图进一步阐述本发明的构思以及具体实施的操作方法。
图1是根据本发明实施例所述的嵌入式软件的编译调试方法实施流程示意图。下面用图1来说明本方法的具体实施步骤。
步骤101:将服务器与多台计算机通过各自的物理网口相连,组成第一子网。
在具体实施时,可以首先在服务器的物理网口上配置多个IP地址,其数量与计算机的数量相同,该多个IP地址分属于不同的子网网段,一个子网网段对应一台计算机;
其次在每台计算机的物理网口与虚拟网络接口上各配置一个IP地址,两个IP地址属于同一子网网段,该子网网段与服务器物理网口上的其中一个子网网段对应相同。
步骤102:将多台计算机分别与其对应的目标板通过各自的虚拟网络接口相连,组成第二子网。
可以在每个目标板的虚拟网络接口上都配置有一个IP地址,该IP地址与该目标板对应的计算机的物理网口与虚拟网络接口上配置的IP地址属于相同子网网段内。
步骤103:将每台计算机都配置作为ARP代理,将第一子网与第二子网整合为一个虚拟子网。
具体实施时,可以首先在服务器中配置物理网口与IP地址之间的路由信息;然后在每台计算机中配置物理网口、虚拟网络接口与IP地址之间的路由信息;最后使能(enable)每台计算机的代理ARP及路由。
步骤104:通过ARP代理,在调试目标板上直接将服务器上的编译结果挂接到本地,进行调试。
图2是根据本发明实施例所述的嵌入式软件的编译调试方法中由单服务器加多台低性能PC机组成的开发***的网络结构示意图。下面我们结合图2来阐述在Linux嵌入式***下的实施方法步骤。
如图2所示,本实施例的编译开发***中含有一台编译服务器与多台调试PC机、调试目标板,它们连接在一个网络中,但分属不同的子网。调试目标板通过USB虚拟网口与调试PC机虚拟网口相连;服务器含有一个网口,调试PC机含有一个网口和另外一个虚拟网络接口,本实施例中采用目前最通行的USB虚拟网口进行操作,调试目标板也含有一个虚拟网络接口,本实施例中也采用了USB虚拟网口进行操作。为描述方便,实施例中仅以一台编译服务器11、三台调试PC机、三台调试目标板为例,三台调试PC机分别是:第一PC机21、第二PC机22、第三PC机23,三台调试目标板分别是:第一目标板31、第二目标板32、第三目标板33。
本方法在实施时,可以通过以下具体步骤来实现。
步骤一:服务器与PC机连接在一个子网中,目标板通过USB虚拟网口与PC机虚拟网口相连;
步骤二:服务器具有一个网口与PC机具有的网口相连,PC机具有的另一个虚拟网络接口与目标板具有的虚拟网络接口相连;
步骤三:在服务器上,向网口添加与PC机数目相同但不同子网的IP地址,在本例中分别配置了不同子网网段的IP地址:
第一PC机21:192.168.11.1  mask:255.255.255.0
第二PC机22:192.168.12.1  mask:255.255.255.0
第三PC机23:192.168.13.1  mask:255.255.255.0并添加相应的路由信息:
#route add-net 192.168.11.0 netmask 255.255.255.0 dev eth0
#route add-net 192.168.12.0 netmask 255.255.255.0 dev eth0
#route add-net 192.168.13.0 netmask 255.255.255.0 dev eth0
步骤四:在调试PC机上,在网口和虚拟网口上配置与服务器上某一IP地址同子网网段的两个IP地址,如对第一PC机21中的IP地址则配置如下:
网口eth0:      192.168.11.2 mask 255.255.255.0
虚拟网口usb0:  192.168.11.3 mask 255.255.255.0
步骤五:在目标板上配置与之相连的PC机相同子网网段的IP地址,如第一PC机21中,将与它相连的第一调试目标板31的IP地址配置为:
192.168.11.4 mask 255.255.255.0
步骤六:调试第一PC机21作为ARP代理为例,在第一PC机21配置的过程是:
首先添加IP路由表:
#ip route add 192.168.11.1 dev eth0
#ip route add 192.168.11.0/24 dev usb0 proto kernel src 192.168.11.2然后使能(enable)第一PC机21的代理ARP及路由:
#echo 1>/proc/sys/net/ipv4/conf/eth0/proxy_arp
#echo 1>/proe/sys/net/ipv4/conf/usb0/proxy_arp
#echo 1>/proc/sys/net/ipv4/ip_forward
从上述实施例可以看出,由于在实施例中采用了单台多人共享的编译服务器和多台低性能的PC机组,来替换传统的多台高性能PC机或服务器的嵌入式***开发编译模式,有效地降低了嵌入式***开发的成本。同时由于采用了ARP代理把两个独立的子网整合在一起成为一个虚拟的子网,有效地克服了NFS无法穿越网关,只能在同一子网内使用的不足,从而能够将通过NFS直接在调试目标板上安装服务器上的文件***进行调试,得到了高效的嵌入式***编译开发效率。

Claims (4)

1. 一种嵌入式软件的编译调试方法,所述嵌入式软件在服务器上经过编译后,通过多台计算机在多个对应的调试目标板上进行调试,其特征在于,包括如下步骤:
将所述服务器与多台计算机通过各自的物理网口相连,组成第一子网,其中,在服务器的物理网口上配置多个IP地址,其数量与计算机的数量相同,该多个IP地址分属于不同的子网网段,一个子网网段对应一台计算机,在每台计算机的物理网口与虚拟网络接口上各配置一个IP地址,所述两个IP地址属于同一子网网段,该子网网段与服务器物理网口上的其中一个子网网段对应相同;
将所述的多台计算机分别与其对应的目标板通过各自的虚拟网络接口相连,组成第二子网,其中,在每个目标板的虚拟网络接口上都配置有一个IP地址,该IP地址与该目标板对应的计算机的物理网口与虚拟网络接口上配置的IP地址属于相同子网网段内;
将每台计算机都配置作为ARP代理,将第一子网与第二子网整合为一个虚拟子网,其中,在所述服务器中配置物理网口与IP地址之间的路由信息,在所述每台计算机中配置物理网口、虚拟网络接口与IP地址之间的路由信息,使能每台计算机的代理ARP及路由;
通过ARP代理,在调试目标板上直接将服务器上的编译结果挂接到本地,进行调试。
2. 如权利要求1所述的方法,其特征在于,所述虚拟网络接口为USB虚拟网口。
3. 如权利要求1所述的方法,其特征在于,所述的在调试目标板上直接将服务器上的编译结果挂接到本地的步骤,是通过“网络文件***”方式,将服务器上的编译结果直接挂接到本地。
4. 如权利要求1所述的方法,其特征在于,所述嵌入式软件是Linux嵌入式软件。
CNB2005101232153A 2005-11-15 2005-11-15 一种嵌入式软件的编译调试方法 Expired - Fee Related CN100416513C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101232153A CN100416513C (zh) 2005-11-15 2005-11-15 一种嵌入式软件的编译调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101232153A CN100416513C (zh) 2005-11-15 2005-11-15 一种嵌入式软件的编译调试方法

Publications (2)

Publication Number Publication Date
CN1967498A CN1967498A (zh) 2007-05-23
CN100416513C true CN100416513C (zh) 2008-09-03

Family

ID=38076281

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101232153A Expired - Fee Related CN100416513C (zh) 2005-11-15 2005-11-15 一种嵌入式软件的编译调试方法

Country Status (1)

Country Link
CN (1) CN100416513C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340317B (zh) * 2007-07-05 2011-05-25 中兴通讯股份有限公司 一种嵌入式软件调试的方法及其应用***
CN101441592A (zh) 2007-11-20 2009-05-27 鸿富锦精密工业(深圳)有限公司 嵌入式***的测试***及方法
CN101262366B (zh) * 2008-02-01 2010-10-27 杭州华三通信技术有限公司 目标单板调试方法、***及分布式设备
CN102129408B (zh) * 2011-04-14 2013-09-25 电子科技大学 一种基于记录回放技术的嵌入式软件调试装置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286431A (zh) * 1999-11-30 2001-03-07 深圳市中兴通讯股份有限公司 嵌入式软件辅助调试方法
US20020056047A1 (en) * 2000-09-15 2002-05-09 Lehman Larry L. System and method for communicating software debug, diagostic and maintenance information between devices
US6658600B1 (en) * 2000-04-24 2003-12-02 Microsoft Corporation Target control abstraction for debugging embedded systems
CN1645339A (zh) * 2005-01-31 2005-07-27 浙江大学 在嵌入式***模拟器上调试应用程序的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286431A (zh) * 1999-11-30 2001-03-07 深圳市中兴通讯股份有限公司 嵌入式软件辅助调试方法
US6658600B1 (en) * 2000-04-24 2003-12-02 Microsoft Corporation Target control abstraction for debugging embedded systems
US20020056047A1 (en) * 2000-09-15 2002-05-09 Lehman Larry L. System and method for communicating software debug, diagostic and maintenance information between devices
CN1645339A (zh) * 2005-01-31 2005-07-27 浙江大学 在嵌入式***模拟器上调试应用程序的方法

Also Published As

Publication number Publication date
CN1967498A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
US5996016A (en) Reinitiation of bind calls for IP applications concurrently executing with alternate address
CN113452830B (zh) 安卓云手机的批量控制方法、计算机可读介质及电子设备
CN112202940B (zh) 一种kubernetes对外暴露Pod服务方式
CN100416513C (zh) 一种嵌入式软件的编译调试方法
CN111538561B (zh) 基于KVM虚拟化技术的OpenStack大规模集群部署测试的方法及***
CN113630265B (zh) 一种基于智能网卡的虚拟网络冗余备份方法及装置
CN111404628B (zh) 一种时间同步方法和装置
Bansal et al. Disaggregating stateful network functions
CN107733717B (zh) 一种云平台移动式运维的网络配置方法
CN113886153A (zh) 一种基于容器的网卡压力测试方法及装置
CN111124437A (zh) 一种基于OpenStack的裸机资源配置信息获取方法、***及设备
CN100488152C (zh) 一种用于开发嵌入式软件的***
Khazraee et al. Rosebud: Making fpga-accelerated middlebox development more pleasant
CN113127144A (zh) 一种处理方法、装置及存储介质
US20230221940A1 (en) Methods and systems for dynamically creating upgrade specifications based on per device capabilities
CN110795212B (zh) 基于框式设备的主备主控配置同步方法和装置
CN104615423A (zh) 多用户sca波形开发方法及装置
Bergqvist et al. Some experience from the development of a simulator for a telecom cluster (CPPemu)
Ewais et al. A framework integrating FPGAs in VNF networks
CN113986526A (zh) 一种服务器和数据中心
CN105094885A (zh) 组件安装方法及装置
CN111901376A (zh) 一种基于ipv6的多节点云服务部署方法及***
CN101778034B (zh) 一种多数字信号处理器的加载方法和加载控制装置
Wang et al. Design of a Live Networking Device Update Mechanism For Cloud Computing Systems
CN110489134A (zh) 一种pxe服务器和高性能集群环境的部署方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080903

Termination date: 20151115

EXPY Termination of patent right or utility model