新四季網

多核處理器中基於vcpu的調試方法和裝置製造方法

2023-05-03 15:22:31

多核處理器中基於vcpu的調試方法和裝置製造方法
【專利摘要】本發明實施例公開了一種多核處理器中基於VCPU的調試方法和裝置。每個VCPU按照設定周期執行以下步驟:獲取第一變量,該第一變量為多核處理器中所有VCPU共享的全局變量,其值為需要進行調試的第一目標VCPU的標識;將獲取到的第一變量的值與本VCPU的標識進行比較,若相同,則獲取本VCPU對應的串行接口上輸入的命令並執行該命令,所述命令可包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。採用本發明可提高多核處理器環境下基於VCPU進行應用程式調試時的可靠性和準確性。
【專利說明】多核處理器中基於VCPU的調試方法和裝置
【技術領域】
[0001]本發明涉及通信領域,尤其涉及一種多核處理器中基於VCPU的調試方法和裝置。【背景技術】
[0002]多核處理器是指在一個處理器中集成兩個或多個完整的計算引擎(內核)。多核處理器是單枚晶片,能夠直接插入單一的處理器插槽中,但作業系統會利用所有相關的資源,將每個執行內核作為分立的邏輯處理器。通過在多個執行內核之間劃分任務,多核處理器可在特定的時鐘周期內執行更多任務。多核處理器能夠在高集成化並佔用較小空間的基礎上提供更多的功能,相比傳統的單核系統而言性能更好。
[0003]VCPU (虛擬CPU)技術是CPU的虛擬化技術,CPU的虛擬化就是單CPU模擬多CPU並行,允許一個平臺同時運行多個作業系統,並且應用程式可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。
[0004]例如,多核處理器XLR732內部有8個內核(Core),每個Core又包含4個獨立的硬體線程或稱為VCPU。每個VCPU可以運行LINUX、VXffORKS等作業系統,也可以直接運行於RMIOS作業系統。
[0005]在多核處理器環境下基於VCPU進行應用程式開發時,需要對VCPU運行的應用程式進行調試。目前主要採用的一種調試方法稱為列印調試方法,即通過在代碼上嵌入printf原始碼來進行錯誤跟蹤。列印調試方法屬於不可控制的調試方法。在多核處理器環境下,多個內核同時列印,無法區分是哪個內核的信息,甚至可能多個內核同時列印輸出,導致列印結果為亂碼。由於無法保證printf的順序,因此也就無法保證列印輸出的可靠性和準確性,進而無法保證多核處理器環境下基於VCPU的應用程式調試的可靠性和準確性。

【發明內容】

