CN100416513C - 一种嵌入式软件的编译调试方法 - Google Patents
一种嵌入式软件的编译调试方法 Download PDFInfo
- 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
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嵌入式软件。
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)
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)
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 | 浙江大学 | 在嵌入式系统模拟器上调试应用程序的方法 |
-
2005
- 2005-11-15 CN CNB2005101232153A patent/CN100416513C/zh not_active Expired - Fee Related
Patent Citations (4)
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 |
---|---|---|
CN111538561B (zh) | 基于KVM虚拟化技术的OpenStack大规模集群部署测试的方法及系统 | |
CN113452830B (zh) | 安卓云手机的批量控制方法、计算机可读介质及电子设备 | |
CN113630265B (zh) | 一种基于智能网卡的虚拟网络冗余备份方法及装置 | |
CN112202940B (zh) | 一种kubernetes对外暴露Pod服务方式 | |
CN100416513C (zh) | 一种嵌入式软件的编译调试方法 | |
US9112769B1 (en) | Programatically provisioning virtual networks | |
CN102455936A (zh) | 集群的快速部署方法 | |
CN113886153B (zh) | 一种基于容器的网卡压力测试方法及装置 | |
CN111404628B (zh) | 一种时间同步方法和装置 | |
CN107733717B (zh) | 一种云平台移动式运维的网络配置方法 | |
CN100488152C (zh) | 一种用于开发嵌入式软件的系统 | |
Khazraee et al. | Rosebud: Making fpga-accelerated middlebox development more pleasant | |
CN112003794B (zh) | 一种浮动ip限流方法、系统、终端及存储介质 | |
CN104615423A (zh) | 多用户sca波形开发方法及装置 | |
CN113127144A (zh) | 一种处理方法、装置及存储介质 | |
US20230221940A1 (en) | Methods and systems for dynamically creating upgrade specifications based on per device capabilities | |
CN110489134A (zh) | 一种pxe服务器和高性能集群环境的部署方法及系统 | |
CN110795212B (zh) | 基于框式设备的主备主控配置同步方法和装置 | |
Bergqvist et al. | Some experience from the development of a simulator for a telecom cluster (CPPemu) | |
Wang et al. | Design of a Live Networking Device Update Mechanism For Cloud Computing Systems | |
CN105094885A (zh) | 组件安装方法及装置 | |
CN107423246B (zh) | 插槽自适应的pxi模块和pxi系统 | |
WO2024207839A1 (zh) | 基于Jenkins的网络流量转发方法、装置、设备及存储介质 | |
CN102662911A (zh) | 一种板级重构红外信号处理机的控制方法 | |
Alsaeed et al. | A wide area network emulator for CORBA applications |
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 |