一種多處理器設(shè)備的軟件升級方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種多處理器設(shè)備的軟件升級方法,涉及軟件升級技術(shù)領(lǐng)域。該方法包括:主處理器接收用戶升級請求,用戶升級請求包括一個或多個從處理器的ID以及與一個或多個從處理器的ID一一對應的升級文件;主處理器解析用戶升級請求,以獲取一個或多個從處理器的ID和以及與一個或多個從處理器的ID一一對應的升級文件;主處理器根據(jù)一個或多個從處理器的ID分別將升級文件對應發(fā)送至一個或多個從處理器,使一個或多個從處理器根據(jù)升級文件進行軟件升級。本發(fā)明簡化了多處理器設(shè)備的電路結(jié)構(gòu),降低了多處理設(shè)備的硬件成本,并且方便了多處理器設(shè)備軟件的升級和維護。
【專利說明】
一種多處理器設(shè)備的軟件升級方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于軟件升級技術(shù)領(lǐng)域,尤其涉及一種多處理器設(shè)備的軟件升級方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著科學技術(shù)的進步和機器人學的發(fā)展,機器人系統(tǒng)硬件結(jié)構(gòu)越來越復雜,單一處理器已滿足不了機器人性能需求,因此在現(xiàn)有的機器人系統(tǒng)一般設(shè)計有多個處理器,以共同完成大規(guī)模計算或?qū)崟r控制,這樣對機器人系統(tǒng)的軟件版本進行升級就會涉及到多處理器升級問題。目前,軟件版本的升級方法多為采用有線或無線升級方式對單一處理器單獨進行升級,考慮到機器人或其他多處理器設(shè)備,若使用現(xiàn)有的升級方案,則每次只能升級一個處理器,并且硬件上每個處理器均對應一個升級模塊,這樣機器人或其他多處理器設(shè)備不僅電路復雜、器件多、成本高,而且軟件版本的升級和維護也相當復雜。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例的目的在于提供一種多處理設(shè)備的軟件升級方法及系統(tǒng),旨在解決上述機器人或其他多處理器設(shè)備電路復雜、器件多、成本高,并且軟件版本的升級和維護也相當復雜的問題。
[0004]本發(fā)明實施例是這樣實現(xiàn)的,一種多處理器設(shè)備的軟件升級方法,包括:
[0005]主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件;
[0006]所述主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件;
[0007]所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級。
[0008]本發(fā)明實施例的另一目的在于提供一種多處理器設(shè)備的軟件升級系統(tǒng),包括主處理器、一個或多個從處理器,所述主處理器和所述一個或多個從處理器之間通過通信接口電路連接,所述主處理器包括升級請求接收模塊、升級請求解析模塊以及升級文件發(fā)送模塊,所述從處理器包括升級模塊,其中:
[0009]所述升級請求接收模塊,用于接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件;
[0010]所述升級請求解析模塊,用于解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件;
[0011]所述升級文件發(fā)送模塊,用于根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器;
[0012]所述升級模塊,用于根據(jù)所述升級文件進行軟件升級。
[0013]實施本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級方法及系統(tǒng)具有以下有益效果:
[0014]本發(fā)明實施例由于首先由主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件;然后由主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件;最后再由所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級,從而可以通過主處理器同時對一個或多個從處理器進行升級,無需為每個從處理器都對應設(shè)置一個升級模塊,簡化了多處理器設(shè)備的電路結(jié)構(gòu),降低了多處理設(shè)備的硬件成本,并且方便了多處理器設(shè)備軟件的升級和維護。
【附圖說明】
[0015]圖1是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級方法的具體實現(xiàn)流程圖;
[0016]圖2是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級方法中步驟S103的具體實現(xiàn)流程圖;
[0017]圖3本發(fā)明另一實施例提供的一種多處理器設(shè)備的軟件升級方法的具體實現(xiàn)流程圖;
[0018]圖4是本發(fā)明另一實施例提供的一種多處理器設(shè)備的軟件升級方法中步驟S103的具體實現(xiàn)流程圖;
[0019]圖5是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng)的架構(gòu)圖;
[0020]圖6是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng)中主處理器和從處理器的結(jié)構(gòu)示意圖。
【具體實施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]圖1是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級方法的具體實現(xiàn)流程圖。參見圖1所示,本實施例提供的一種多處理器設(shè)備的軟件升級方法,包括:
[0023]在SlOl中,主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件。
[0024]在本實施例中,所述多個從處理器具體是指兩個或兩個以上從處理器,用戶根據(jù)自身需求向所述主處理器發(fā)送包含有一個或多個從處理器ID和升級文件的用戶升級請求,各從處理器的ID與各從處理器升級所需的升級文件對應綁定。
[0025]在S102中,所述主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件。
[0026]在S103中,所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級。
[0027]圖2示出了本實施例中S103的具體實現(xiàn)流程。參見圖2所示,在本實施例中,步驟S103具體包括:
[0028]在S201中,所述主處理器根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送升級指令,使所述一個或多個從處理器根據(jù)所述升級指令返回相應的應答信息;
[0029]在S202中,所述主處理器根據(jù)所述應答信息通過串口Ymodem協(xié)議將與所述一個或多個從處理器一一對應的升級文件發(fā)送至所述一個或多個從處理器;
[0030]在S203中,所述一個或多個從處理器利用所述升級文件進行軟件升級。
[0031]需要說明的是,在本實施例中,若所述主處理器在向所述一個或多個從處理器發(fā)送升級指令后,在預設(shè)時間內(nèi)未接收到所述一個或多個從處理器返回的應答信息,則說明所述主處理器與所述一個或多個從處理器之間握手通訊失敗,此時所述主處理器控制所述多處理器設(shè)備發(fā)出升級失敗的告警信息,使用戶根據(jù)該告警信息采取相應的補救措施。此夕卜,本實施例中主處理器和從處理器之間通過串口 Ymodem協(xié)議進行數(shù)據(jù)通信,其每包數(shù)據(jù)可以達到1024字節(jié),數(shù)據(jù)傳輸效率較高,能夠進一步提高升級效率。應當理解的是,Ymodem協(xié)議僅僅是本實施例列舉的一種實現(xiàn)方式,在其他實現(xiàn)示例中主處理器和從處理器之間仍然可以通過其他通信協(xié)議進行數(shù)據(jù)通信。
[0032]以上可以看出,本實施例提供的一種多處理器設(shè)備的軟件升級方法由于首先由主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件;然后由主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID 對應的升級文件;最后再由所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級,從而可以通過主處理器同時對一個或多個從處理器進行升級,無需為每個從處理器都對應設(shè)置一個升級模塊,簡化了多處理器設(shè)備的電路結(jié)構(gòu),降低了多處理設(shè)備的硬件成本,并且方便了多處理器設(shè)備軟件的升級和維護。
[0033]圖3本發(fā)明另一實施例提供的一種多處理器設(shè)備的軟件升級方法的具體實現(xiàn)流程圖。參見圖3所示,相對于圖1所示實施例本實施例提供的一種多處理器設(shè)備的軟件升級方法包括:
[0034]在S301中,主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件。
[0035]在S302中,所述主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件。
[0036]在S303中,所述主處理器根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送復位請求信號,以使所述一個或多個從處理器啟動復位。
[0037]在本實施例中,所述主處理器在控制所述從處理器進行軟件升級前向所述從處理器發(fā)送復位請求信號,使所述從處理器根據(jù)所述復位請求信號處于復位等待升級狀態(tài),能夠進一步保障軟件升級的順利進行,避免出現(xiàn)從處理器在接收到所述升級文件時正在執(zhí)行其他控制操作而無法進行軟件升級的情況。
[0038]在S304中,所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級。
[0039]圖4示出了本實施例中S304的具體實現(xiàn)流程。參見圖4所示,在本實施例中,步驟S304具體包括:
[0040]在S401中,所述主處理器根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送升級指令,使所述一個或多個從處理器根據(jù)所述升級指令返回相應的應答信息;
[0041 ] 在S402中,所述主處理器根據(jù)所述應答信息通過串口Ymodem協(xié)議將與所述一個或多個從處理器一一對應的升級文件發(fā)送至所述一個或多個從處理器;
[0042]在S403中,所述一個或多個從處理器分別對各自所接收到的升級文件進行校驗,判斷校驗是否通過;若校驗通過,則進入步驟S404,,若校驗未通過,則進入步驟S405;
[0043]在S404中,所述一個或多個從處理器利用所述升級文件進行軟件升級;
[0044]在S405中,放棄升級,并向所述主處理器返回升級失敗的提示信息。
[0045]其中,S403具體包括:所述一個或多個從處理器分別讀取各自所接收到的升級文件的文件名,判斷所述文件名中是否符合預設(shè)格式,若符合預設(shè)格式,則校驗通過,否則校驗失敗。
[0046]在本實施例中,用戶可根據(jù)從處理器的型號預先為所述從處理器設(shè)置校驗升級文件的文件名的預設(shè)格式,例如:ARM從處理器中校驗升級文件的文件名的預設(shè)格式為:要求升級文件的文件名中包含字符apld,這樣在對所述升級文件進行校驗時,則需要判斷所述升級文件的文件名中是否包含字符apld,若所述升級文件的文件名中包含字符apld,則校驗通過;反之,校驗失敗。相對于上一實施例,本實施例中采用的在利用升級文件進行升級時對升級文件進行校驗,能夠進一步提高軟件升級的可靠性。
[0047]以上可以看出,本實施例提供的一種多處理器設(shè)備的軟件升級方法同樣可以通過主處理器同時對一個或多個從處理器進行升級,簡化了多處理器設(shè)備的電路結(jié)構(gòu),降低了多處理設(shè)備的硬件成本,并且方便了多處理器設(shè)備軟件的升級和維護;此外,相對于上一實施例,本實施例還能夠進一步保障軟件升級的順利進行,提高軟件升級的可靠性。
[0048]圖5是本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng)的架構(gòu)圖,該系統(tǒng)用于運行圖1?圖4所示實施例提供的方法。為了便于說名僅僅示出了與本實施例相關(guān)的部分。
[0049]參見圖5所示,本實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng),包括主處理器
1、一個或多個從處理器2,所述主處理器I和所述一個或多個從處理器2之間通過通信接口電路連接。
[0050]圖6示出了本發(fā)明實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng)中主處理器I和從處理器2的結(jié)構(gòu)示意圖。參見圖6所示,在本實施例中所述主處理器I包括升級請求接收模塊U、升級請求解析模塊12以及升級文件發(fā)送模塊14,所述從處理器2包括升級模塊23,其中:
[0051]所述升級請求接收模塊11,用于接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器2的ID以及與所述一個或多個從處理器2的ID—一對應的升級文件;
[0052]所述升級請求解析模塊12,用于解析所述用戶升級請求,以獲取所述一個或多個從處理器2的ID和以及與所述一個或多個從處理器2的ID 對應的升級文件;
[0053]所述升級文件發(fā)送模塊14,用于根據(jù)所述一個或多個從處理器2的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器2;
[0054]所述升級模塊23,用于根據(jù)所述升級文件進行軟件升級。
[0055]可選的,所述主處理器I還包括復位請求模塊13,所述從處理器還包括軟件復位模塊21,其中:
[0056]所述復位請求模塊13,用于根據(jù)所述一個或多個從處理器2的ID向所述一個或多個從處理器2發(fā)送復位請求信號,以使所述一個或多個從處理器2的軟件復位模塊21根據(jù)所述復位請求信號控制所述一個或多個從處理器啟動復位。
[0057]可選的,所述升級文件發(fā)送模塊14具體用于:
[0058]根據(jù)所述一個或多個從處理器2的ID向所述一個或多個從處理器2發(fā)送升級指令,使所述一個或多個從處理器2根據(jù)所述升級指令返回相應的應答信息;
[0059]根據(jù)所述應答信息通過串口 Ymodem協(xié)議將與所述一個或多個從處理器2—一對應的升級文件發(fā)送至所述一個或多個從處理器2。
[0060]可選的,所述從處理器2還包括:
[0061]升級文件校驗模塊22,用于對所述升級文件進行校驗;若校驗通過,則利用控制所述升級模塊23利用所述升級文件進行軟件升級;若校驗未通過,則控制所述升級模塊23放棄升級,并向所述主處理器I返回升級失敗的提示信息。
[0062]可選的,所述升級文件校驗模塊22具體用于:
[0063]所述一個或多個從處理器2分別讀取各自所接收到的升級文件的文件名,判斷所述文件名中是否符合預設(shè)格式,若符合預設(shè)格式,則校驗通過,否則校驗失敗。
[0064]需要說明的是,本發(fā)明實施例提供的上述終端中各個模塊,由于與本發(fā)明方法實施例基于同一構(gòu)思,其帶來的技術(shù)效果與本發(fā)明方法實施例相同,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0065]因此,可以看出本實施例提供的一種多處理器設(shè)備的軟件升級系統(tǒng)同樣可以通過主處理器I同時對一個或多個從處理器2進行升級,簡化了多處理器設(shè)備的電路結(jié)構(gòu),降低了多處理設(shè)備的硬件成本,并且方便了多處理器設(shè)備軟件的升級和維護。
[0066]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種多處理器設(shè)備的軟件升級方法,其特征在于,包括: 主處理器接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件; 所述主處理器解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件; 所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級。2.如權(quán)利要求1所述的多處理器設(shè)備的軟件升級方法,其特征在于,所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級之前還包括: 所述主處理器根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送復位請求信號,以使所述一個或多個從處理器啟動復位。3.如權(quán)利要求2所述的多處理器設(shè)備的軟件升級方法,其特征在于,所述主處理器根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器,使所述一個或多個從處理器根據(jù)所述升級文件進行軟件升級具體包括: 所述主處理器根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送升級指令,使所述一個或多個從處理器根據(jù)所述升級指令返回相應的應答信息; 所述主處理器根據(jù)所述應答信息通過串口 Ymodem協(xié)議將與所述一個或多個從處理器一一對應的升級文件發(fā)送至所述一個或多個從處理器; 所述一個或多個從處理器利用所述升級文件進行軟件升級。4.如權(quán)利要求3所述的多處理器設(shè)備的軟件升級方法,其特征在于,所述一個或多個從處理器利用所述升級文件進行軟件升級之前還包括: 所述一個或多個從處理器分別對各自所接收到的升級文件進行校驗;若校驗通過,則利用所述升級文件進行軟件升級;若校驗未通過,則放棄升級,并向所述主處理器返回升級失敗的提不?目息。5.如權(quán)利要求4所述的多處理器設(shè)備的軟件升級方法,其特征在于,所述一個或多個從處理器分別對各自所接收到的升級文件進行校驗具體包括: 所述一個或多個從處理器分別讀取各自所接收到的升級文件的文件名,判斷所述文件名中是否符合預設(shè)格式,若符合預設(shè)格式,則校驗通過,否則校驗失敗。6.—種多處理器設(shè)備的軟件升級系統(tǒng),其特征在于,包括主處理器、一個或多個從處理器,所述主處理器和所述一個或多個從處理器之間通過通信接口電路連接,所述主處理器包括升級請求接收模塊、升級請求解析模塊以及升級文件發(fā)送模塊,所述從處理器包括升級模塊,其中: 所述升級請求接收模塊,用于接收用戶升級請求,所述用戶升級請求包括一個或多個從處理器的ID以及與所述一個或多個從處理器的ID—一對應的升級文件; 所述升級請求解析模塊,用于解析所述用戶升級請求,以獲取所述一個或多個從處理器的ID和以及與所述一個或多個從處理器的ID—一對應的升級文件; 所述升級文件發(fā)送模塊,用于根據(jù)所述一個或多個從處理器的ID分別將所述升級文件對應發(fā)送至所述一個或多個從處理器; 所述升級模塊,用于根據(jù)所述升級文件進行軟件升級。7.如權(quán)利要求6所述的多處理器設(shè)備的軟件升級系統(tǒng),其特征在于,所述主處理器還包括復位請求模塊,所述從處理器還包括軟件復位模塊,其中: 所述復位請求模塊,用于根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送復位請求信號,以使所述一個或多個從處理器的軟件復位模塊根據(jù)所述復位請求信號控制所述一個或多個從處理器啟動復位。8.如權(quán)利要求7所述的多處理器設(shè)備的軟件升級系統(tǒng),其特征在于,所述升級文件發(fā)送模塊具體用于: 根據(jù)所述一個或多個從處理器的ID向所述一個或多個從處理器發(fā)送升級指令,使所述一個或多個從處理器根據(jù)所述升級指令返回相應的應答信息; 根據(jù)所述應答信息通過串口 Ymodem協(xié)議將與所述一個或多個從處理器一一對應的升級文件發(fā)送至所述一個或多個從處理器。9.如權(quán)利要求8所述的多處理器設(shè)備的軟件升級系統(tǒng),其特征在于,所述從處理器還包括: 升級文件校驗模塊,用于對所述升級文件進行校驗;若校驗通過,則利用控制所述升級模塊利用所述升級文件進行軟件升級;若校驗未通過,則控制所述升級模塊放棄升級,并向所述主處理器返回升級失敗的提示信息。10.如權(quán)利要求9所述的多處理器設(shè)備的軟件升級系統(tǒng),其特征在于,所述升級文件校驗模塊具體用于: 所述一個或多個從處理器分別讀取各自所接收到的升級文件的文件名,判斷所述文件名中是否符合預設(shè)格式,若符合預設(shè)格式,則校驗通過,否則校驗失敗。
【文檔編號】G06F9/445GK106020898SQ201610371060
【公開日】2016年10月12日
【申請日】2016年5月30日
【發(fā)明人】阮國微, 王玉斌
【申請人】華訊方舟科技有限公司