專利名稱:一種嵌入式軟件的編譯調試方法
技術領域:
本發(fā)明涉及一種編譯調試方法,特別涉及一種嵌入式軟件的編譯調試方法。
背景技術:
在嵌入式軟件開發(fā)系統(tǒng)中,尤其是在Linux嵌入式軟件開發(fā)系統(tǒng)中,使用到兩種類型的機器,一種是用于對嵌入式軟件進行編譯的,由于編譯過程往往比較耗時,所以一般需要性能較好的PC(個人電腦,Personal computer)機或服務器來完成這樣的工作。另一種則是用于對嵌入式軟件進行調試的,對機器的性能要求不高,性能較差的PC機就可以勝任。
目前的研發(fā)體系基本上都采用,每位開發(fā)人員均配置一臺性能較高的PC機或服務器,既用于編譯,也用于調試。
但實際上這并不是必須的,我們可以采用一種由多人共用一臺高性能服務器,用于編譯;另外每位開發(fā)人員再各自配備一臺性能較差的PC機用于調試,從而能節(jié)約系統(tǒng)開發(fā)的硬件成本。因為低性能的PC機完全可以用企業(yè)辦公淘汰下來的機器來勝任,而高性能的服務器可以由10-20人共享一臺。
然而這種方式存在一個問題在于在嵌入式系統(tǒng)開交中,通過NFS(網絡文件系統(tǒng),Network File System)方式調試相當方便,調試效率很高,使用得相當廣泛。但NFS有一個特性就是無法穿越網關,只能在同一子網內使用。采用一臺服務器加多臺低性能的PC機方法中,由于一些目標板采用USB的虛擬網口,只能與PC機USB虛擬網口連在一起形成一個獨立的子網,而服務器與PC機也形成一個獨立的子網,所以無法在調試目標板上使用NFS方式把服務器上的編譯結果直接安裝到本地運行。
在這種方法中,不得不把服務器的編譯結果先拷貝到PC機上,然后才能在調試目標板上安裝PC機上的拷貝后進行調試,這種情況下不得不增加一次手工拷貝,并且每一次重新編譯都要重新拷貝,非常影響調試效率。
發(fā)明內容
本發(fā)明解決的技術問題在于提供一種嵌入式軟件的編譯調試方法,以使用單服務器加多臺便宜、低性能的個人電腦,替換使用多臺高性能個人電腦或服務器進行嵌入式系統(tǒng)開發(fā)編譯的方法,來降低嵌入式系統(tǒng)開發(fā)的成本,同時保證高效的調試效率。
為解決上述技術問題,本發(fā)明提供了一種嵌入式軟件的編譯調試方法,嵌入式軟件在服務器上經過編譯后,通過多臺計算機在多個對應的調試目標板上進行調試,本方法包括如下步驟將所述服務器與多臺計算機通過各自的物理網口相連,組成第一子網;將所述的多臺計算機分別與其對應的目標板通過各自的虛擬網絡接口相連,組成第二子網;將所述每臺計算機都配置作為ARP代理,將第一子網與第二子網整合為一個虛擬子網;通過ARP代理,在調試目標板上直接將服務器上的編譯結果掛接到本地,進行調試。
所述組成第一子網步驟,可以包括如下步驟在服務器的物理網口上配置多個IP地址,其數(shù)量與計算機的數(shù)量相同,該多個IP地址分屬于不同的子網網段,一個子網網段對應一臺計算機;在每臺計算機的物理網口與虛擬網絡接口上各配置一個IP地址,所述兩個IP地址屬于同一子網網段,該子網網段與服務器物理網口上的其中一個子網網段對應相同。
所述組成第二子網步驟,可以包括如下步驟在每個目標板的虛擬網絡接口上都配置有一個IP地址,該IP地址與該目標板對應的計算機的物理網口與虛擬網絡接口上配置的IP地址屬于相同子網網段內。
所述將第一子網與第二子網整合為一個虛擬子網的步驟,可以包括如下步驟在所述服務器中配置物理網口與IP地址之間的路由信息;在所述每臺計算機中配置物理網口、虛擬網絡接口與IP地址之間的路由信息;使能(enable)每臺計算機的代理ARP及路由。
由于在本發(fā)明中采用了單臺多人共享的編譯服務器和多臺低性能的PC機組,來替換傳統(tǒng)的多臺高性能PC機或服務器的嵌入式系統(tǒng)開發(fā)編譯模式,有效地降低了嵌入式系統(tǒng)開發(fā)的成本。同時由于采用了ARP(地址解析協(xié)議,Address Resolution protocol)代理把兩個獨立的子網整合在一起成為一個虛擬的子網,有效地克服了NFS無法穿越網關,只能在同一子網內使用的不足,從而能夠通過NFS在調試目標板上,安裝編譯服務器上的文件系統(tǒng)后直接進行調試,得到了高效的嵌入式系統(tǒng)編譯開發(fā)效率。
圖1是根據(jù)本發(fā)明實施例所述的嵌入式軟件的編譯調試方法實施流程示意圖;圖2是根據(jù)本發(fā)明實施例所述的嵌入式軟件的編譯調試方法中由單服務器加多臺低性能PC機組成的開發(fā)系統(tǒng)的網絡結構示意圖。
具體實施例方式
下面結合附圖進一步闡述本發(fā)明的構思以及具體實施的操作方法。
圖1是根據(jù)本發(fā)明實施例所述的嵌入式軟件的編譯調試方法實施流程示意圖。下面用圖1來說明本方法的具體實施步驟。
步驟101將服務器與多臺計算機通過各自的物理網口相連,組成第一子網。
在具體實施時,可以首先在服務器的物理網口上配置多個IP地址,其數(shù)量與計算機的數(shù)量相同,該多個IP地址分屬于不同的子網網段,一個子網網段對應一臺計算機;其次在每臺計算機的物理網口與虛擬網絡接口上各配置一個IP地址,兩個IP地址屬于同一子網網段,該子網網段與服務器物理網口上的其中一個子網網段對應相同。
步驟102將多臺計算機分別與其對應的目標板通過各自的虛擬網絡接口相連,組成第二子網。
可以在每個目標板的虛擬網絡接口上都配置有一個IP地址,該IP地址與該目標板對應的計算機的物理網口與虛擬網絡接口上配置的IP地址屬于相同子網網段內。
步驟103將每臺計算機都配置作為ARP代理,將第一子網與第二子網整合為一個虛擬子網。
具體實施時,可以首先在服務器中配置物理網口與IP地址之間的路由信息;然后在每臺計算機中配置物理網口、虛擬網絡接口與IP地址之間的路由信息;最后使能(enable)每臺計算機的代理ARP及路由。
步驟104通過ARP代理,在調試目標板上直接將服務器上的編譯結果掛接到本地,進行調試。
圖2是根據(jù)本發(fā)明實施例所述的嵌入式軟件的編譯調試方法中由單服務器加多臺低性能PC機組成的開發(fā)系統(tǒng)的網絡結構示意圖。下面我們結合圖2來闡述在Linux嵌入式系統(tǒng)下的實施方法步驟。
如圖2所示,本實施例的編譯開發(fā)系統(tǒng)中含有一臺編譯服務器與多臺調試PC機、調試目標板,它們連接在一個網絡中,但分屬不同的子網。調試目標板通過USB虛擬網口與調試PC機虛擬網口相連;服務器含有一個網口,調試PC機含有一個網口和另外一個虛擬網絡接口,本實施例中采用目前最通行的USB虛擬網口進行操作,調試目標板也含有一個虛擬網絡接口,本實施例中也采用了USB虛擬網口進行操作。為描述方便,實施例中僅以一臺編譯服務器11、三臺調試PC機、三臺調試目標板為例,三臺調試PC機分別是第一PC機21、第二PC機22、第三PC機23,三臺調試目標板分別是第一目標板31、第二目標板32、第三目標板33。
本方法在實施時,可以通過以下具體步驟來實現(xiàn)。
步驟一服務器與PC機連接在一個子網中,目標板通過USB虛擬網口與PC機虛擬網口相連;步驟二服務器具有一個網口與PC機具有的網口相連,PC機具有的另一個虛擬網絡接口與目標板具有的虛擬網絡接口相連;步驟三在服務器上,向網口添加與PC機數(shù)目相同但不同子網的IP地址,在本例中分別配置了不同子網網段的IP地址第一PC機21192.168.11.1 mask255.255.255.0第二PC機22192.168.12.1 mask255.255.255.0第三PC機23192.168.13.1 mask255.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地址則配置如下網口eth0192.168.11.2 mask 255.255.255.0虛擬網口usb0192.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>/proc/sys/net/ipv4/conf/usb0/proxy_arp#echo 1>/proc/sys/net/ipv4/ip_forward從上述實施例可以看出,由于在實施例中采用了單臺多人共享的編譯服務器和多臺低性能的PC機組,來替換傳統(tǒng)的多臺高性能PC機或服務器的嵌入式系統(tǒng)開發(fā)編譯模式,有效地降低了嵌入式系統(tǒng)開發(fā)的成本。同時由于采用了ARP代理把兩個獨立的子網整合在一起成為一個虛擬的子網,有效地克服了NFS無法穿越網關,只能在同一子網內使用的不足,從而能夠將通過NFS直接在調試目標板上安裝服務器上的文件系統(tǒng)進行調試,得到了高效的嵌入式系統(tǒng)編譯開發(fā)效率。
權利要求
1.一種嵌入式軟件的編譯調試方法,所述嵌入式軟件在服務器上經過編譯后,通過多臺計算機在多個對應的調試目標板上進行調試,其特征在于,包括如下步驟將所述服務器與多臺計算機通過各自的物理網口相連,組成第一子網;將所述的多臺計算機分別與其對應的目標板通過各自的虛擬網絡接口相連,組成第二子網;將所述每臺計算機都配置作為ARP代理,將第一子網與第二子網整合為一個虛擬子網;通過ARP代理,在調試目標板上直接將服務器上的編譯結果掛接到本地,進行調試。
2.如權利要求1所述的方法,其特征在于,所述虛擬網絡接口為USB虛擬網口。
3.如權利要求1所述的方法,其特征在于,所述組成第一子網步驟,包括在服務器的物理網口上配置多個IP地址,其數(shù)量與計算機的數(shù)量相同,該多個IP地址分屬于不同的子網網段,一個子網網段對應一臺計算機;在每臺計算機的物理網口與虛擬網絡接口上各配置一個IP地址,所述兩個IP地址屬于同一子網網段,該子網網段與服務器物理網口上的其中一個子網網段對應相同。
4.如權利要求3所述的方法,其特征在于,所述組成第二子網步驟,包括在每個目標板的虛擬網絡接口上都配置有一個IP地址,該IP地址與該目標板對應的計算機的物理網口與虛擬網絡接口上配置的IP地址屬于相同子網網段內。
5.如權利要求4所述的方法,其特征在于,所述將第一子網與第二子網整合為一個虛擬子網的步驟,包括在所述服務器中配置物理網口與IP地址之間的路由信息;在所述每臺計算機中配置物理網口、虛擬網絡接口與IP地址之間的路由信息;使能每臺計算機的代理ARP及路由。
6.如權利要求1所述的方法,其特征在于,所述的在調試目標板上直接將服務器上的編譯結果掛接到本地的步驟,是通過“網絡文件系統(tǒng)”方式,將服務器上的編輯結果直接掛接到本地。
7.如權利要求1所述的方法,其特征在于,所述嵌入式軟件是Linux嵌入式軟件。
全文摘要
本發(fā)明公開了一種嵌入式軟件的編譯調試方法,步驟是將服務器與多臺計算機通過各自的物理網口相連,組成第一子網;將多臺計算機分別與其對應的目標板通過各自的虛擬網絡接口相連,組成第二子網;將每臺計算機都配置作為ARP代理,將第一子網與第二子網整合為一個虛擬子網;通過ARP代理,在調試目標板上直接將服務器上的編譯結果掛接到本地,進行調試。在本發(fā)明有效地降低了嵌入式系統(tǒng)開發(fā)的成本。同時有效地克服了網絡文件系統(tǒng)無法穿越網關,只能在同一子網內使用的不足,得到了高效的嵌入式系統(tǒng)編譯開發(fā)效率。
文檔編號H04L12/46GK1967498SQ20051012321
公開日2007年5月23日 申請日期2005年11月15日 優(yōu)先權日2005年11月15日
發(fā)明者陸云波 申請人:中興通訊股份有限公司