一種雙功能智能燒寫模塊及方法
【專利摘要】本發明提出一種軟件存儲層面的版本對比顯示和匹配選擇版本燒寫的雙功能智能燒寫方法,通過二次開發DSP芯片的燒寫核,獨立封裝生成燒寫模塊,將其應用到產品開發里,以實現不同版本程序之間的差異顯示和任意選擇燒寫。實際工作中,加入該模塊的產品在軟件開發和后期的升級中,相比傳統的庫管理和自帶的燒寫核操作,設計效率大大增加,并且確保了軟件版本的高效控制以及燒寫零差錯。
【專利說明】一種雙功能智能燒寫模塊及方法
【技術領域】
[0001]本發明涉及軟件受控調試領域,特別涉及一種基于軟件受控開發的雙功能智能燒與豐旲塊。
【背景技術】
[0002]目前實驗室中的軟件受控開發,比如DSP軟件,通常根據任務要求,結合具體實現,會有多個版本同時存在,版本的管理在開發庫中由開發者自行分類,以及在軟件完成開發后,根據階段及圖號規則將軟件命名后置于受控庫中存放,在需要燒寫時出庫。
[0003]可見無論開發中還是開發后,當前主要是通過庫管理采取人防手段來進行調試燒寫版本的確認。但是,由于開發中調試和功能要求的實時變化,對軟件做多次更改,會在開發者電腦上保存有多個版本,當開發工作有間斷或者功能基線發散時,甚至開發者變動或是出差等不在崗因素,都會導致對版本難以進行有效控制,甚至混淆不同版本之間的變動之處,這樣又需要重新審視各版本程序,降低開發效率。特別是開發后的產品保障,無法進行在線升級,所以要確保百分百的正確版本燒寫,顯然通過人防的庫管理存在著不足。并且,現階段在軟件燒寫的硬件選擇上,開發人員多采用DSP芯片自身的燒寫核進行操作,功能單一不便于開發,特別在版本控制以及代碼實時性方面體現不出優勢。
【發明內容】
[0004]本發明的目的在于提供一種雙功能智能燒寫模塊及方法,能夠進行軟件存儲層面的版本對比顯示和匹配選擇版本燒寫,通過二次開發DSP芯片的燒寫核,獨立封裝生成燒寫模塊,將其應用到產品開發里,以實現不同版本程序之間的差異顯示和任意選擇燒寫。
[0005]為了達到上述目的,本發明一個技術方案是提供一種雙功能智能燒寫方法,在進行燒寫操作時,將存儲在ROM存儲單元中的待燒入程序,和存儲在FLASH存儲單元中的已燒入程序進行比對;
在交互界面上顯示兩程序的版本號、兩程序間存在差異的語句及差異所在的位置,供用戶查看后選擇是否繼續燒寫操作。
[0006]可選地,對于所存儲的多個不同版本的程序,根據輸入的查詢條件,在交互界面上顯示與查詢條件相匹配的版本號及源程序,供用戶查看后選擇是否繼續燒寫操作;所述查詢條件是程序的開發時間、開發階段、開發人員中的任意一項或若干項的任意組合。
[0007]可選地,在已燒入程序與待燒入程序之間通過循環進行比對,若兩程序在當前比對的存儲地址的數據一致時,使一個比對標志變量的數值加一;若當前比對的存儲地址的數據不一致時,所述比對標志變量不變化,并將該存儲地址寫入一個記錄程序差異所在位置的指針數組中。
[0008]可選地,對所有存儲地址比對結束后,通過將比對次數和比對標志變量的數值進行比較,判斷兩程序是否一致;
或者,通過判斷記錄程序差異所在位置的指針數組中是否存有地址數值,來判斷兩程序是否一致。
[0009]可選地,存儲程序時,在一數據庫中定義與不同查詢條件對應的若干指針數組,將程序的版本號按照不同查詢條件分類后存儲在相應指針數組的地址數據中;
ROM存儲單元中的地址空間劃分為多個片選,分別存儲不同版本的程序,并將程序的版本號和ROM存儲單元的片選的首地址進行映射,來與查詢條件相匹配。
[0010]本發明的另一個技術方案是提供一種雙功能智能燒寫方法,通過工控機的交互界面,選擇進入比對操作或查詢操作;
進行比對操作時,將存儲在ROM存儲單元中的待燒入程序,和存儲在FLASH存儲單元中的已燒入程序進行比對;在交互界面上顯示兩程序的版本號、兩程序間存在差異的語句及差異所在的位置,供用戶查看后選擇繼續燒寫操作或者對程序進行調試;
進行查詢操作時,通過交互界面輸入查詢條件,來顯示與查詢條件相匹配的版本號及源程序,供用戶查看后繼續燒寫操作或者對程序進行調試。
[0011]本發明的又一個技術方案是提供一種雙功能智能燒寫模塊,由相連接的工控機進行控制的燒寫模塊中,包含:燒寫核,及分別與之連接的MCU單元和DSP芯片,所述MCU單元通過燒寫核來控制DSP芯片實現上述的燒寫方法;
所述燒寫核中進一步設置有:
比對單元,將待燒入程序和已燒入程序進行比對,并輸出兩程序的版本號、兩程序間存在差異的語句及差異所在的位置至工控機的交互界面上顯示;
查詢單元,根據輸入的查詢條件,從數據庫中獲取與查詢條件相匹配的版本號及源程序輸出至交互界面顯示。
[0012]可選地,所述燒寫模塊中還包含與所述燒寫核連接的FLASH存儲單元,及與所述DSP芯片連接的JTAG仿真芯片。
[0013]可選地,所述燒寫模塊設置有ROM存儲接口、FPGA接口及仿真測試接口。
[0014]與現有技術相比,本發明提出一種軟件存儲層面的版本對比顯示和匹配選擇版本燒寫的智能方法,通過二次開發DSP芯片的燒寫核,獨立封裝生成燒寫模塊,將其應用到產品開發里,以實現不同版本程序之間的差異顯示和任意選擇燒寫。實際工作中,加入該模塊的產品在軟件開發和后期的升級中,相比傳統的庫管理和自帶的燒寫核操作,設計效率大大增加,并且確保了軟件版本的高效控制以及燒寫零差錯。
[0015]因而,本發明提供的雙功能智能燒寫模塊及方法,其優點在于:
1、在存儲層面進行不同版本程序語句的比對,并在交互界面顯示比對后的具體差異、位置以及版本標識,方便開發者即時定位開發狀態和調試;
2、可存儲開發中產生的多個程序版本,在交互界面中,可以設置時間、階段等查詢條件來選擇所需版本,從而省去開發者在庫里或者電腦中查找不同版本并且掌握該版本功能狀態的時間,提聞開發效率;
3、產品保障升級時,可選擇所需的版本進行升級,并且在交互界面中明確版本狀態以及已燒入的程序版本進行比較,同時提示是否繼續操作,避免產品因升級周期長而帶來的狀態模糊,同時當更換保障人員時,也能很快把握軟件的當前狀態;
4、二次開發C5000系列芯片的燒寫核,獨立設計封裝模塊實現智能燒寫技術方案的硬件化。
【專利附圖】
【附圖說明】
[0016]圖1是本發明中進行程序版本對比顯示功能的框圖;
圖2是本發明中進行查詢選擇程序版本功能的框圖;
圖3是本發明中所述雙功能智能燒寫方法的流程圖;
圖4是本發明中所述雙功能智能燒寫模塊的框圖和外部接口圖。
【具體實施方式】
[0017]本發明提供一種雙功能智能燒寫模塊及方法;
首先,燒寫模塊所述的雙功能,一是指燒寫模塊會自動將之前已燒入的程序與當前需要新燒入的程序進行比對,在交互界面中分別顯示這兩個程序的版本號、差異處的程序語句及所在行數等信息,方便開發者及時定位開發狀態并決定是否繼續燒寫操作;二是指燒寫模塊會自動存儲已經燒入的各個版本的程序,用戶可以根據時間等設定條件來查詢版本,并顯示版本狀態和源程序,確保高效開發。
[0018]其次,燒寫模塊的智能性,體現在通過工控機的開發軟件設計相應界面為上述功能提供操作選擇、查詢選擇、自動比對和存儲,并以詢問機制來實現燒寫操作和源程序顯示操作。當然還可根據實際需求來豐富界面指示,方便開發。
[0019]如圖1所示,是本發明中實現對比顯示功能的流程Al示意圖,主要包括:版本顯示、語句對比、差異和位置顯示、根據提示進行燒寫操作這四個部分。
[0020]其中,重點是將存儲在ROM中的待燒入程序,和存儲在FLASH中的已燒入程序之間進行語句比對,同時在開發軟件的界面上顯示出這兩個程序的版本號、兩個程序之間的差異、及差異所在的位置等信息,以便開發人員操作。
[0021]實際工作中,在連接了該燒寫模塊的產品中,流程如下:
首先產品加電工作,在工控機開發軟件的界面中執行燒寫程序,在選擇比對功能后,則顯示出當前待燒入程序的版本,然后根據待燒入程序在ROM中的首地址,從存儲程序的地址塊中將待燒入程序的數據讀出;
同樣,把已燒入程序在FLASH中的首地址作為起始地址,從存儲地址塊中將已燒入程序的數據讀出。
[0022]設置一個比對標志變量flag,利用循環進行兩個程序之間的比對:
一個示例中,如果兩程序之間某一位存儲地址的數據一致,則flag變量自動+1 ;若數據不一致,flag變量不變化。在flag自加的操作中,加入一個指針數組change []來記錄程序比對后存在差異的存儲地址,當對某個存儲地址進行比對以后flag變量沒有變化的,則將該存儲地址寫入change []中。
[0023]比對結束后,可以通過將比對次數和flag變量值進行比較來判斷兩個程序是否一致,也可通過change []數組中有無地址數值來判斷。change []數組里存儲的地址可以是ROM地址,該地址映射了所需數據,用來進一步在開發軟件的交互界面中顯示兩個版本程序存在差異的語句和行數位置;在界面中還標識出版本號,以方便開發者即時掌握程序。
[0024]最后在界面中提供選擇操作,其中一個選項表示燒寫程序繼續執行以完成對當前程序(即前述待燒入程序)的燒寫;其中另一個選項表示操作中止,退出燒寫程序,則用戶可根據顯示的程序差異,繼續調試。
[0025]如圖2所示,是本發明中實現按條件自動查詢選擇版本進行燒寫功能的流程A2示意圖,主要包括:查詢條件設置、不同版本程序的存儲、源程序顯示這三個部分。
[0026]其中,重點是查詢條件設置,通過建立一個小型的匹配數據庫,實現條件和版本的多重映射匹配。本發明中可以根據軟件產品開發周期以及后續修改,設置按照時間來查詢;或者,可以根據軟件開發階段的控制,設置按照初樣、試樣、定型和交付來查詢;或者,還可以設置查詢開發人員來選擇版本,方便設計工作的延續和產品升級保障工作。
[0027]S卩,在數據庫中定義開發時間、開發階段、開發人員三個指針數組,將各條件下的版本信息存儲在相應指針數組的地址數據中。同時將芯片ROM中的地址空間劃分為多個片選,方便后續工作中對應存儲各個不同的程序版本。存儲操作可在交互界面中以詢問機制實現,選擇存儲后,可將當前版本的程序復制到指定的片選空間中。為了實現與查詢數據庫中條件的多重匹配,需要將版本號和ROM片選的首地址做映射。這樣當在開發軟件的交互界面中輸入查詢條件時,根據設計人員的需求,既可顯示出符合該條件的版本號和源程序。接著設計者可根據實際需求選擇進行燒寫或是調用版本進行調試。
[0028]實際工作中,查詢選擇程序版本的流程如下:
在工控機開發軟件的界面中執行燒寫程序,在選擇查詢功能后,讀取用戶輸入的查詢條件,利用數據庫中查詢條件與程序版本號之間的映射關系,獲取與查詢條件相匹配的程序版本信息進行顯示。
[0029]根據用戶選擇,可進一步根據版本號和ROM片選的首地址的映射關系,獲取相匹配的ROM片選的首地址,來調取所存儲的源程序。
[0030]之后,在界面提供選擇操作,其中一個選項,表示對源程序進行顯示并繼續調試;其中另一個選項,表示選擇與查詢條件相匹配的版本的程序完成燒寫。
[0031]如圖3所示,并結合圖1和圖2可以看出,本發明的方法對于連接了該燒寫模塊的產品,是在產品加電工作后,在工控機開發軟件的界面中執行燒寫程序;在界面上顯示相應選項,供用戶選擇進行比對功能,或選擇進行查詢功能:
在選擇比對功能后,則進入如圖1所示的比對流程Al,在用戶查看待燒入程序與已燒入程序版本及差異語句及行數位置后,根據用戶選擇對程序進行調試,或者完成燒寫操作。
[0032]在選擇查詢功能后,則進入如圖2所示的查詢流程A2,在用戶查看與查詢條件相匹配的程序版本(或進一步查看源程序)后,根據用戶選擇對程序進行調試,或者完成燒寫操作。
[0033]本發明的方法操作簡單,界面清晰,功能豐富。考慮到了軟件燒寫中可能出現的各種情況,以幫助設計師決定下一步的操作,甚至設計師不在場時都可順利進行相關燒寫工作。
[0034]如圖4所示,是本發明智能燒寫模塊的硬件框圖和外部接口圖。所述燒寫模塊(虛線所示)中,通過對燒寫核的二次開發,由MCU單元控制DSP芯片(例如是TI公司C5000系列)采用文中所述方法來實現雙功能智能燒寫。同時,該燒寫模塊中還整合了 FLASH存儲單元及JTAG仿真芯片,實現模塊的獨立封裝。外部控制由與該燒寫模塊連接的工控機實現,該燒寫模塊還具備ROM存儲接口、用于硬件開發的FPGA接口以及仿真測試用的接口。設計師在產品的實際開發中,可通過接插件等形式連接此燒寫模塊,在調試燒寫過程中使用,大大提高設計效率和調試燒寫保障。
[0035]綜上所述,本發明涉及軟件受控調試燒寫過程中不同版本對比顯示和匹配選擇技術,可單獨封裝實現硬件化,具有良好易懂的交互界面,可靠性強,有效地保障了開發者的后期燒寫調試以及產品升級工作。通過編程實現該技術方案后,選擇TI公司C5000系列的DSP芯片,對原先的編程器和燒寫核進行二次開發,獨立設計并封裝成雙功能智能燒寫模塊,以便其他產品設計時使用,解決了開發者調試程序時版本眾多產生的混淆和杜絕產品后期保障工作中的舊版復用問題,大大提高了軟件開發效率。
[0036]盡管本發明的內容已經通過上述優選實施例作了詳細介紹,但應當認識到上述的描述不應被認為是對本發明的限制。在本領域技術人員閱讀了上述內容后,對于本發明的多種修改和替代都將是顯而易見的。因此,本發明的保護范圍應由所附的權利要求來限定。
【權利要求】
1.一種雙功能智能燒寫方法,其特征在于, 在進行燒寫操作時,將存儲在ROM存儲單元中的待燒入程序,和存儲在FLASH存儲單元中的已燒入程序進行比對; 在交互界面上顯示兩程序的版本號、兩程序間存在差異的語句及差異所在的位置,供用戶查看后選擇是否繼續燒寫操作。
2.如權利要求1所述的燒寫方法,其特征在于, 對于所存儲的多個不同版本的程序,根據輸入的查詢條件,在交互界面上顯示與查詢條件相匹配的版本號及源程序,供用戶查看后選擇是否繼續燒寫操作;所述查詢條件是程序的開發時間、開發階段、開發人員中的任意一項或若干項的任意組合。
3.如權利要求1所述的燒寫方法,其特征在于, 在已燒入程序與待燒入程序之間通過循環進行比對,若兩程序在當前比對的存儲地址的數據一致時,使一個比對標志變量的數值加一;若當前比對的存儲地址的數據不一致時,所述比對標志變量不變化,并將該存儲地址寫入一個記錄程序差異所在位置的指針數組中。
4.如權利要求3所述的燒寫方法,其特征在于, 對所有存儲地址比對結束后,通過將比對次數和比對標志變量的數值進行比較,判斷兩程序是否一致; 或者,通過判斷記錄程序差異所在位置的指針數組中是否存有地址數值,來判斷兩程序是否一致。
5.如權利要求2所述的燒寫方法,其特征在于, 存儲程序時,在一數據庫中定義與不同查詢條件對應的若干指針數組,將程序的版本號按照不同查詢條件分類后存儲在相應指針數組的地址數據中; ROM存儲單元中的地址空間劃分為多個片選,分別存儲不同版本的程序,并將程序的版本號和ROM存儲單元的片選的首地址進行映射,來與查詢條件相匹配。
6.一種雙功能智能燒寫方法,其特征在于, 通過工控機的交互界面,選擇進入比對操作或查詢操作; 進行比對操作時,將存儲在ROM存儲單元中的待燒入程序,和存儲在FLASH存儲單元中的已燒入程序進行比對;在交互界面上顯示兩程序的版本號、兩程序間存在差異的語句及差異所在的位置,供用戶查看后選擇繼續燒寫操作或者對程序進行調試; 進行查詢操作時,通過交互界面輸入查詢條件,來顯示與查詢條件相匹配的版本號及源程序,供用戶查看后繼續燒寫操作或者對程序進行調試。
7.一種雙功能智能燒寫模塊,其特征在于, 由相連接的工控機進行控制的燒寫模塊中,包含:燒寫核,及分別與之連接的MCU單元和DSP芯片,所述MCU單元通過燒寫核來控制DSP芯片實現如權利要求1飛中任意一項所述的燒寫方法; 所述燒寫核中進一步設置有: 比對單元,將待燒入程序和已燒入程序進行比對,并輸出兩程序的版本號、兩程序間存在差異的語句及差異所在的位置至工控機的交互界面上顯示; 查詢單元,根據輸入的查詢條件,從數據庫中獲取與查詢條件相匹配的版本號及源程序輸出至交互界面顯示。
8.如權利要求7所述的燒寫模塊,其特征在于, 所述燒寫模塊中還包含與所述燒寫核連接的FLASH存儲單元,及與所述DSP芯片連接的JTAG仿真芯片。
9.如權利要求8所述的燒寫模塊,其特征在于, 所述燒寫模塊設置有ROM存儲接口、FPGA接口及仿真測試接口。
【文檔編號】G06K1/12GK104200181SQ201410396995
【公開日】2014年12月10日 申請日期:2014年8月13日 優先權日:2014年8月13日
【發明者】張永勣, 陳亢, 趙浩 申請人:上海無線電設備研究所