本發明涉及一種無線仿真調試系統,尤其涉及一種支持云端多用戶遠程無線仿真調試系統和方法。
背景技術:
在嵌入式軟件開發過程中,仿真調試用于對嵌入式軟件進行單步仿真、打斷點、觀察變量演變過程等,提高了嵌入式軟件的開發效率,節約了設計成本,增強了嵌入式軟件驗證的廣度和深度。目前嵌入式軟件仿真調試主要有在線仿真和通過仿真器仿真兩種方式,在線仿真是將目標板上的cpu完全集成在開發板上,并在集成的開發板上對嵌入式軟件進行仿真調試,該方式是在虛擬的硬件環境中進行;通過仿真器仿真需要將仿真器連接在pc機和目標板的cpu間,并在目標板上直接進行軟件的仿真調試,該方式是在真實的硬件環境中進行。
目前的嵌入式軟件仿真調試方式主要存在如下弊端:
1)在線仿真方式完全脫離了目標板,無法接近真實硬件環境。通過仿真器仿真方式需要通過線纜將目標板與pc機連接起來,受線纜長度及運用場景限制,無法滿足密封箱體、無人機等特定軟件仿真的需求。
2)仿真調試用的pc機與待仿真調試硬件間通過線纜連接,受線纜長度限制,兩者相距不易太遠。
3)仿真調試人員需要與待仿真調試的硬件設備處于同一空間,無法實現通過云端遠程方式進行軟件仿真。
4)不同仿真調試人員運用同一待仿真調試硬件設備進行軟件仿真調試時,應將仿真器連接到自己的pc機上,需插拔仿真器,切換麻煩,效率低,且易造成接口損壞。
技術實現要素:
本發明提供一種支持云端多用戶遠程無線仿真調試系統和方法,以解決現有技術存在的問題。
本發明采用以下技術方案:
一種支持云端多用戶遠程無線仿真調試系統,包括:
仿真調試端,所述仿真調試端包括多個仿真調試客戶端;
待仿真調試系統,包括多個待仿真調試目標板;
仿真調試控制系統,用于接收仿真調試端發送的仿真調試命令,根據仿真調試命令匹配待仿真調試的目標板,并負責仿真調試端與待仿真調試系統間信息交互。
每個待仿真調試目標板上均連接有從單元,仿真調試控制系統包括與從單元通信的多個主單元,通過主單元和從單元之間的無線通信,完成仿真調試端與待仿真調試目標板間信息交互。
所述仿真調試控制系統包括與多個仿真調試端通過云端連接的控制服務器,及多個無線仿真器主單元集合,各仿真器主單元通過usb連線與控制服務器連接。
所述進行通信的主單元和從單元間具有相同的工作頻段;
待仿真調試系統根據仿真調試端發送的仿真調試命令,自動選擇主單元和工作頻段,并調節待匹配從單元的工作頻段,實現主、從單元工作頻段的自動匹配。
所述主單元包括:
一個控制器??;
一個usb接口單元,連接在控制器ⅰ上,用于和服務器相連;
一個無線收發單元ⅰ,連接控制器ⅰ上,用于和從單元進行無線通信;
所述從單元包括:
一個控制器ⅱ;
一個jtag/swd調試接口,連接在控制器ⅱ上,用于和目標板相連;
一個無線收發單元ⅱ,連接控制器ⅱ上,用于和無線收發單元ⅰ通信連接。
所述主單元還包括:
一個uart調試接口ⅰ,連接在控制器ⅰ上;
所述從單元還包括:
一個uart調試接口ⅱ,連接在控制器ⅱ上。
一種支持云端多用戶遠程無線仿真調試方法,包括:
至少一個仿真調試客戶端通過云端網絡發送仿真調試命令的指令至仿真調試控制系統,仿真調試命令中包含待仿真調試的目標板;
仿真調試控制系統接收到仿真調試命令后,通過無線網絡與待仿真調試目標板進行信息交互。
仿真調試控制系統的控制服務器接收仿真調試客戶端發送的仿真調試命令后,首先檢測與控制服務器連接的各主單元的工作狀態及工作頻段,將目前未啟用的主單元及工作頻段分配給該仿真調試客戶端,并根據仿真調試命令中的仿真調試目標板找到待仿真調試系統中對應的從單元id;
根據從單元id,建立分配給仿真調試客戶端的主單元和該從單元之間的通信連接,將仿真調試命令從主單元發送給從單元后,與從單元連接的目標板接受指令進行軟件仿真調試。
述主單元和從單元之間的通信連接建立如下:
控制服務器控制已分配的主單元通過系統預先約定的工作頻段向外廣播主單元、從單元匹配請求信息包,該匹配請求信息包中包含從單元id及待分配給主、從單元的工作頻段
與匹配請求信息包中信息匹配的從單元接收到匹配請求包后,通過系統預先約定的工作頻段回應發送信息包的主單元,該主單元和從單元自動按匹配請求信息包中的工作頻段進行設置,設置完成后并自動建立連接;然后通過仿真調試端驅使無線仿真器的主單元和從單元通信進行遠程仿真調試。
當多個仿真調試客戶端同一時刻對不同的仿真調試目標板進行調試時,所述主單元和從單元之間的通信連接的建立如下:
控制服務器為每個仿真調試客戶端分配不同的主單元和工作頻段,并控制已分配的所有主單元均通過系統預先約定的工作頻段向外廣播主單元、從單元匹配請求信息包,匹配請求信息包中包含從單元id及待分配給該主單元、從單元的工作頻段;
與匹配請求信息包中從單元id匹配的從單元接收到匹配請求包后,回應發送信息包的對應主單元,并分別進行工作頻段的設定;各仿真調試端各自驅使已分配的無線仿真器主單元、從單元進行遠程仿真調試。
本發明的有益效果:
(1)無線仿真器主、從單元通過無線進行通信,主單元連接pc端,從單元直插在目標板的調試口,延長了仿真調試客戶端與目標板cpu之間的距離。
(2)能根據需求自動地對無線仿真器主、從單元進行配對,增加了仿真調試的靈活性。
(3)支持云端遠程仿真調試,擴大了嵌入式軟件仿真調試的空間范圍,方便嵌入式軟件的開發。
(4)能實現多仿真調試客戶端同時在線對同一硬件系統不同cpu的嵌入式軟件進行仿真調試,提高了工作效率。
附圖說明
圖1為本發明的系統示意圖。
圖2為主單元結構示意圖。
圖3為從單元結構示意圖。
具體實施方式
下面結合附圖和具體實施方式對本發明作進一步詳細說明。
如圖1所示,本發明提供一種支持云端多用戶遠程無線仿真的仿真調試系統。它至少包括仿真調試端、仿真調試控制系統、待仿真調試系統三部分。
仿真調試端包括多個仿真調試客戶端,仿真調試客戶端用于發送仿真調試命令、操作軟件仿真、跟蹤查看軟件仿真調試過程;仿真調試客戶端可選擇使用各種pc機。
待仿真調試系統,包括若干個待仿真調試目標板,每個目標板上均連接有一個無線仿真器從單元,該從單元用于接收仿真調試端發送的仿真調試命令,并在目標板上運行待仿真軟件,返回軟件仿真調試中間結果。目標板為待仿真的嵌入式軟件運行的硬件環境,無線仿真器從單元與和無線仿真器主單元進行無線通信,交換軟件仿真指令;且每個無線仿真器從單元應具備一個唯一的id。
仿真調試控制系統,包括無線仿真器主單元集合和控制服務器,用于接收仿真調試端發送的仿真調試命令指令,根據仿真調試命令匹配待仿真調試的目標板,并負責仿真調試端與待仿真調試系統間信息交互。
無線仿真器主單元和無線仿真器從單元通過配置工作頻率后能夠進行一對一的通信,無線仿真器主單元和無線仿真器從單元通過無線通信,實現仿真調試端與待仿真調試系統間信息交互,達到將仿真調試端的仿真調試命令通過云端發送給對應的仿真調試目標板進行仿真并監控仿真過程的目的。
控制服務器通過云端網絡與仿真調試端連接,無線仿真器主單元集合通過usb連線與控制服務器連接??刂品掌魃习惭b有用于嵌入式軟件仿真調試用的集成開發環境(ide),如keil軟件,主要具備如下功能:
1)能根據仿真調試客戶端的操作運行集成開發環境軟件。
2)具備對無線仿真器主單元集合的管理,及主單元與從單元匹配管理等。
即在上述的系統中,每個無線仿真器由一個主單元和一個從單元組成,主單元通過usb與控制服務器機相連,從單元直接插在目標板上,主單元與從單元間通過無線方式進行通信。為了實現多個仿真調試端在不同時刻仿真調試某一個目標板,或多個仿真調試客戶端能同時仿真調試不同的目標板,而相互間不會造成其他影響,無線仿真器的主、從單元通過接收控制服務器的控制指令設置為不同的工作頻段(初始狀態為系統預先設置的默認頻段),工作頻段相同的主、從單元進行信息交互;控制服務器負責無線仿真器主、從單元工作頻段的分配及管理。
如圖2所示,無線仿真器主單元包括:
一個控制器ⅰ;
一個usb接口單元,包括連接在控制器ⅰ上的usb外設,和與usb外設連接的usb插座,usb插座與服務器相連;
一個無線收發單元ⅰ,采用2.4ghzradio連接在控制器ⅰ上,用于和從單元的對應無線收發單元ⅱ進行無線通信;
一個uart調試接口ⅰ,連接在控制器ⅰ上;
一led指示燈,指示主單元工作狀態。
如圖3所示,無線仿真器從單元包括:
一個控制器ⅱ;
一個jtag/swd調試接口,連接在控制器ⅱ上,用于和目標板相連;
一個無線收發單元ⅱ,連接控制器ⅱ上,用于和無線收發單元ⅰ通信連接。
一個uart調試接口ⅱ,連接在控制器ⅱ上;
一led指示燈,指示從單元工作狀態。
控制器ⅰ和控制器ⅱ可使用nodic公司的無線socnrf52840芯片,該芯片采用cortexm4內核,具有usb2.0全速接口、48個gpio、以及其它常用外設。
主從單元建立邏輯連接后,采用cmsis-dap協議,主從單元協同完成仿真器的功能。對于兼容cmsis-dap協議的集成開發環境(ide),如keil,不需要對軟件進行修改,僅需要在ide設置中將仿真器類型設置為cmsis-dap、接口類型設置為jtag或swd,以及對時鐘速率等參數進行設置即可以直接使用無線仿真器,且此類信息的設置方法與既有仿真器設置方法完全相同。
完成上述連接后,主單元通過usb連接在控制服務器上,并通過無線radio與從單元進行通信,負責仿真調試客戶端與從單元的信息交互;從單元通過jtag./swd調試接口直插在目標板上,通過無線radio與主單元進行通信,負責目標板與主單元的信息交互;仿真調試客戶端內的仿真軟件兼容既有的有線仿真器軟件。主單元與從單元間通過無線進行通信,協同完成仿真調試端與目標板cpu間的信息交互。
當多個仿真調試端同一時刻對不同的仿真調試目標板進行調試時,對主、從單元之間的頻段和地址進行配置,完成配對,方便進行調試。
該配置方式采用指令配置:主從單元空閑時工作在2.4ghz頻段中的一個預先設置默認頻段(此芯片在2.4g頻段劃分了101個頻段);主單元可通過usb接收包括工作頻段、id的配置信息并進行設置;從單元在默認頻段上通過2.4ghzradio(由主單元解析usb配置信息后發送)接收此類信息并進行設置。
本發明還提供一種支持支持云端多用戶遠程無線仿真調試方法,包括:
至少一個仿真調試端通過云端網絡發送仿真調試命令的指令至仿真調試控制系統,仿真調試命令中包含待仿真調試的目標板。
仿真調試控制系統接收到仿真調試命令后,通過無線網絡將與待仿真調試目標板進行信息交互。
仿真調試控制系統的控制服務器接收仿真調試客戶端發送的仿真調試命令后,首先檢測控制服務器上連接的主單元的工作狀態和工作頻段,將目前未啟用的主單元和工作頻段分配給該仿真調試客戶端,并根據仿真調試命令中的仿真調試目標板找到待仿真調試系統中對應的從單元id。
控制服務器控制主單元通過系統預先約定的工作頻段向外廣播主單元、從單元匹配請求信息包,該匹配請求信息包中包含從單元id及待分配給主單元和從單元的工作頻段。
與匹配請求信息包的從單元id匹配的從單元接收到匹配請求包后,并按系統預先約定的工作頻段回應發送該信息包的主單元,該主單元和從單元自動按約定的工作頻段進行設置,并自動建立連接。
仿真調試客戶端通過云端方式運行控制服務器上的集成開發環境軟件,并驅使無線仿真器主、從單元進行嵌入式軟件的遠程仿真調試。
當多仿真調試客戶端需要同時對待仿真調試系統中不同目標板的嵌入式軟件進行仿真調試時,控制服務器為每個仿真調試客戶端分配不同的主單元和工作頻段,并控制已分配的所有主單元通過系統預先約定的工作頻段向外廣播主單元、從單元匹配請求信息包,匹配請求信息包中包含從單元id及待分配的主、從單元工作頻段;與匹配請求信息包中從單元id匹配的從單元接收到匹配請求包后,回應發送該信息包的主單元并進行工作頻段的設定。然后,各仿真調試端各自驅使已分配的無線仿真器主單元、從單元通信進行遠程仿真調試。當多個仿真調試客戶端在不同時刻仿真同一目標板時,可以設置相同的工作頻段和主單元。
本發明各仿真調試客戶端可以同時通過云端方式運行控制服務器上的集成開發環境,并驅使對應的無線仿真器實施各自的軟件仿真調試,相互間不會存在影響。
以上所述的僅是本發明的優選實施方式,應當指出,對于本領域的技術人員來說,在不脫離本發明整體構思前提下,還可以作出若干改變和改進,這些也應該視為本發明的保護范圍。