本發(fā)明涉及嵌入式硬件領(lǐng)域,具體地涉及對(duì)包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法。
背景技術(shù):
在嵌入式硬件領(lǐng)域,基于ARM(低成本RISC微處理器)、DSP(數(shù)字信號(hào)處理器)、FPGA(現(xiàn)場(chǎng)可編程邏輯陣列)的硬件結(jié)構(gòu)有著廣泛的應(yīng)用。在一些復(fù)雜的應(yīng)用場(chǎng)合中,三種硬件能夠優(yōu)勢(shì)互補(bǔ),共同完成特定的復(fù)雜功能。舉例來(lái)講,在一些組合導(dǎo)航控制系統(tǒng)中,可以用ARM實(shí)現(xiàn)慣性測(cè)量單元的數(shù)據(jù)采集、標(biāo)定、補(bǔ)償,用DSP實(shí)現(xiàn)組合導(dǎo)航和控制算法,以及用FPGA實(shí)現(xiàn)各種外部接口。通常情況下,通過(guò)這三者各自的JTAG接口將它們的程序數(shù)據(jù)下載到FLASH芯片中。但在有些場(chǎng)合,當(dāng)產(chǎn)品封裝并交付使用后,通過(guò)JTAG接口更新程序數(shù)據(jù)就變的比較困難,尤其是ARM/DSP/FPGA聯(lián)合使用的場(chǎng)合,可能會(huì)同時(shí)需要三個(gè)JTAG接口,這是不期望的。此外,在產(chǎn)品調(diào)試過(guò)程中,JTAG接口可能并不方便使用。因此,期待一種能夠?qū)θ叩某绦驍?shù)據(jù)方便地進(jìn)行更新升級(jí)的方法。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提出了一種對(duì)包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法。
根據(jù)本發(fā)明的一個(gè)方面,提出了一種對(duì)包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法。在所述嵌入式系統(tǒng)中,F(xiàn)PGA芯片分別與ARM芯片和DSP芯片相連,F(xiàn)PGA芯片和DSP芯片之一連接到第一存儲(chǔ)單元,該第一存儲(chǔ)單元存儲(chǔ)有FPGA芯片和DSP芯片的程序,所述ARM芯片連接到第二存儲(chǔ)單元,該第二存儲(chǔ)單元存儲(chǔ)有ARM芯片的程序。所述方法包括通過(guò)串行數(shù)據(jù)接口執(zhí)行以下步驟:向FPGA芯片發(fā)送針對(duì)ARM芯片、DSP芯片和/或FPGA芯片的升級(jí)指令;從FPGA芯片接收針對(duì)所述升級(jí)指令的響應(yīng);向FPGA芯片發(fā)送針對(duì)ARM芯片、DSP芯片和/或FPGA芯片的更新數(shù)據(jù),其中,對(duì)FPGA芯片和DSP芯片的程序更新與對(duì)ARM芯片的程序更新是并行的。
在一個(gè)實(shí)施例中,如果所述第一存儲(chǔ)單元連接FPGA芯片,則所述方法包括:通過(guò)串行數(shù)據(jù)接口向FPGA芯片發(fā)送升級(jí)指令,并使得所述FPGA芯片將所述升級(jí)指令轉(zhuǎn)發(fā)到ARM芯片;通過(guò)串行數(shù)據(jù)接口從FPGA芯片接收分別來(lái)自FPGA芯片和ARM芯片的升級(jí)響應(yīng);通過(guò)串行數(shù)據(jù)接口向FPGA發(fā)送針對(duì)FPGA芯片、DSP芯片和ARM芯片中的至少一種芯片的更新數(shù)據(jù),以及如果所述更新數(shù)據(jù)中包括針對(duì)FPGA芯片和/或DSP芯片的更新數(shù)據(jù),則使FPGA芯片使用所接收到的針對(duì)FPGA芯片和/或DSP芯片的更新數(shù)據(jù)對(duì)第一存儲(chǔ)單元中存儲(chǔ)的程序進(jìn)行更新,如果所述更新數(shù)據(jù)中包括針對(duì)ARM芯片的更新數(shù)據(jù),則使FPGA芯片將針對(duì)ARM芯片的更新數(shù)據(jù)轉(zhuǎn)發(fā)到ARM芯片,以便由ARM芯片使用所述針對(duì)ARM芯片的更新數(shù)據(jù)對(duì)第二存儲(chǔ)單元中存儲(chǔ)的程序進(jìn)行更新。
在一個(gè)實(shí)施例中,如果所述第一存儲(chǔ)單元連接DSP芯片,則所述方法包括:通過(guò)串行數(shù)據(jù)接口向FPGA芯片發(fā)送升級(jí)指令,并使得所述FPGA芯片將所述升級(jí)指令轉(zhuǎn)發(fā)到DSP芯片和ARM芯片;通過(guò)串行數(shù)據(jù)接口從FPGA芯片接收分別來(lái)自DSP芯片和ARM芯片的升級(jí)響應(yīng);通過(guò)串行數(shù)據(jù)接口向FPGA發(fā)送針對(duì)FPGA芯片、DSP芯片和ARM芯片中的至少一種芯片的更新數(shù)據(jù),以及如果所述更新數(shù)據(jù)中包括針對(duì)FPGA芯片和/或DSP芯片的更新數(shù)據(jù),則使FPGA芯片將所述針對(duì)FPGA芯片和/或DSP芯片的更新數(shù)據(jù)轉(zhuǎn)發(fā)到DSP芯片,以便由DSP芯片使用所述針對(duì)FPGA芯片和/或DSP芯片的更新數(shù)據(jù)對(duì)第一存儲(chǔ)單元中存儲(chǔ)的程序進(jìn)行更新,如果所述更新數(shù)據(jù)中包括針對(duì)ARM芯片的更新數(shù)據(jù),則使FPGA芯片將針對(duì)ARM芯片的更新數(shù)據(jù)轉(zhuǎn)發(fā)到ARM芯片,以便由ARM芯片使用所述針對(duì)ARM芯片的更新數(shù)據(jù)對(duì)第二存儲(chǔ)單元中存儲(chǔ)的程序進(jìn)行更新。
在一個(gè)實(shí)施例中,所述串行數(shù)據(jù)接口是RS232接口、RS422接口和RS485接口之一。
在一個(gè)實(shí)施例中,所述第一存儲(chǔ)單元是EPCS存儲(chǔ)單元,所述第二存儲(chǔ)單元是FLASH(閃存)存儲(chǔ)單元。
在一個(gè)實(shí)施例中,所述第一存儲(chǔ)單元和所述第二存儲(chǔ)單元都是FLASH存儲(chǔ)單元。
在一個(gè)實(shí)施例中,所述第二存儲(chǔ)單元是所述ARM芯片的一部分。
在一個(gè)實(shí)施例中,所述FPGA芯片包括與運(yùn)算模塊,所述與運(yùn)算模塊能夠?qū)ψ陨淼男盘?hào)或來(lái)自DSP芯片的信號(hào)與來(lái)自ARM芯片的信號(hào)進(jìn)行與運(yùn)算,并將得到的信號(hào)發(fā)送到串行數(shù)據(jù)接口。
在一個(gè)實(shí)施例中,所述FPGA芯片與所述串行數(shù)據(jù)接口之間通過(guò)UART協(xié)議進(jìn)行通信,所述FPGA芯片與所述ARM芯片之間通過(guò)UART協(xié)議進(jìn)行通信,所述FPGA芯片與所述DSP接口之間通過(guò)EMIF協(xié)議進(jìn)行通信。
在一個(gè)實(shí)施例中,在通過(guò)串行數(shù)據(jù)接口向FPGA發(fā)送針對(duì)FPGA芯片、DSP芯片和ARM芯片中的至少一種芯片的更新數(shù)據(jù)之前,向FPGA發(fā)送指示更新文件大小的指令。
在本發(fā)明所提出的對(duì)包括ARM、DSP、FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法中,通過(guò)使用串行數(shù)據(jù)接口(例如,RS422接口),能夠在不增加系統(tǒng)硬件和軟件成本的前提下,方便地完成對(duì)三種芯片的程序數(shù)據(jù)的更新。
附圖說(shuō)明
圖1示出了根據(jù)本發(fā)明的實(shí)施例的嵌入式系統(tǒng)的結(jié)構(gòu)框圖。
圖2示出了根據(jù)第一情形的嵌入式系統(tǒng)的結(jié)構(gòu)框圖。
圖3示出了根據(jù)第二情形的嵌入式系統(tǒng)的結(jié)構(gòu)框圖。
圖4示出了第一存儲(chǔ)單元的示例數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
圖5示出了第二存儲(chǔ)單元的示例數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
圖6示出了根據(jù)本發(fā)明的實(shí)施例的對(duì)包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法的流程圖。
圖7示意性地示出了基于圖3的情形的包括與運(yùn)算模塊的FPGA芯片以及其與ARM芯片和DSP芯片的連接關(guān)系。
具體實(shí)施方式
下面將詳細(xì)描述本發(fā)明的具體實(shí)施例,應(yīng)當(dāng)注意,這里描述的實(shí)施例只用于舉例說(shuō)明,并不用于限制本發(fā)明。在以下描述中,為了提供對(duì)本發(fā)明的透徹理解,闡述了大量特定細(xì)節(jié)。然而,對(duì)于本領(lǐng)域普通技術(shù)人員顯而易見(jiàn)的是:不必采用這些特定細(xì)節(jié)來(lái)實(shí)行本發(fā)明。在其他實(shí)例中,為了避免混淆本發(fā)明,未具體描述公知的電路、材料或方法。
在整個(gè)說(shuō)明書中,對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”、“一個(gè)示例”或“示例”的提及意味著:結(jié)合該實(shí)施例或示例描述的特定特征、結(jié)構(gòu)或特性被包含在本發(fā)明至少一個(gè)實(shí)施例中。因此,在整個(gè)說(shuō)明書的各個(gè)地方出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”、“在實(shí)施例中”、“一個(gè)示例”或“示例”不一定都指同一實(shí)施例或示例。此外,可以以任何適當(dāng)?shù)慕M合和/或子組合將特定的特征、結(jié)構(gòu)或特性組合在一個(gè)或多個(gè)實(shí)施例或示例中。此外,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,在此提供的附圖都是為了說(shuō)明的目的,并且附圖不一定是按比例繪制的。這里使用的術(shù)語(yǔ)“和/或”包括一個(gè)或多個(gè)相關(guān)列出的項(xiàng)目的任何和所有組合。
以下參考附圖對(duì)本發(fā)明進(jìn)行具體描述。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的嵌入式系統(tǒng)100的結(jié)構(gòu)框圖。如圖所示,嵌入式系統(tǒng)100包括ARM芯片110、DSP芯片120、FPGA芯片130和串行數(shù)據(jù)接口140。在所述嵌入式系統(tǒng)100中,F(xiàn)PGA芯片130分別與ARM芯片110和DSP芯片120相連。在一個(gè)實(shí)施例中,所述FPGA芯片與所述串行數(shù)據(jù)接口之間通過(guò)UART(通用異步收發(fā))協(xié)議進(jìn)行通信,所述FPGA芯片與所述ARM芯片之間通過(guò)UART協(xié)議進(jìn)行通信,所述FPGA芯片與所述DSP接口之間通過(guò)EMIF(外部存儲(chǔ)接口)協(xié)議進(jìn)行通信。
具體地,ARM可以使用意法半導(dǎo)體公司的STM32FXXX系列芯片,F(xiàn)PGA可以使用ALTERA公司cyclone系列芯片,DSP以使用TI公司C6000系列芯片。此外,實(shí)際應(yīng)用過(guò)程中,ARM的UART發(fā)送/接收可使用DMA方式。
ARM芯片110、DSP芯片120、FPGA芯片130應(yīng)該分別連接到用于存儲(chǔ)它們的程序文件的存儲(chǔ)單元。在本發(fā)明的實(shí)施例中,考慮將ARM芯片110的程序與DSP芯片120和FPGA芯片1230的程序分別存儲(chǔ)的情形。具體地,根據(jù)存儲(chǔ)單元的連接不同,可以分兩種示例情形進(jìn)行討論。
第一情形
圖2示出了根據(jù)第一情形的嵌入式系統(tǒng)200的結(jié)構(gòu)框圖。圖2中的ARM芯片210、DSP芯片220、FPGA芯片230和串行數(shù)據(jù)接口240與圖1中的相應(yīng)單元一致,在此不再贅述。
在圖2中,F(xiàn)PGA芯片230連接到第一存儲(chǔ)單元250,ARM芯片210連接到第二存儲(chǔ)單元260。第一存儲(chǔ)單元250存儲(chǔ)有FPGA芯片230和DSP芯片220的程序,第二存儲(chǔ)單元260存儲(chǔ)有ARM芯片210的程序。
在一個(gè)實(shí)施例中,所述第一存儲(chǔ)單元250是EPCS存儲(chǔ)單元,所述第二存儲(chǔ)單元260是FLASH存儲(chǔ)單元。
在一個(gè)實(shí)施例中,所述第二存儲(chǔ)單元260是所述ARM芯片210的一部分。
第二情形
圖3示出了根據(jù)第二情形的嵌入式系統(tǒng)300的結(jié)構(gòu)框圖。圖3中的ARM芯片310、DSP芯片320、FPGA芯片330和串行數(shù)據(jù)接口340與圖1中的相應(yīng)單元一致,在此不再贅述。
在圖3中,DSP芯片320連接到第一存儲(chǔ)單元350,ARM芯片310連接到第二存儲(chǔ)單元360。第一存儲(chǔ)單元350存儲(chǔ)有FPGA芯片330和DSP芯片320的程序,第二存儲(chǔ)單元360存儲(chǔ)有ARM芯片310的程序。
在一個(gè)實(shí)施例中,所述第一存儲(chǔ)單元350和第二存儲(chǔ)單元360都是FLASH存儲(chǔ)單元。
在一個(gè)實(shí)施例中,所述第二存儲(chǔ)單元360是ARM芯片310的一部分。
下文中,將在“系統(tǒng)啟動(dòng)”部分以第二情形為例描述嵌入式系統(tǒng)的啟動(dòng)過(guò)程,并在“系統(tǒng)更新”部分針對(duì)第一情形和第二情形分別描述對(duì)嵌入式系統(tǒng)進(jìn)行更新的方法。
在一個(gè)實(shí)施例中,串行數(shù)據(jù)接口140是RS232接口、RS422接口和RS485接口之一。在進(jìn)行升級(jí)更新時(shí),所示串行數(shù)據(jù)接口140連接上位機(jī)(或其他能夠提供更新文件的接口或設(shè)備)。
系統(tǒng)啟動(dòng)
本部分描述參照?qǐng)D3中所示的嵌入式系統(tǒng)300的結(jié)構(gòu)進(jìn)行。
首先,圖4和圖5分別示出了作為FLASH存儲(chǔ)單元的第一存儲(chǔ)單元350和連接到ARM芯片310的(或位于ARM芯片310的內(nèi)部)的第二存儲(chǔ)單元360(同樣以FLASH存儲(chǔ)單元為例)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
如圖4所示,第一存儲(chǔ)單元350的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)包括FIRST_BOOT_1K、SECOND_BOOT、FPGA_BOOT、FPGA_APP和DSP_APP五部分。如圖5所示,對(duì)第二存儲(chǔ)單元360的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)包括ARM_BOOT和ARM_APP兩部分。需要指出的是,對(duì)嵌入式系統(tǒng)進(jìn)行程序更新的方法是指FPGA_APP、DSP_APP和ARM_APP這三段用戶程序數(shù)據(jù)的更新方法。FIRST_BOOT_1K、SECOND_BOOT、FPGA_BOOT和ARM_BOOT都是在單板調(diào)試的過(guò)程中,分別通過(guò)DSP和ARM的JTAG接口燒寫至對(duì)應(yīng)存儲(chǔ)器的地址空間。
系統(tǒng)上電后,DSP通過(guò)EMIF從第一存儲(chǔ)單元350的基地址處開(kāi)始,將FIRST_BOOT_1K復(fù)制到其內(nèi)部隨機(jī)存取存儲(chǔ)器(RAM)中,然后開(kāi)始執(zhí)行這段程序。然而,F(xiàn)IRST_BOOT_1K受制于其1K字節(jié)代碼長(zhǎng)度的限制,能完成的工作很少。本發(fā)明的實(shí)施例中還將SECOND_BOOT復(fù)制到DSP的內(nèi)部RAM中,并加以執(zhí)行。SECOND_BOOT開(kāi)始運(yùn)行后,首先從第一存儲(chǔ)單元350中讀取FPGA_BOOT,完成FPGA的配置。然后,查詢是否有來(lái)自例如上位機(jī)的升級(jí)指令。如果有升級(jí)指令,則與上位機(jī)建立升級(jí)通信,完成FPGA_APP或者DSP_APP的數(shù)據(jù)更新,如果沒(méi)有升級(jí)指令,則讀取FPGA_APP數(shù)據(jù),控制完成FPGA的配置,最后將DSP_APP復(fù)制內(nèi)部RAM中,并加以執(zhí)行。至此,用戶FPGA程序和DSP應(yīng)用程序都開(kāi)始運(yùn)行。
同時(shí),系統(tǒng)上電后,ARM開(kāi)始運(yùn)行ARM_BOOT程序,ARM_BOOT等待DSP用FPGA_BOOT配置完FPGA后,同樣查詢是否有經(jīng)由FPGA傳遞的上位機(jī)升級(jí)指令。如果有,則經(jīng)由FPGA與上位機(jī)建立通信,完成ARM_APP的更新。如果沒(méi)有則跳轉(zhuǎn)至ARM_APP,開(kāi)始執(zhí)行ARM的應(yīng)用程序。
系統(tǒng)更新
本部分描述對(duì)嵌入式系統(tǒng)進(jìn)行更新的方法。并將針對(duì)圖2和圖3所示的結(jié)構(gòu)分別進(jìn)行描述。
圖6示出了根據(jù)本發(fā)明的實(shí)施例的對(duì)包括ARM芯片、DSP芯片和FPGA芯片的嵌入式系統(tǒng)進(jìn)行程序更新的方法600的流程圖。
所述方法600包括通過(guò)串行數(shù)據(jù)接口執(zhí)行步驟S610-S630。
在步驟S610中,通過(guò)串行數(shù)據(jù)接口向FPGA芯片發(fā)送針對(duì)ARM芯片、DSP芯片和/或FPGA芯片的升級(jí)指令。
針對(duì)圖2所示的情形,所述第一存儲(chǔ)單元250連接FPGA芯片230。此時(shí),通過(guò)串行數(shù)據(jù)接口240向FPGA芯片230發(fā)送升級(jí)指令,并使得所述FPGA芯片230將所述升級(jí)指令轉(zhuǎn)發(fā)到ARM芯片210。
針對(duì)圖3所示的情形,所述第一存儲(chǔ)單元350連接DSP芯片320。此時(shí),通過(guò)串行數(shù)據(jù)接口340向FPGA芯片330發(fā)送升級(jí)指令,并使得所述FPGA芯片330將所述升級(jí)指令轉(zhuǎn)發(fā)到DSP芯片320和ARM芯片310。
在步驟S620中,通過(guò)串行數(shù)據(jù)接口從FPGA芯片接收針對(duì)所述升級(jí)指令的響應(yīng)。
針對(duì)圖2中的情形,通過(guò)串行數(shù)據(jù)接口240從FPGA芯片230接收分別來(lái)自FPGA芯片230和ARM芯片210的升級(jí)響應(yīng)。而針對(duì)圖3中的情形,通過(guò)串行數(shù)據(jù)接口340從FPGA芯片330接收分別來(lái)自DSP芯片320和ARM芯片310的升級(jí)響應(yīng)。
在步驟S630中,通過(guò)串行數(shù)據(jù)接口向FPGA芯片發(fā)送針對(duì)ARM芯片、DSP芯片和/或FPGA芯片的更新數(shù)據(jù)。
其中,對(duì)FPGA芯片和DSP芯片的程序更新與對(duì)ARM芯片的程序更新是并行的。
針對(duì)圖2中的情形,通過(guò)串行數(shù)據(jù)接口240向FPGA芯片230發(fā)送針對(duì)FPGA芯片230、DSP芯片220和ARM芯片210中的至少一種芯片的更新數(shù)據(jù)。如果所述更新數(shù)據(jù)中包括針對(duì)FPGA芯片230和/或DSP芯片220的更新數(shù)據(jù),則使FPGA芯片230使用所接收到的針對(duì)FPGA芯片230和/或DSP芯片220的更新數(shù)據(jù)對(duì)第一存儲(chǔ)單元250中存儲(chǔ)的程序進(jìn)行更新。如果所述更新數(shù)據(jù)中包括針對(duì)ARM芯片210的更新數(shù)據(jù),則使FPGA芯片230將針對(duì)ARM芯片210的更新數(shù)據(jù)轉(zhuǎn)發(fā)到ARM芯片210,以便由ARM芯片210使用所述針對(duì)ARM芯片210的更新數(shù)據(jù)對(duì)第二存儲(chǔ)單元260中存儲(chǔ)的程序進(jìn)行更新。
針對(duì)圖3中的情形,通過(guò)串行數(shù)據(jù)接口340向FPGA芯片330發(fā)送針對(duì)FPGA芯片330、DSP芯片320和ARM芯片310中的至少一種芯片的更新數(shù)據(jù)。如果所述更新數(shù)據(jù)中包括針對(duì)FPGA芯片330和/或DSP芯片320的更新數(shù)據(jù),則使FPGA芯片330將所述針對(duì)FPGA芯片330和/或DSP芯片320的更新數(shù)據(jù)轉(zhuǎn)發(fā)到DSP芯片320,以便由DSP芯片320使用所述針對(duì)FPGA芯片330和/或DSP芯片320的更新數(shù)據(jù)對(duì)第一存儲(chǔ)單元350中存儲(chǔ)的程序進(jìn)行更新。如果所述更新數(shù)據(jù)中包括針對(duì)ARM芯片310的更新數(shù)據(jù),則使FPGA芯片330將針對(duì)ARM芯片310的更新數(shù)據(jù)轉(zhuǎn)發(fā)到ARM芯片310,以便由ARM芯片310使用所述針對(duì)ARM芯片310的更新數(shù)據(jù)對(duì)第二存儲(chǔ)單元360中存儲(chǔ)的程序進(jìn)行更新。
在本發(fā)明的實(shí)施例中,所述FPGA芯片還可包括與運(yùn)算模塊。針對(duì)圖2的情形,所述與運(yùn)算模塊能夠?qū)ψ陨淼男盘?hào)與來(lái)自ARM芯片210的信號(hào)進(jìn)行與運(yùn)算,并將得到的信號(hào)發(fā)送到串行數(shù)據(jù)接口240。針對(duì)圖3的情形,所述與運(yùn)算模塊能夠?qū)?lái)自DSP芯片320的信號(hào)與來(lái)自ARM芯片310的信號(hào)進(jìn)行與運(yùn)算,并將得到的信號(hào)發(fā)送到串行數(shù)據(jù)接口340。
圖7示意性地示出了基于圖3的情形的包括與運(yùn)算模塊731的FPGA芯片730以及其與ARM芯片710和DSP芯片720的連接關(guān)系。
更新發(fā)送信號(hào)Tx分為兩路,一路進(jìn)入FPGA芯片730的UART模塊,另一路通過(guò)直連的方式進(jìn)入ARM芯片710。根據(jù)UART協(xié)議層的信號(hào)規(guī)范,信號(hào)在空閑時(shí)刻為高電平。因此,接收信號(hào)Rx可以由ARM芯片710的發(fā)送信號(hào)和來(lái)自UART模塊的發(fā)送信號(hào)在與運(yùn)算模塊731處進(jìn)行與運(yùn)算后驅(qū)動(dòng)。通過(guò)這樣的連接,可以通過(guò)一個(gè)串行數(shù)據(jù)接口同時(shí)與DSP芯片720和ARM芯片710進(jìn)行通信。進(jìn)行數(shù)據(jù)發(fā)送時(shí),DSP芯片720和ARM芯片710可以同時(shí)接收,并做出相應(yīng)響應(yīng)。另外,DSP芯片720和ARM芯片710也可以分時(shí)反饋數(shù)據(jù)。
在一個(gè)實(shí)施例中,在步驟S630之前,還可向FPGA芯片發(fā)送指示更新文件大小的指令,以便相應(yīng)的芯片擦除存儲(chǔ)單元中的相應(yīng)存儲(chǔ)空間。
在一個(gè)實(shí)施例中,在更新完程序數(shù)據(jù)后,還可進(jìn)行校驗(yàn)。
以上的詳細(xì)描述通過(guò)使用示意圖、流程圖和/或示例,已經(jīng)闡述了眾多實(shí)施例。在這種示意圖、流程圖和/或示例包含一個(gè)或多個(gè)功能和/或操作的情況下,本領(lǐng)域技術(shù)人員應(yīng)理解,這種示意圖、流程圖或示例中的每一功能和/或操作可以通過(guò)各種結(jié)構(gòu)、硬件、軟件、固件或?qū)嵸|(zhì)上它們的任意組合來(lái)單獨(dú)和/或共同實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本發(fā)明的實(shí)施例所述主題的若干部分可以通過(guò)專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、數(shù)字信號(hào)處理器(DSP)、或其他集成格式來(lái)實(shí)現(xiàn)。然而,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,這里所公開(kāi)的實(shí)施例的一些方面在整體上或部分地可以等同地實(shí)現(xiàn)在集成電路中,實(shí)現(xiàn)為在一臺(tái)或多臺(tái)計(jì)算機(jī)上運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序(例如,實(shí)現(xiàn)為在一臺(tái)或多臺(tái)計(jì)算機(jī)系統(tǒng)上運(yùn)行的一個(gè)或多個(gè)程序),實(shí)現(xiàn)為在一個(gè)或多個(gè)處理器上運(yùn)行的一個(gè)或多個(gè)程序(例如,實(shí)現(xiàn)為在一個(gè)或多個(gè)微處理器上運(yùn)行的一個(gè)或多個(gè)程序),實(shí)現(xiàn)為固件,或者實(shí)質(zhì)上實(shí)現(xiàn)為上述方式的任意組合,并且本領(lǐng)域技術(shù)人員根據(jù)本公開(kāi),將具備設(shè)計(jì)電路和/或?qū)懭胲浖?或固件代碼的能力。此外,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,本公開(kāi)所述主題的機(jī)制能夠作為多種形式的程序產(chǎn)品進(jìn)行分發(fā),并且無(wú)論實(shí)際用來(lái)執(zhí)行分發(fā)的信號(hào)承載介質(zhì)的具體類型如何,本公開(kāi)所述主題的示例性實(shí)施例均適用。信號(hào)承載介質(zhì)的示例包括但不限于:可記錄型介質(zhì),如軟盤、硬盤驅(qū)動(dòng)器、緊致盤(CD)、數(shù)字通用盤(DVD)、數(shù)字磁帶、計(jì)算機(jī)存儲(chǔ)器等;以及傳輸型介質(zhì),如數(shù)字和/或模擬通信介質(zhì)(例如,光纖光纜、波導(dǎo)、有線通信鏈路、無(wú)線通信鏈路等)。
雖然已參照幾個(gè)典型實(shí)施例描述了本發(fā)明,但應(yīng)當(dāng)理解,所用的術(shù)語(yǔ)是說(shuō)明和示例性、而非限制性的術(shù)語(yǔ)。由于本發(fā)明能夠以多種形式具體實(shí)施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應(yīng)當(dāng)理解,上述實(shí)施例不限于任何前述的細(xì)節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán)利要求所涵蓋。