原裝IC網(wǎng)MINICUBE2在78K0S微控制器上的片上調(diào)試
本節(jié)描述了使用MINICUBE2 進(jìn)行片上調(diào)試的系統(tǒng)配置,啟動/關(guān)閉順序和調(diào)試中的若干注意事項(xiàng)。
本文引用地址:http://m.butianyuan.cn/article/201610/307506.htm1.2.1 調(diào)試功能
以78K0S 微控制器作為目標(biāo)設(shè)備,表5-3 列出了ID78K0S-QB 調(diào)試器的調(diào)試功能。如果未使用ID78K0SQB作為調(diào)試器(使用第三方制造商的調(diào)試器),則調(diào)試功能可能會有所不同,所以請檢查所使用調(diào)試器的說明。
注意 INTP 引腳的使用描述請參考文檔QB-MINI2 Operating Precautions.X1和X2引腳只在調(diào)試器第一次啟動時(shí)使用(下載監(jiān)視器程序時(shí)).
1.2.2 系統(tǒng)配置
1> 主機(jī)
要求有USB 接口
2> 軟件
包括調(diào)試器,USB 驅(qū)動器,設(shè)備文件等等.
3> USB 線(附件)
4> MINICUBE2(本產(chǎn)品)
5> 16-Pin 目標(biāo)線纜(附件)
6> 目標(biāo)連接口(單獨(dú)出售)
1.2.3 系統(tǒng)啟動順序
本節(jié)描述了系統(tǒng)啟動的順序。請注意按次序操作。
(1) 軟件的準(zhǔn)備和安裝
以下軟件是在線調(diào)試所必須的。關(guān)于軟件的準(zhǔn)備和安裝,請查閱MINICUB2 附帶的安裝手冊。
• 調(diào)試器
• USB 驅(qū)動
• 設(shè)備文件(如果使用第三方調(diào)試器,可能不需要)
(2) 開關(guān)設(shè)置
將模式選擇開關(guān)設(shè)置為“M1”,電源選擇開關(guān)則請查閱表5-4。
注意 在USB 線連接狀態(tài)時(shí),請勿改變開關(guān)的設(shè)置。
注意最大允許電流100mA,所以請勿將MINICUBE2 連接到電流很大的目標(biāo)系統(tǒng)上。在MINICUBE2 與主機(jī)連通后,主機(jī)始終保持向MINICUBE2 供電。
(3) 連接目標(biāo)系統(tǒng)
MINICUBE2 到目標(biāo)系統(tǒng)的連接如圖5-14 所示。在打開給目標(biāo)系統(tǒng)的電源前連接。
(4) 連接USB 線纜
請?jiān)谀繕?biāo)系統(tǒng)上電之前,將MINICUBE2 連接到主機(jī)。
當(dāng)電源選擇開關(guān)打在“T”位置時(shí),連接后模式燈為白色并開始閃爍。
當(dāng)電源選擇開關(guān)打在“3”或者“5”位置時(shí),連接后模式燈點(diǎn)亮為白色。
(5) 目標(biāo)系統(tǒng)上電
打開目標(biāo)系統(tǒng)的電源。如果電源選擇為“3”或“5”,則這一步并不是必需的。在上電后模式燈點(diǎn)亮為白色。
(6) 啟動調(diào)試器
打開調(diào)試器,模式燈變?yōu)榫G色。
此步驟之后的操作,請參閱調(diào)試器的用戶手冊。
如果調(diào)試器無法正常開啟或者操作不穩(wěn)定,可能是由以下問題引發(fā)的。
• MINICUBE2和目標(biāo)系統(tǒng)之間通信錯誤
通信是否正常可以用OCD 檢測器來檢查。具體細(xì)節(jié)請查閱OCD 檢測器用戶手冊。
• 用戶資源沒有預(yù)留
為了用MINICUBE2 進(jìn)行調(diào)試,調(diào)試監(jiān)視區(qū)域必須被預(yù)留。具體細(xì)節(jié)請查閱5.2.5 節(jié)用戶資源的保留。
• 使用了不支持的軟件(調(diào)試器,設(shè)備文件或者固件)
所使用的軟件可能不支持目標(biāo)設(shè)備的調(diào)試。請查閱文件“QB-MINI2 操作注意事項(xiàng)”,檢查目標(biāo)設(shè)備所支持的正確版本。當(dāng)使用的軟件由NEC Electronics 第三方合作公司提供時(shí),請查閱第三方公司提供的相關(guān)文檔。
• MINICUBE2損壞
MINICUBE2可能被損壞。
1.2.4 系統(tǒng)關(guān)閉順序
停止調(diào)試并關(guān)閉系統(tǒng)時(shí),請按照下列順序操作。
如果沒有按照下列順序操作,目標(biāo)系統(tǒng)或者M(jìn)INICUBE2 可能被損壞。
(1) 停止調(diào)試器
停止調(diào)試器的運(yùn)行。
(2) 目標(biāo)系統(tǒng)電源關(guān)閉。
關(guān)閉目標(biāo)系統(tǒng)的電源。如果電源選擇開關(guān)放在“3”或“5”的位置,則無需本步操作。
(3) 移除USB 線纜
從MINICUBE2 或主機(jī)上將USB 線拔下。
(4) 移除目標(biāo)線纜
從MINICUBE2 或目標(biāo)系統(tǒng)上將目標(biāo)線纜拔下。
1.2.5 用戶資源的保留
用戶必須準(zhǔn)備下面的事項(xiàng)來執(zhí)行MINICUBE2 和目標(biāo)設(shè)備之間的通訊和實(shí)現(xiàn)每一個調(diào)試功能。參考下面幾頁的描述并在用戶程序或編譯器選項(xiàng)里進(jìn)行設(shè)置。
• 內(nèi)存空間的保留
圖5-16 中的陰影部分是存放調(diào)試監(jiān)視程序的保留區(qū)域,因此用戶程序不能分配到這些空間。
通訊用的串行接口保留
千萬不要改變由調(diào)試監(jiān)視程序執(zhí)行,用作MINICUBE2 與目標(biāo)設(shè)備間通訊的INTP 引腳的寄存器設(shè)置。
(1) 調(diào)試監(jiān)視程序的保留區(qū)域
在目標(biāo)設(shè)備的內(nèi)部ROM 中,圖5-16 的陰影部分是被分配的調(diào)試監(jiān)視程序的區(qū)域。調(diào)試監(jiān)視程序執(zhí)行的是對調(diào)試通訊接口的初始化處理和對CPU 的RUN 或break 處理。內(nèi)部ROM 區(qū)域必須填滿0xFF。這個區(qū)域千萬不要被用戶程序重寫。
[如何預(yù)留區(qū)域]
如果用戶程序不使用這塊區(qū)域就沒有必要一定要保留這塊區(qū)域。
為了避免調(diào)試器啟動期間可能產(chǎn)生的問題,因此,推薦通過編譯器來提前保留這塊區(qū)域。
下面列出了使用NEC 電子的匯編編譯器RA78K0S 來保留區(qū)域的例子,像下面的一樣增加匯編源代碼。
注意聲明到0ed0h部分的地址要和目標(biāo)設(shè)備的flash內(nèi)存容量一致(參考下面的表格)。
(2) 調(diào)試用堆棧區(qū)域的保留
在目標(biāo)設(shè)備的內(nèi)部RAM 空間里,圖5-16 的陰影部分是調(diào)試監(jiān)視程序用作堆棧(5 字節(jié))的區(qū)域。由于本區(qū)域的指定緊鄰在被用戶程序使用的堆棧區(qū)域之前,所以本區(qū)域的地址根據(jù)堆棧的增加和減少而有所不同。因此,堆
棧指針必須被設(shè)置以留出用作調(diào)試的堆棧大小(5 字節(jié))的余量。
下圖展示了堆棧區(qū)域增加時(shí)的情況,圖中的內(nèi)部高速RAM 從0xFE00 開始。
[如何預(yù)留這段區(qū)域]
請參考下面的地址范圍來設(shè)置堆棧指針。
例當(dāng)內(nèi)部高速RAM 從0xFE00 開始時(shí)
在0xFE05 到0xFEFF 范圍內(nèi)
(3) 通訊串行接口的保留
INTP 引腳用作MINICUBE2 和目標(biāo)系統(tǒng)間的通訊。和INTP 引腳相關(guān)的設(shè)置通過調(diào)試監(jiān)視程序來執(zhí)行,但是如果這個設(shè)置被用戶程序改變,會產(chǎn)生通訊錯誤。
為了防止這樣的問題產(chǎn)生,在用戶程序里通訊串行接口必須保留。
[如何保留通訊串行接口]
生成用戶程序時(shí)要注意下面的幾點(diǎn)。
• 中斷屏蔽標(biāo)志寄存器
不要使用INTP 引腳對應(yīng)的中斷屏蔽標(biāo)志寄存器來取消中斷。
1.2.6 X1 和X2 引腳復(fù)用功能的調(diào)試
X1 和X2 引腳在調(diào)試器第一次啟動(下載監(jiān)視程序時(shí))和用QB-Programmer 執(zhí)行編程時(shí)使用。
在監(jiān)視程序已經(jīng)被下載到目標(biāo)設(shè)備后不需要使用X1 和X2 引腳,因此X1 和X2 引腳和它們的復(fù)用功能可通過下面的順序來調(diào)試。為了實(shí)現(xiàn)X1 和X2 引腳的調(diào)試,電路必須要恰當(dāng)?shù)脑O(shè)計(jì)。詳細(xì)信息請參考5.1.5 節(jié)X1 和X2 引腳的連接。
(1) 斷開外部和目標(biāo)設(shè)備X1,X2 的連接。(若設(shè)計(jì)成如圖5-11 所示的電路,短接跳線針1 和2)
(2) 給目標(biāo)系統(tǒng)和MINICUBE2 上電。
(3) 啟動調(diào)試器。在這個時(shí)候不要下載load 模塊注意。(監(jiān)視程序會在啟動后隨即自動被下載。)
(4) 關(guān)閉調(diào)試器。
(5) 目標(biāo)系統(tǒng)和MINICUBE2 的電源。
(6) 連接外部和目標(biāo)設(shè)備的X1,X2 引腳。(若電路如表5-11 所示設(shè)計(jì), 短接跳線針2 和3。)
(7) 按照5.2.3 節(jié)系統(tǒng)啟動順序給目標(biāo)系統(tǒng)和MINICUBE2 上電。
(8) 啟動調(diào)試器。
注意如果已經(jīng)由項(xiàng)目管理器(PM+)生成項(xiàng)目,load模塊會自動被下載。這種情況下,關(guān)閉PM+然后啟動調(diào)試器。
備注 下一次調(diào)試器啟動,從步驟(7)執(zhí)行。然而,假如程序通過QB-Programmer寫入,監(jiān)視程序被擦除,順序必須重新從步驟(1)開始。
1.2.7 調(diào)試注意事項(xiàng)
本節(jié)描述了在78K0S 微控制器上進(jìn)行在線調(diào)試的注意事項(xiàng)。
請認(rèn)真閱讀下列事項(xiàng),以保證MINICUBE2 的正常使用。
(1) 處理用于調(diào)試的設(shè)備
不要在批量生產(chǎn)的產(chǎn)品上安裝曾用于調(diào)試的設(shè)備,因?yàn)镕lash 存儲器在調(diào)試過程中曾被多次重寫,F(xiàn)lash 存儲器的重寫次數(shù)無法保證。
(2) 調(diào)試器操作速度降低的情況
當(dāng)過多內(nèi)存或者寄存器內(nèi)容被顯示在一個調(diào)試器窗口里時(shí),調(diào)試器操作速度可能會降低。當(dāng)使用USB1.1 接口的主機(jī)時(shí)會特別明顯。
當(dāng)flash 內(nèi)存被過多寫入時(shí)調(diào)試器響應(yīng)也會變慢。
這種現(xiàn)象可以通過提高CPU 操作時(shí)鐘頻率,設(shè)置PCC 或PPCC 寄存器來加以改善。
(3) Reset 處理
如果目標(biāo)設(shè)備的RESET 引腳是作為端口使用,要通過用戶程序設(shè)置使能RESET 引腳,如option byte 設(shè)置。
(4) 當(dāng)斷點(diǎn)不能執(zhí)行時(shí)
如果滿足下面條件其中之一,強(qiáng)制斷點(diǎn)不會被執(zhí)行。
• 中斷被禁止(DI)
• 被用作MINICUBE2 和目標(biāo)設(shè)備間通訊的INTP 引腳產(chǎn)生的中斷被屏蔽
• INTP引腳對應(yīng)的復(fù)用功能端口沒有被設(shè)置成輸入模式
• 和INTP引腳對應(yīng)的外部中斷沿沒有被設(shè)置為上升沿
• 通過可屏蔽中斷待機(jī)模式被禁止時(shí),進(jìn)入待機(jī)模式
(5) Flash 自編程
如果分配給調(diào)試監(jiān)視程序的空間被flash 自編程重寫,調(diào)試器將不再正常操作。
(6) reset 后的操作
在外部引腳reset 或者內(nèi)部reset 后,監(jiān)視程序會執(zhí)行調(diào)試初始化處理。因此,從reset 產(chǎn)生到用戶程序執(zhí)行的時(shí)間會和實(shí)際設(shè)備的操作有所不同。
(7) POC 功能仿真
目標(biāo)設(shè)備的POC 功能不能被仿真。要確保調(diào)試期間給目標(biāo)系統(tǒng)的電源不能被斷掉。
(8) 使用實(shí)機(jī)調(diào)試而不使用MINICUBE2
如果是用實(shí)機(jī)調(diào)試而不是MINICUBE2,使用QB-Programmer 寫入用戶程序。通過調(diào)試器下載的程序包括監(jiān)視程序,如果不通過MINICUBE2 控制會有程序故障。
(9) 保護(hù)字節(jié)的注意事項(xiàng)
設(shè)置保護(hù)字節(jié)以執(zhí)行對整個塊的編程和整個塊的擦除。
評論