国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)及設(shè)計(jì)方法

      文檔序號(hào):9616146閱讀:878來源:國知局
      一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)及設(shè)計(jì)方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及數(shù)字信號(hào)處理器在星載信號(hào)處理系統(tǒng)的應(yīng)用方法,具體涉及一種用于 星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)及設(shè)計(jì)方法。
      【背景技術(shù)】
      [0002] 星載DSP(DigitalSignalProcessing,數(shù)字信號(hào)處理)軟件在軌編程是通過地 面遙控注數(shù)的方式,將可執(zhí)行代碼的二進(jìn)制數(shù)據(jù)注入在軌DSP的內(nèi)存RAM區(qū),替換原程序的 執(zhí)行指令或數(shù)據(jù)。星載DSP軟件在軌編程按編程規(guī)??煞譃閮煞N:一種是單指令在軌編程, 直接更改DSP內(nèi)存相應(yīng)的某一指令;另一種是子程序在軌編程,將某個(gè)子程序模塊的二進(jìn) 制代碼上注到在軌DSP內(nèi)存的空白區(qū)域,然后替代原子程序運(yùn)行。
      [0003] 星載DSP通常采用一次性燒寫的ROM芯片存放可執(zhí)行程序。在DSP上電后,通過 BootLoader引導(dǎo)該程序加載到其內(nèi)部內(nèi)存RAM區(qū)域執(zhí)行。要實(shí)現(xiàn)在軌編程功能,直接修改 ROM中的程序顯然不可實(shí)現(xiàn)。現(xiàn)有技術(shù)從產(chǎn)品硬件上改進(jìn),采用增加FLASH芯片專門用于 在軌編程的方式,這樣能簡單有效的實(shí)現(xiàn)在軌編程,但需要增加相應(yīng)的硬件成本和復(fù)雜度, 而且不適用于單指令的在軌編程?,F(xiàn)有技術(shù)中還可以采用在編程設(shè)計(jì)時(shí)即建立子程序地址 表,主程序直接調(diào)用該地址表實(shí)現(xiàn)程序調(diào)用執(zhí)行,在軌編程時(shí)通過注入子程序和修改地址 表中該子程序的入口地址實(shí)現(xiàn)在軌編程,該方法不需要增加額外的硬件,但在程序設(shè)計(jì)過 程中,更改子程序代碼就需要變更子程序地址表,調(diào)試時(shí)較復(fù)雜,且不適用于單指令在軌編 程和規(guī)模較大、子程序較多的程序在軌編程。

      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明的目的在于提供一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)及設(shè)計(jì)方 法,采用星載計(jì)算機(jī)、設(shè)備管理器、可編程只讀存儲(chǔ)器及數(shù)字信號(hào)處理器建立在軌編程系 統(tǒng);本發(fā)明公開的在軌編程設(shè)計(jì)方法實(shí)現(xiàn)單指令在軌編程或修改子程序跳轉(zhuǎn)指令實(shí)現(xiàn)子程 序在軌編程。本發(fā)明易于實(shí)現(xiàn),對(duì)原軟件的規(guī)模、復(fù)雜度和健壯性影響小,程序設(shè)計(jì)、編碼和 調(diào)試中沒有反復(fù)更改子程序地址表的繁瑣,且可實(shí)現(xiàn)數(shù)字信號(hào)處理器內(nèi)存任意地址上的指 令和數(shù)據(jù)的在軌更改。
      [0005] 為了達(dá)到上述目的,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn): 一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng),其特點(diǎn)是,該在軌編程系統(tǒng)包含: 星載計(jì)算機(jī),用于提供要求增加的在軌編程子程序及其數(shù)據(jù); 設(shè)備管理器,與所述星載計(jì)算機(jī)連接; 可編程只讀存儲(chǔ)器,與所述設(shè)備管理器連接; 數(shù)字信號(hào)處理器,與所述設(shè)備管理器連接。
      [0006] 優(yōu)選地,所述在軌編程系統(tǒng)還包含: 第一外部存儲(chǔ)器接口,分別與所述設(shè)備管理器、所述數(shù)字信號(hào)處理器連接;該數(shù)字信號(hào) 處理器通過所述第一外部存儲(chǔ)器接口經(jīng)過該設(shè)備管理器分別與所述星載計(jì)算機(jī)進(jìn)行雙向 數(shù)據(jù)通訊; 第二外部存儲(chǔ)器接口,分別與所述設(shè)備管理器、所述數(shù)字信號(hào)處理器連接;該數(shù)字信號(hào) 處理器通過所述第二外部存儲(chǔ)器接口經(jīng)過該設(shè)備管理器與所述可編程只讀存儲(chǔ)器進(jìn)行單 向數(shù)據(jù)通訊。
      [0007] 優(yōu)選地, 所述設(shè)備管理器作為所述可編程只讀存儲(chǔ)器的設(shè)備管理器,用于實(shí)現(xiàn)所述數(shù)字信號(hào)處 理器對(duì)上述設(shè)備訪問; 所述數(shù)字信號(hào)處理器通過所述可編程只讀存儲(chǔ)器加載原始數(shù)字信號(hào)處理系統(tǒng)軟件; 由所述星載計(jì)算機(jī)提供的在軌編程子程序及其數(shù)據(jù),通過所述第一外部存儲(chǔ)器接口分 別送入所述數(shù)字信號(hào)處理器。
      [0008] -種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法,其特點(diǎn)是,該在軌編程設(shè)計(jì) 方法包含: S1,進(jìn)行在軌編程子程序設(shè)計(jì); 52, 外部程序編譯器生成在軌編程子程序的二進(jìn)制代碼; 53, 所述數(shù)字信號(hào)處理器采用遙控注數(shù)的方式將在軌編程子程序的二進(jìn)制代碼注入該 數(shù)字信號(hào)處理器的內(nèi)部存儲(chǔ)器中相應(yīng)目的地址; 54, 在該在軌編程子程序啟動(dòng)前,所述外部程序編譯器設(shè)計(jì)新的調(diào)用跳轉(zhuǎn)指令; 55, 所述數(shù)字信號(hào)處理器通過單指令在軌編程方式,將原子程序的調(diào)用跳轉(zhuǎn)指令替換 為新的調(diào)用跳轉(zhuǎn)指令; 56, 所述數(shù)字信號(hào)處理器運(yùn)行在軌編程子程序。
      [0009] 優(yōu)選地,所述步驟S1包含: 根據(jù)實(shí)際需求在原星載程序的源代碼中增加實(shí)現(xiàn)在軌編程功能的子程序及通信數(shù)據(jù), 并將該在軌編程子程序及編譯后將通過所述設(shè)備管理器、所述第一外部存儲(chǔ)器接口分別送 入所述數(shù)字信號(hào)處理器。
      [0010] 優(yōu)選地,所述步驟S2包含: S2. 1,在所述外部程序編譯器進(jìn)行程序編譯錢,將獲取的在軌編程子程序分配在該數(shù) 字信號(hào)處理器的內(nèi)部存儲(chǔ)器中的在軌編程存放區(qū)域; 52. 2,通過該外部程序編譯器將在軌編程子程序添加到原程序的源代碼中進(jìn)行編譯, 并通過混合編程模式查看并記錄該在軌編程子程序的二進(jìn)制代碼。
      [0011] 優(yōu)選地,所述步驟S3包含: 53. 1,所述數(shù)字信號(hào)處理器判斷當(dāng)前運(yùn)行程序是否處于在軌編程狀態(tài),當(dāng)處于該狀態(tài) 時(shí),執(zhí)行步驟S3. 2;否則,結(jié)束; S3. 2,所述數(shù)字信號(hào)處理器采用遙控注數(shù)的方式將在軌編程子程序二進(jìn)制代碼的數(shù)據(jù) 包序號(hào)進(jìn)行保存,并提取該二進(jìn)制代碼的長度; S3. 3,所述數(shù)字信號(hào)處理器提取保存在其內(nèi)部存儲(chǔ)器的需要修改內(nèi)容的目的地址,并 將在軌編程子程序的二進(jìn)制代碼輸入該目的地址; S3. 4,當(dāng)確認(rèn)該在軌編程子程序的二進(jìn)制代碼完全注入在上述目的地址后,反饋已注 數(shù)完成的數(shù)據(jù)包信號(hào),標(biāo)志著在軌編程子程序的二進(jìn)制代碼遙控注入完成。
      [0012] 優(yōu)選地,所述步驟S4包含: S4. 1,在該在軌編程子程序啟動(dòng)前,所述數(shù)字信號(hào)處理器根據(jù)主程序中調(diào)用原子程序 的跳入指令,計(jì)算在軌編程子程序的跳入指令; 54. 2,所述數(shù)字信號(hào)處理器的主程序通過所述步驟S4. 1計(jì)算在軌編程子程序的跳入 指令直接調(diào)用在軌編程子程序,經(jīng)程序編譯器編譯后,采用混合編譯模式查看所述跳入指 令所在地址的下一個(gè)地址對(duì)應(yīng)指令即為該在軌編程子程序的跳出指令。
      [0013] 優(yōu)選地,所述步驟S5包含: 55. 1,所述數(shù)字信號(hào)處理器判斷當(dāng)前運(yùn)行程序是否處于在軌編程狀態(tài),當(dāng)處于該狀態(tài) 時(shí),執(zhí)行步驟S5. 2;否則,結(jié)束; S5. 2,所述數(shù)字信號(hào)處理器從注入的在軌編程子程序二進(jìn)制代碼的數(shù)據(jù)包里提取運(yùn)行 該在軌編程子程序跳入指令對(duì)應(yīng)的內(nèi)存地址; 55. 3,所述數(shù)字信號(hào)處理器根據(jù)所述步驟S5. 2獲取的該在軌編程子程序跳入指令對(duì) 應(yīng)的內(nèi)存地址提取該在軌編程子程序跳入指令。
      [0014] 優(yōu)選地,所述步驟S6包含: 56. 1,判斷所述數(shù)字信號(hào)處理器是否處于待機(jī)狀態(tài),當(dāng)處于待機(jī)狀態(tài)時(shí),執(zhí)行步驟 S6. 2 ;否則,結(jié)束; S6. 2,所述數(shù)字信號(hào)處理器將原子程序運(yùn)行跳入指令地址對(duì)應(yīng)跳轉(zhuǎn)指令修改為運(yùn)行所 述步驟S5. 3提取出的在軌編程子程序跳入指令; S6. 3,所述數(shù)字信號(hào)處理器設(shè)置在軌編程子程序啟用標(biāo)志有效,輸出相應(yīng)的在軌編程 參數(shù)及遙測量,主程序跳轉(zhuǎn)至起始地址,執(zhí)行該在軌編程子程序。
      [0015] 本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn): 本發(fā)明公開的一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)及設(shè)計(jì)方法,采用星載計(jì) 算機(jī)、設(shè)備管理器、可編程只讀存儲(chǔ)器及數(shù)字信號(hào)處理器建立在軌編程系統(tǒng);本發(fā)明公開的 在軌編程設(shè)計(jì)方法實(shí)現(xiàn)單指令在軌編程或修改子程序跳轉(zhuǎn)指令實(shí)現(xiàn)子程序在軌編程,最終 能夠?qū)崿F(xiàn)星載數(shù)字信號(hào)處理器的在軌功能擴(kuò)展、在軌糾錯(cuò)和在軌維護(hù)的目的。本發(fā)明易于 實(shí)現(xiàn),對(duì)原軟件的規(guī)模、復(fù)雜度和健壯性影響小,程序設(shè)計(jì)、編碼和調(diào)試中沒有反復(fù)更改子 程序地址表的繁瑣,且可實(shí)現(xiàn)數(shù)字信號(hào)處理器內(nèi)存任意地址上的指令和數(shù)據(jù)的在軌更改; 在不需要在軌編程是對(duì)原程序的運(yùn)行沒有影響。
      【附圖說明】
      [0016] 圖1為本發(fā)明一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)的整體結(jié)構(gòu)示意圖。
      [0017] 圖2為本發(fā)明一種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法的整體流程圖。
      [0018] 圖3為本發(fā)明一種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法的實(shí)施例示意 圖之一。
      [0019] 圖4a為本發(fā)明一種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法的實(shí)施例示意 圖之二。
      [0020] 圖4b為本發(fā)明一種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法的實(shí)施例示意 圖之三。
      【具體實(shí)施方式】
      [0021] 以下結(jié)合附圖,通過詳細(xì)說明一個(gè)較佳的具體實(shí)施例,對(duì)本發(fā)明做進(jìn)一步闡述。
      [0022] 如圖1所示,一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng),該在軌編程系統(tǒng)包 含:星載計(jì)算機(jī)1、設(shè)備管理器2、可編程只讀存儲(chǔ)器4及數(shù)字信號(hào)處理器5。
      [0023] 其中,設(shè)備管理器2分別與星載計(jì)算機(jī)1、可編程只讀存儲(chǔ)器4及數(shù)字信號(hào)處理器 5連接。
      [0024] 本發(fā)明公開的一種用于星載數(shù)字信號(hào)處理器的在軌編程系統(tǒng)還包含:第一外部存 儲(chǔ)器接口、第二外部存儲(chǔ)器接口。
      [0025] 其中,第一外部存儲(chǔ)器接口分別與設(shè)備管理器2、數(shù)字信號(hào)處理器5連接。第二外 部存儲(chǔ)器接口分別與設(shè)備管理器2、數(shù)字信號(hào)處理器5連接。數(shù)字信號(hào)處理器5通過第一外 部存儲(chǔ)器接口經(jīng)過該設(shè)備管理器2分別與星載計(jì)算機(jī)1進(jìn)行雙向數(shù)據(jù)通訊。數(shù)字信號(hào)處理 器5通過第二外部存儲(chǔ)器接口經(jīng)過該設(shè)備管理器2與可編程只讀存儲(chǔ)器4進(jìn)行單向數(shù)據(jù)通 訊。
      [0026] 本發(fā)明中,星載計(jì)算機(jī)1用于提供要求增加的在軌編程子程序及其數(shù)據(jù)。設(shè)備管 理器2作為可編程只讀存儲(chǔ)器4的設(shè)備管理器2,用于實(shí)現(xiàn)數(shù)字信號(hào)處理器5對(duì)上述設(shè)備訪 問。數(shù)字信號(hào)處理器5通過可編程只讀存儲(chǔ)器4加載原始數(shù)字信號(hào)處理系統(tǒng)軟件。由星載 計(jì)算機(jī)1提供的軌編程子程序及其數(shù)據(jù),通過第一外部存儲(chǔ)器接口分別送入數(shù)字信號(hào)處理 器5。
      [0027] 本實(shí)施例中,米用FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列) 芯片作為設(shè)備管理器2。星載計(jì)算機(jī)1與設(shè)備管理器2之間采用RS422通信總線進(jìn)行二者 之間的數(shù)據(jù)通訊。數(shù)字信號(hào)處理器5采用TI公司的64XX系統(tǒng)的數(shù)字信號(hào)處理器。
      [0028] 如圖2所示,一種用于星載數(shù)字信號(hào)處理器的在軌編程設(shè)計(jì)方法,該在軌編程設(shè) 計(jì)方法包含: S1,在軌編程子程序進(jìn)行設(shè)計(jì)。該步驟S1包含: 根據(jù)實(shí)際需求在原星載程序的源代碼中增加實(shí)現(xiàn)在軌編程功能的子程序,該在軌編程 子程序?qū)⑼ㄟ^設(shè)備管理器2、第一外部存儲(chǔ)器接口分別送入數(shù)字信號(hào)處理器5。
      [0029] 本實(shí)施例中,設(shè)計(jì)的在軌編程子程序在TI公司的64XX系統(tǒng)的數(shù)字信號(hào)處理器中, 跳轉(zhuǎn)至主程序首地址指令如下:
      其中,_c_int00為程序的入口地址,且上述指令是在C語言中嵌套匯編語言實(shí)現(xiàn)寄存 器賦值和程序執(zhí)行跳轉(zhuǎn)的操作。
      [0030] S2,生成在軌編程子程序的二進(jìn)制代碼。該步驟S2包含: S2. 1,編譯前將獲取的在軌編程子程序分配在該數(shù)字信號(hào)處理器5的內(nèi)部存儲(chǔ)器中的 在軌編程存放
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1