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