[0006]本發明實施例提供了一種多核處理器中基於VCPU的調試方法和裝置,用以提高多核處理器環境下基於VCPU進行應用程式調試時的可靠性和準確性。
[0007]本發明實施例提供的多核處理器中基於VCPU的調試方法中,每個VCPU按照設定周期執行以下步驟:獲取第一變量,所述第一變量為所述多核處理器中所有VCPU共享的全局變量,所述全局變量的值為需要進行調試的第一目標VCPU的標識;將獲取到的第一變量的值與本VCPU的標識進行比較,若所述第一變量的值與本VCPU的標識相同,則獲取本VCPU對應的串行接口上輸入的命令並執行所述命令,所述命令包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
[0008]本發明的上述實施例,通過在當前VCPU對應的串行接口上輸入串口切換命令,通過串口切換命令將全局第一變量的值設置為調試目標VCPU的標識;各VCPU按照設定周期獲取該全局第一變量,若該全局第一變量的值與本VCPU的標識相同,則說明需要對本VCPU上的應用進行調試,因此通過執行本VCPU對應的串口上輸入的調試命令以達到調試目的。可以看出,全局第一變量的值為調試目標VCPU的標識,通過串口切換命令設置該全局第一變量,即達到了切換調試目標VCPU或調試目標VCPU對應的串行接口的目的,因此可以有效控制調試目標,與現有技術相比,提高了多核處理器環境下基於VCPU進行應用調試的可靠性和準確性。
[0009]在一種優選實現方式中,還包括:在需要對所述第二目標VCPU進行調試時,在當前VCPU對應的串行接口上輸入串口切換命令,所述當前VCPU的VCPU標識與當前所述第一變量的值相同,所述串口切換命令用於將所述第一變量的值設置為所述第二目標VCPU的標識。通過以上操作,並結合通過串口切換命令將全局第一變量的值設置為調試目標VCPU的標識,可以實現對目標VCPU上的應用進行調試。
[0010]在一種優選的實現方式中,執行所述調試命令之後,還包括:在所述調試命令的執行結果中添加本VCPU的標識,輸出添加了本VCPU的標識的執行結果,以表明該執行結果是哪個VCPU的調試命令執行結果,以便於後續分析。
[0011]在一種優選的實現方式中,所述獲取本VCPU對應的串行接口上輸入的命令,包括:通過執行系統函數,獲取本VCPU對應的串行接口上輸入的命令。這樣,可以利用系統函數獲取本VCPU對應的串行接口上輸入的命令,技術實現簡單易行。
[0012]在一種優選的實現方式中,所述串行接口上輸入的命令是預先註冊到所述多核處理器的作業系統中的。這樣,新增調試命令時,僅需在全局的結構體中按照格式增加所需的調試命令即可,可以不需每次都在初始化時增加調試命令。
[0013]本發明實施例提供的多核處理器中基於VCPU的調試裝置位於所述多核處理器中的每個VCPU,所述裝置包括:
[0014]獲取模塊,用於獲取第一變量,所述第一變量為所述多核處理器中所有VCPU共享的全局變量,所述全局變量的值為需要進行調試的第一目標VCPU的標識;
[0015]判斷模塊,用於將所述獲取模塊獲取到的第一變量的值與本VCPU的標識進行比較;
[0016]執行模塊,用於在所述判斷類模塊判斷所述第一變量的值與本VCPU的標識相同時,獲取本VCPU對應的串行接口上輸入的命令並執行所述命令,所述命令包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
[0017]本發明的上述實施例,通過在當前VCPU對應的串行接口上輸入串口切換命令,通過串口切換命令將全局第一變量的值設置為調試目標VCPU的標識;各VCPU按照設定周期獲取該全局第一變量,若該全局第一變量的值與本VCPU的標識相同,則說明需要對本VCPU上的應用進行調試,因此通過執行本VCPU對應的串口上輸入的調試命令以達到調試目的。可以看出,全局第一變量的值為調試目標VCPU的標識,通過串口切換命令設置該全局第一變量,即達到了切換調試目標VCPU或調試目標VCPU對應的串行接口的目的,因此可以有效控制調試目標,與現有技術相比,提高了多核處理器環境下基於VCPU進行應用調試的可靠性和準確性。
[0018]在一種優選的實現方式中,所述執行模塊還用於,在執行所述調試命令之後,在所述調試命令的執行結果中添加本VCPU的標識,輸出添加了本VCPU的標識的執行結果。通過以上操作,並結合通過串口切換命令將全局第一變量的值設置為調試目標VCPU的標識,可以實現對目標VCPU上的應用進行調試。
[0019]在一種優選的實現方式中,所述獲取模塊具體用於,通過執行系統函數,獲取本VCPU對應的串行接口上輸入的命令,以表明該執行結果是哪個VCPU的調試命令執行結果,以便於後續分析。
[0020]在一種優選的實現方式中,所述串行接口上輸入的命令是預先註冊到所述多核處理器的作業系統中的。這樣,新增調試命令時,僅需在全局的結構體中按照格式增加所需的調試命令即可,可以不需每次都在初始化時增加調試命令。
【專利附圖】

