專利名稱:一種微處理器的在線調(diào)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微處理器的在線調(diào)試方法,特別涉及ー種使用非可編程存儲器的在線調(diào)試方法。
背景技術(shù):
通常進行單片機的實驗或開發(fā)時,編程器是必不可少的。仿真、調(diào)試完的程序需要借助編程器燒到單片機內(nèi)部或外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于一般的單片機愛好者來說還是ー筆不小的開支。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,也比較麻煩。隨著單片機技術(shù)的發(fā)展,出現(xiàn)了可以在線編程的單片機。這種在線編程目前有兩種實現(xiàn)方法在系統(tǒng)編程(In-System Programming, ISP)和在應用編程(In-ApplicationProgramming, IAP)。ISP—般是通過單片機專用的串行編程接ロ對單片機內(nèi)部的Flash存儲器進行編程,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲器映射為兩個存儲體,當運行ー個存儲體上的用戶程序時,可對另ー個存儲體重新編程,之后將控制從ー個存儲體轉(zhuǎn)向另ー個。IAP,就是片子提供一系列的機制(硬件/軟件上的)當片子在運行程序的時候可以提供ー種改變Flash數(shù)據(jù)的方法,也即程序自己可以往程序存儲器里寫數(shù)據(jù)或修改程序。這種方式的典型應用就是用ー小段代碼來實現(xiàn)程序的下載,實際上單片機的ISP功能就是通過IAP技術(shù)來實現(xiàn)的,即片子在出廠前就已經(jīng)有一段小的引導(BOOT)程序在里面,片子上電后,開始運行這段程序,當檢測到上位機有下載要求時,便和上位機通信,然后下載數(shù)據(jù)到存儲區(qū)。對于常用的微處理器芯片來說,其所執(zhí)行的用戶程序,通常被存儲在EEPROM(Electrically Erasable Programmable ROM)或FLASH等可重復擦寫的存儲器內(nèi),芯片的可編程性由存儲器的可擦寫能力來保證。但是,有時由于エ藝和價格的限制,無法在微處理器內(nèi)部集成可擦寫、掉電不會丟失的存儲器。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的缺陷,提供一種微處理器的在線調(diào)試方法,使用非可編程存儲器,在可用的存儲資源只有片內(nèi)ROM和片內(nèi)RAM的前提下實現(xiàn)了程序的在線調(diào)試。為達到上述目的本發(fā)明采用下述技術(shù)方案
一種微處理器的在線調(diào)試方法,采用非可編程存儲器實現(xiàn)用戶程序的調(diào)試,實現(xiàn)步驟
為
(1)在片內(nèi)ROM中固化BOOT程序;
(2)上電復位后從片內(nèi)ROM執(zhí)行BOOT程序,完成用戶程序的交互、固化至外部存儲器或 載入片內(nèi)RAM;
(3)微處理器跳轉(zhuǎn)到加載至片內(nèi)RAM的用戶程序上,從程序的的起始位置開始執(zhí)行用戶程序。步驟(2)所述執(zhí)行BOOT程序包括如下步驟判斷是否要從串ロ寫入用戶程序,如果不需要,則自動把外部存儲器中的用戶程序加載至片內(nèi)RAM;如果需要,則把用戶程序通過串ロ寫入片內(nèi)RAM,并根據(jù)需要把用戶程序?qū)懭胪獠看鎯ζ?。其中所述外部存儲器可以是I2C ROM。步驟(3)包括如下步驟微處理器產(chǎn)生沿控制信號,微處理器根據(jù)沿控制信號產(chǎn) 生選通信號,選通片內(nèi)RAM。微處理器也根據(jù)沿控制信號,對微處理器進行復位,微處理器收到該復位信號,從片內(nèi)RAM(也即用戶調(diào)試或者執(zhí)行程序)讀取指令并執(zhí)行。本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下顯而易見的突出實質(zhì)性特點和顯著進步 本發(fā)明方法在可用的存儲資源只有片內(nèi)ROM和片內(nèi)RAM的前提下,我們提出了由固化
在芯片ROM內(nèi)的引導(BOOT)程序上電運行后,按指令和需求從外部加載可變的用戶程序并執(zhí)行這ー解決方案,在現(xiàn)有的技術(shù)條件下保證了芯片的可編程性與片上系統(tǒng)(System onChip, SoC)軟硬件協(xié)同工作的能力。本方法不需要編程器就可以進行微處理器的實驗和開發(fā),微處理器芯片可以直接焊接到電路板上,免去了調(diào)試時由于頻繁地插入取出芯片對芯片和電路板帶來的不便,同時由于不采用可編程芯片,因此可以大大降低實現(xiàn)成本。
圖I是微處理器的在線調(diào)試方法中BOOT程序的執(zhí)行流程 圖2是微處理器的在線調(diào)試方法中實施例復位和選通信號的執(zhí)行框 圖3是微處理器的在線調(diào)試方法中實施例產(chǎn)生選通信號和軟復位信號的時序圖。
具體實施例方式本發(fā)明的優(yōu)選實施例結(jié)合附圖詳述如下
如圖I所示,一種微處理器的在線調(diào)試方法,采用非可編程存儲器實現(xiàn)用戶程序的調(diào)試,實現(xiàn)步驟為(1)在微處理器的片內(nèi)ROM中固化BOOT程序;(2)微處理器上電復位后從片內(nèi)ROM執(zhí)行BOOT程序,完成用戶程序的交互、固化至外部存儲器或載入片內(nèi)RAM;(3)微處理器跳轉(zhuǎn)到加載至片內(nèi)RAM的用戶程序上,從程序的的起始位置開始執(zhí)行用戶程序。其中步驟(2)中執(zhí)行BOOT程序具體是微處理器上電復位后,開始執(zhí)行BOOT程序,首先判斷是否要從串ロ寫入用戶程序,如果不需要,則自動把外部存儲器中的用戶程序加載至片內(nèi)RAM;如果需要,則把用戶程序通過串ロ寫入片內(nèi)RAM,然后判斷是否要把用戶程序?qū)懭胪獠看鎯ζ?,如果需要則寫入外部存儲器后執(zhí)行用戶程序,如果不需要則直接執(zhí)行用戶程序。在本實施例中,外部存儲器可以是I2C ROM。如圖2所示,微處理器跳轉(zhuǎn)到加載至片內(nèi)RAM的用戶程序上,從程序的的起始位置開始執(zhí)行用戶程序。其執(zhí)行過程如下通過微處理器的I/o ロ(如Pl. 0)產(chǎn)生沿控制信號,微處理器根據(jù)沿控制信號產(chǎn)生選通信號,選通片內(nèi)RAM。微處理器也根據(jù)沿控制信號,對微處理器進行復位,微處理器收到該復位信號,從片內(nèi)RAM讀取指令并執(zhí)行。如圖3所示,Pl. O ロ產(chǎn)生沿控制信號,Pl. O延遲ー個時鐘節(jié)拍產(chǎn)生PL 0r,在某一時刻Pl. O的信號從高電平變成低電平,Pl. O和PL Or相比產(chǎn)生下降沿信號PI. Ofedg,利用PL Ofedg可以產(chǎn)生選通信號以選通片內(nèi)RAM,同時PI. Ofedg產(chǎn)生軟復位信號,從片內(nèi)RAM讀取指令并執(zhí)ィ丁。
以上所述為本發(fā)明的優(yōu)選實施方式,并非用于限制本發(fā)明的范圍,凡在本發(fā)明精神和原則之內(nèi)所做的任何修改、等同替換和改進等,均含于本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種微處理器的在線調(diào)試方法,其特征在于,采用非可編程存儲器實現(xiàn)用戶程序的調(diào)試,實現(xiàn)步驟為 (1)在片內(nèi)ROM中固化BOOT程序; (2)上電復位后從片內(nèi)ROM執(zhí)行BOOT程序,完成用戶程序的交互、固化至外部存儲器或載入片內(nèi)RAM; (3)微處理器跳轉(zhuǎn)到加載至片內(nèi)RAM的用戶程序上,從程序的的起始位置開始執(zhí)行用戶程序。
2.根據(jù)權(quán)利要求I所述的微處理器的在線調(diào)試方法,其特征在于,所述步驟(2)中的執(zhí)行BOOT程序包括如下步驟判斷是否要從串ロ寫入用戶程序,如果不需要,則自動把外部存儲器中的用戶程序加載至片內(nèi)RAM;如果需要,則把用戶程序通過串ロ寫入片內(nèi)RAM,并根據(jù)需要把用戶程序?qū)懭胪獠看鎯ζ鳌?br>
3.根據(jù)權(quán)利要求2所述的微處理器的在線調(diào)試方法,其特征在于,所述外部存儲器是I2C ROM。
4.根據(jù)權(quán)利要求I所述的微處理器的在線調(diào)試方法,其特征在于,所述步驟(3)包括如下步驟微處理器產(chǎn)生沿控制信號,微處理器根據(jù)沿控制信號產(chǎn)生選通信號,選通片內(nèi)RAM0
5.根據(jù)權(quán)利要求4所述的微處理器的在線調(diào)試方法,其特征在于,所述微處理器根據(jù)沿控制信號,對微處理器進行復位,微處理器收到該復位信號,從片內(nèi)RAM讀取指令并執(zhí)行。
全文摘要
本發(fā)明涉及一種微處理器的在線調(diào)試方法,特別涉及一種使用非可編程存儲器的在線調(diào)試方法。包括步驟在片內(nèi)ROM中固化BOOT程序;上電復位后從片內(nèi)ROM執(zhí)行BOOT程序,完成用戶程序的交互、固化至外部存儲器或載入片內(nèi)RAM;微處理器跳轉(zhuǎn)到加載至片內(nèi)RAM的用戶程序上,從程序的的起始位置開始執(zhí)行用戶程序。本發(fā)明在可用的存儲資源只有片內(nèi)ROM和片內(nèi)RAM的前提下,提出了由固化在芯片ROM內(nèi)的引導(BOOT)程序上電運行后,按指令和需求從外部加載可變的用戶程序并執(zhí)行這一解決方案,在現(xiàn)有的技術(shù)條件下保證了芯片的可編程性與SoC軟硬件協(xié)同工作的能力。
文檔編號G06F11/26GK102662810SQ20121008281
公開日2012年9月12日 申請日期2012年3月27日 優(yōu)先權(quán)日2012年3月27日
發(fā)明者張俊杰, 徐震柳, 田進進, 胡通, 袁文燕, 鄭玥 申請人:上海大學