【附圖說明】
[0021]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0022]圖1為本發明實施例提供的多核處理器環境下基於VCPU的調試流程示意圖之
[0023]圖2為本發明實施例提供的多核處理器環境下基於VCPU的調試流程示意圖之-* ;
[0024]圖3為本發明實施例提供的多核處理器環境下基於VCPU的調試裝置的示意圖。【具體實施方式】
[0025]為了提高多核處理器環境下基於VCPU對應用程式進行調試時的可靠性和準確性,本發明實施例通過在串行接口(以下簡稱串口)上輸入串口切換命令的方式,由該串口切換命令將一個所有VCPU共享的全局變量設置為調試目標VCPU的標識,若有VCPU根據該全局變量確認本VCPU為調試目標VCPU時,根據本VCPU對應的串口上輸入的調試命令進行應用程式調試。
[0026]為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
[0027]參見圖1,為本發明實施例提供的多核處理器環境下基於VCPU的調試流程示意圖。本發明實施例中,首先設置一個所有VCPU共享的全局變量,該全局變量的值為需要進行調試的第一目標VCPU的標識。在每個設定周期,每個VCPU執行以下操作:
[0028]步驟101:獲取所述全局變量;
[0029]步驟102:將獲取到的所述全局變量的值與本VCPU的標識進行比較,若所述全局變量的值與本VCPU的標識相同,則獲取本VCPU對應的串行接口上輸入的命令並執行所述命令。所述命令可以包括調試命令和/或串口切換命令,所述串口切換命令用於將所述全局變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
[0030]為方便描述,以下將所述全局變量稱為g_UlShellMask,並參照圖2對本發明實施例的具體實現過程進行更詳細的描述。g_ulShellMask的取值範圍為VCPU標識的取值範圍。例如,如果VCPU標識為整數編號,取值範圍是[O,N] (N為不小於I的正整數),則g_UlShellMask的取值範圍也可設置為[O,N]範圍內的整數。
[0031]當需要對VCPUn (O ≤ n ≤ N)上運行的應用程式進行調試時,可通過串口切換命令將g_ulShelIMask設置為VCPUn的VCPU標識值,然後在VCPUn對應的串口上輸入調試命令。每個VCPU按照設定周期讀取g_ulShellMask,並將讀取的變量值與自身的VCPU標識值進行比較,若相同,則獲取並執行本VCPU對應的串口上輸入的調試命令。
[0032]參見圖2,為本發明實施例提供的多核處理器環境下基於VCPU的調試流程示意圖。以下流程可按照設定周期執行,在每個周期,每個VCPU執行以下操作:
[0033]步驟201:讀取全局變量g_ulShellMask ;
[0034]步驟202:將讀取的全局變量g_ulShellMask與本VCPU的標識進行比較,如果相同,則轉入步驟203,否則轉入步驟206 ;
[0035]步驟203:獲取該VCPU對應的串口上輸入的命令;
[0036]步驟204:執行獲取到的命令;
[0037]步驟206:執行常規處理(比如執行本VCPU需要周期處理的操作),並等待下一個周期的到來。
[0038]上述流程的步驟204中,該VCPU對應的串口上輸入的命令可以僅包括串口切換命令,也可以僅包括調試命令,還可以既包括串口切換命令又包括調試命令(步驟204a)。如果僅包含串口切換命令,則VCPU通過執行該串口切換命令設置全局變量g_ulShellMask,SP,將當前串口切換到g_ulShellMask所指示的目標VCPU對應的串口,以便下一個周期到達時,針對該變量g_ulShellMask所指示的目標VCPU上運行的應用進行調試(步驟204b),執行完成串口切換命令後可進一步轉入步驟206。如果僅包含調試命令,則VCPU通過執行該調試命令以達到對該VCPU上運行的應用進行調試的目的(步驟204c),此後可進一步轉入步驟206。如果既包括串口切換命令又包括調試命令,則VCPU在將當前串口切換到下一個周期需要進行調試的目標VCPU對應的串口的同時,還對本VCPU上運行的應用進行調試(步驟204d),此後可進一步轉入步驟206。
[0039]進一步的,若該VCPU對應的串口上輸入的命令中包含調試命令,則在執行該調試命令之後,還可包括步驟205:通過列印操作將執行結果通過本VCPU對應的串口進行輸出。進一步的,在輸出執行結果時,可在輸出的執行結果中添加本VCPU的標識,以表明該執行結果是哪個VCPU的調試命令執行結果,以便於後續分析。
[0040]所述調試命令可以包括查看VCPU狀態的命令等,比如查看收發統計情況,查看CPU、內存資源使用情況等,在此不再一一列舉。
[0041 ] 通過以上描述可以看出,本發明的上述實施例,通過在當前VCPU對應的串行接口上輸入串口切換命令,通過串口切換命令將全局變量的值設置為調試目標VCPU的標識;各VCPU按照設定周期獲取該全局變量,若該全局變量的值與本VCPU的標識相同,則說明需要對本VCPU上的應用進行調試,因此通過執行本VCPU對應的串口上輸入的調試命令以達到調試目的。可以看出,全局變量的值為調試目標VCPU的標識,通過串口切換命令設置該全局第一變量,即達到了切換調試目標VCPU或調試目標VCPU對應的串行接口的目的,因此可以有效控制調試目標,與現有技術相比,提高了多核處理器環境下基於VCPU進行應用調試的可靠性和準確性。
[0042]為了更加清楚的對本發明實施例進行說明,下面以在RMIOS系統中的應用為例,說明本發明實施例的具體實現過程,在其他作業系統中的應用與此類似。
[0043]將本發明實施例應用於RMIOS系統中時,可利用RMIOS系統的系統函數register_shell_cmd註冊shell命令,並可根據需要對所有VCPU共享的shared_memory (共享內存或共享寄存器)型變量進行設置,各個VCPU在運行的過程中每隔Ims (當然也可以設置為其他時間長度)讀取一次該變量值,以確認是否執行系統函數Shell_run函數來捕獲和執行本VCPU對應的串口輸入的命令,並在執行串口輸入的命令後將該命令的執行結果輸出至串口,從而有效的控制串口輸出與VCPU的對應關係,支持通過同一個串口與多個VCPU之間進行有序的人機互動。
[0044]下面對以上在RMIOS系統中的應用進行具體描述。
[0045]本發明實施例中,VCPU號取值在0-31之間(包括O和31),VCPUO為VCPU號為O的VCPU,VCPUl為VCPU號為I的VCPU,以此類推。在多核處理器進行初始化的過程中,執行以下操作:
[0046](a)定義shared_memory型串口控制掩碼全局變量g_ulShelIMask,用於進行串口控制。g_ulShellMask的取值範圍為[0,31],初始值可設置為O。
[0047](b)定義全局變量g_ulVCPnd,每個VCPU均具有自己的g_ulVCPnd,用於存儲本VCPU的VCPU號,g_ulVCPnd的取值範圍為[0,31]。可通過調用RMIOS的API函數分別獲取各VCPU的VCPU號,存儲在對應VCPU的全局變量g_ulVCPnd中。
[0048](C)調用 RMIOS 系統提供的 API (Application Programming Interface,應用程式編程接口)函數進行shell初始化。在計算機科學中,Shell俗稱殼(用來區別於核),是指「提供使用者使用界面」的軟體(命令解析器)。它接收用戶命令,然後調用相應的應用程式。同時它又是一種程序設計語言。作為命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程序設計語言,它定義了各種變量和參數,並提供了許多在高級語言中才具有的控制結構。
[0049](d)調用系統函數register_shell_cmd向RMIOS系統註冊可用的shell命令。註冊的shall命令中需要包括串口切換命令。註冊shell命令的語句為:
[0050]register_shell_cmd (//run_shell_cmd//, (void*) run_shell_cmd)
[0051]串口切換命令的實現可以是:在run_shell_cmd中通過參數來帶入輸入的字符串和參數,並執行函數來實現串口切換。如:串口切換命令的完整執行語句為:run_shell_cmdset_printmask3,通過執行該命令可將g_ulShellMask的值設置為3。
[0052]在初始化過程中,用戶可根據需求在run_shell_cmd中增加不同的shell命令,以便在運行過程中對VCPU的各種狀態信息進行查看,達到對VCPU上的應用進行調試的目的,也可以在運行時直接調用系統函數register_shell_cmd註冊命令來實現對VCPU的各種狀態信息進行查看。本發明實施例優選採用的是前種方法。新增shell命令時,僅需在全局的結構體中按照格式增加所需的shell命令即可,可以不需每次都在初始化時增加register_shell_cmd。
[0053]下面以一個具體場景說明在多核處理器運行過程中的基於VCPU進行應用調試的流程。下面的場景中,將當前VCPUO對應的串口切換到VCPU3對應的串口,然後在VCPU3對應的串口上輸入調試命令,以實現對VCPU3上運行的應用進行調試。
[0054]第一毫秒到達時,此時g_u I She I IMask=O,則當前的串口為VCPUO對應的串口。此時在 VCPUO 對應的串口 上輸入 run_shell_cmd set_printmask3, VCPUO 讀取 g_ulShellMask,判斷讀取到的g_u I She I IMask值與VCPUO的變量g_ulVCPnd的值相同,即讀取到的g_ulShelIMask值與自身的VCPU號相同,則通過執行RMIOS的系統函數shell_run,來捕獲VCPUO對應的串口上輸入的run_shell_cmd set_printmask3命令,通過執行該命令將8_11131^1 IMask設置為3。進一步的,此後VCPUO還可執行本VCPU需要定期執行的操作。 [0055]第二毫秒到達時,此時g_ulShellMask=3,則當前的串口為VCPU3對應的串口。此時在VCPU3對應的串口上輸入調試命令,VCPU3讀取g_ulShellMask,判斷讀取到的g_ulShellMask值與VCPU3的變量g_ulVCPnd的值相同,即讀取到的g_ulShelIMask值與自身的VCPU號相同,則通過執行RMIOS的系統函數shell_run,來捕獲VCPU3對應的串口上輸入的調試命令,並執行該調試命令。進一步的,VCPU3還可以將自身的VCPU號添加到調試命令的執行結果中,再通過調用printf函數將該執行結果從VCPU3對應的串口輸出。進一步的,此後VCPU3還可執行本VCPU需要定期執行的操作。
[0056]每隔一毫秒,每個VCPU都會讀取8_11151^111&181^,判斷讀取到的g_ulShellMask值與本VCPU的變量g_uivcpnd的值是否相同。在上述第一毫秒到達時,除VCPUO以外的其他VCPU讀取到的g_ulShellMask值與自身的VCPU號不相同,此種情況下,可執行本VCPU需要定期執行的操作,如數據分發,調度處理等。同理,在上述第二毫秒到達時,除VCPU3以外的其他VCPU讀取到的g_ulShelIMask值與自身的VCPU號不相同,此種情況下,可執行本VCPU需要定期執行的操作,如數據分發,調度處理等。
[0057]在全局變量g_ulShellMask不變的情況下,始終對該全局變量g_ulShellMask所指示的VCPU上的應用進行調試。
[0058]當需要對其他VCPU上的應用進行調試時,則可通過上述方式先進行串口切換,即切換到目標VCPU對應的串口,然後在該目標VCPU對應的串口上輸入調試命令,使目標VCPU執行該調試命令,完成對該目標VCPU上的應用的調試。
[0059]進一步的,如果串口切換命令中的參數(該參數為目標VCPU的VCPU號)超出VCPU號的取值範圍,比如串口切換命令為run_shell_cmdset_printmask33,則VCPU不更新全局變量g_ulShellMask的值,本次串口切換失敗,當前串口不變。
[0060]上述流程中,可通過人機互動方式,在VCPU對應的串口上輸入調試命令和/或串口切換命令。例如,用戶可通過在管理多核處理器的作業系統界面中輸入上述調試命令和/或串口切換命令;也可以通過軟體方式按照設定的調試策略在VCPU對應的串口上輸入調試命令和/或串口切換命令,以達到對目標VCPU上的應用進行調試的目的,如可依次對每個VCPU上運行的應用進行相同的調試操作。
[0061]綜上所述,本發明實施例與現有技術相比,可以提高多核處理器環境下基於VCPU進行應用調試的可靠性和準確性。
[0062]為了進一步闡述本發明實施例提供的技術方案的技術效果,下面對照現有的幾種多核處理器環境下基於VCPU進行應用調試的方法進行對比分析。
[0063](I)與現有技術中通過在代碼上嵌入printf原始碼來進行錯誤跟蹤的方式進行對比分析[0064]現有技術提供的列印調試方法是不可控制調試方法,多個內核會同時進行調試和列印輸出,這樣導致一方面,由於無法保證printf的列印順序,也就無法區分列印輸出的是哪個內核的信息,也就無法保證列印輸出的可靠性和準確性;另一方面,由於該方法對調試目標不可控,因此對於不需要調試的目標內核也進行列印輸出,造成系統資源的浪費。
[0065]而本發明實施例提供的調試方法,通過在當前VCPU對應的串行接口上輸入串口切換命令,通過串口切換命令將全局變量的值設置為調試目標VCPU的標識,以控制調試目標VCPU或調試目標VCPU對應的串行接口,從而有效控制調試目標,與現有技術相比,提高了多核處理器環境下基於VCPU進行應用調試的可靠性和準確性。
[0066](2)與現有技術中通過JTAG (Joint Test Action Group,聯合測試行動小組)協議來進行調試的方式進行對比分析
[0067]現有技術中,在多路技術的支持下,通過對希望調試的內核進行註冊登記(Registering),開發人員可經由單一 JTAG接口訪問多個離散狀態的內核。如果在有多個廠商產品組成的異構多核環境中進行調試工作,此時,僅僅依靠多路技術是無法解決問題的,開發人員就需要採用可編址掃描埠(addressable scan port)。這種架構需要用到非常特殊的組件,這些組件可以讓開發人員把JTAG掃描鏈分割成多個功能組,並通過唯一的地址來訪問每個功能組。由於JTAG使用的一些局限性,如:系統配置複雜,連線需求等在完整的產品交付後無法使用,並且對使用者的要求也比較高,不可能所有的維護人員都能夠做到熟練使用JTAG進行調試。
[0068]而本發明實施例只要在串口上輸入串口切換命令和調試命令,即可實現對特定VCPU上的應用進行調試,使用簡單方便,無需開發人員掌握特定的技術及知識。
[0069](3)與現有技術中通過硬體或軟體斷點調試方式進行對比分析
[0070]通過硬體或軟體的斷點調試方式,是指在調試的過程中通過設置硬體端點或軟體斷點來對程序進行調試。硬體斷點需要硬體寄存器提供支持,斷點的數目受限。軟體斷點通過在運行起來的程序中設置特徵值實現,但是一般情況下軟體斷點只能在可寫的存儲器的地址中設置(比如:RAM),而不能在ROM (比如:Flash)中設置。
[0071]硬體斷點需要目標CPU的硬體支持,對於當前的RMIOS系統,由於硬體不支持,則硬體斷點無法使用。對於軟體斷點,通常的軟體斷點只能設在RAM運行的代碼上,而隨著系統的代碼量越來越大,特別是在移動通信領域,擴充大容量的RAM勢必會增加產品的成本,所以現在很多系統直接在FlashROM上運行代碼。對於這種在FlashROM上運行代碼的系統,一般的軟體斷點是無法設置的,這也是軟體斷點的局限性。
[0072]而本發明實施例,提供的調試方法,不用設置斷點,因此不受設置斷點的條件限制,可以通過shell命令對所需的信息進行查看或執行函數,無需打斷認為執行,實時性好。
[0073](4)與現有技術中遠端模擬shell執行調試的方式進行對比分析
[0074]現有技術中的遠端模擬shell類似於Telnet的文本方式交互的調試手段。在終端將文本消息發送至目標執行終端並轉換為函數調用,目標終端執行完命令後將結果以字符串的方式再返回給源終端。該方案要求中間的節點通信必須暢通,如有通信異常則無法獲取到信息。
[0075]而本發明實施例中,無需通過中間節點,因此可靠性得以提高。另外,本發明實施例通過軟體凡是實現串口在VCPU間的切換及列印控制,配置簡單,成本低廉,處理簡單,可
靠性高。
[0076]基於相同的技術構思,本發明實施例還提供了一種多核處理器中基於虛擬處理器VCPU的調試裝置,該裝置可應用於本發明實施例的上述流程。
[0077]參見圖3,為本發明實施例提供的多核處理器中基於虛擬處理器VCPU的調試裝置結構示意圖。該裝置位於多核處理器中的每個VCPU,所述裝置可包括:獲取模塊301、判斷模塊302和執行模塊303,其中:
[0078]獲取模塊301,用於獲取第一變量,所述第一變量為所述多核處理器中所有VCPU共享的全局變量,所述全局變量的值為需要進行調試的第一目標VCPU的標識;
[0079]判斷模塊302,用於將所述獲取模塊獲取到的第一變量的值與本VCPU的標識進行比較;
[0080]執行模塊303,用於在所述判斷類模塊判斷所述第一變量的值與本VCPU的標識相同時,獲取本VCPU對應的串行接口上輸入的命令並執行所述命令,所述命令包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
[0081]進一步的,執行模塊還可在執行所述調試命令之後,在所述調試命令的執行結果中添加本VCPU的標識,輸出添加了本VCPU的標識的執行結果。
[0082]具體的,獲取模塊301可通過執行系統函數,獲取本VCPU對應的串行接口上輸入的命令。
[0083]具體的,所述串行接口上輸入的命令是預先註冊到所述多核處理器的作業系統中的。
[0084]本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0085]這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0086]這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0087]儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。[0088]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種多核處理器中基於虛擬處理器VCPU的調試方法,其特徵在於,每個VCPU按照設定周期執行以下步驟: 獲取第一變量,所述第一變量為所述多核處理器中所有VCPU共享的全局變量,所述全局變量的值為需要進行調試的第一目標VCPU的標識; 將獲取到的第一變量的值與本VCPU的標識進行比較,若所述第一變量的值與本VCPU的標識相同,則獲取本VCPU對應的串行接口上輸入的命令並執行所述命令,所述命令包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
2.如權利要求1所述的方法,其特徵在於,還包括: 在需要對所述第二目標VCPU進行調試時,在當前VCPU對應的串行接口上輸入串口切換命令,所述當前VCPU的VCPU標識與當前所述第一變量的值相同,所述串口切換命令用於將所述第一變量的值設置為所述第二目標VCPU的標識。
3.如權利要求1所述的方法,其特徵在於,執行所述調試命令之後,還包括: 在所述調試命令的執行結果中添加本VCPU的標識,輸出添加了本VCPU的標識的執行結果。
4.如權利要求1-3中任一項所述的方法,其特徵在於,所述獲取本VCPU對應的串行接口上輸入的命令,包括: 通過執行系統函數,獲取本VCPU對應的串行接口上輸入的命令。
5.如權利要求1-3中任一項所述的方法,其特徵在於,所述串行接口上輸入的命令是預先註冊到所述多核處理器的作業系統中的。
6.一種多核處理器中基於虛擬處理器VCPU的調試裝置,其特徵在於,所述裝置位於所述多核處理器中的每個VCPU,所述裝置包括: 獲取模塊,用於獲取第一變量,所述第一變量為所述多核處理器中所有VCPU共享的全局變量,所述全局變量的值為需要進行調試的第一目標VCPU的標識; 判斷模塊,用於將所述獲取模塊獲取到的第一變量的值與本VCPU的標識進行比較; 執行模塊,用於在所述判斷類模塊判斷所述第一變量的值與本VCPU的標識相同時,獲取本VCPU對應的串行接口上輸入的命令並執行所述命令,所述命令包括調試命令和/或串口切換命令,所述串口切換命令用於將所述第一變量的值設置為需要進行調試的第二目標VCPU的標識,所述調試命令用於對VCPU上的應用進行調試。
7.如權利要求6所述的裝置,其特徵在於,所述執行模塊還用於,在執行所述調試命令之後,在所述調試命令的執行結果中添加本VCPU的標識,輸出添加了本VCPU的標識的執行結果。
8.如權利要求6或7所述的裝置,其特徵在於,所述獲取模塊具體用於,通過執行系統函數,獲取本VCPU對應的串行接口上輸入的命令。
9.如權利要求6或7所述的裝置,其特徵在於,所述串行接口上輸入的命令是預先註冊到所述多核處理器的作業系統中的。
【文檔編號】G06F11/36GK103544105SQ201310508682
【公開日】2014年1月29日 申請日期:2013年10月24日 優先權日:2013年10月24日
【發明者】蔡蕾, 王麗娜 申請人:大唐移動通信設備有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