BDM 調(diào)試介紹

BDM 調(diào)試介紹

ID:44164633

大小:142.29 KB

頁數(shù):3頁

時間:2019-10-19

BDM 調(diào)試介紹_第1頁
BDM 調(diào)試介紹_第2頁
BDM 調(diào)試介紹_第3頁
資源描述:

《BDM 調(diào)試介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、MC68HC912B32背景調(diào)試模式介紹(一)背景調(diào)試模式背景調(diào)試模式(BackgroundDebugMode)是當(dāng)前MCU普遍采用的調(diào)試方式之一,它可用來進(jìn)行系統(tǒng)開發(fā),在線調(diào)試和編程,應(yīng)用程序的下載和在線更新。因為BDM控制模塊不寄居在CPU中,所以BDM硬件命令可以在CPU正常運行時被并行執(zhí)行,其他的BDM命令是基于固件的,且必須在CPU處于背景調(diào)試模式下才能被執(zhí)行。BDM模塊利用CPU的空閑周期和CPU進(jìn)行通信,必要時可以從CPU的工作周期中偷取一個周期。以CPU12為內(nèi)核的MCU的運行模式有單片方

2、式(singlechip)和擴(kuò)展方式(ExpandedMode)兩種,運行模式主要由BKGD,MODB和MODA引腳的狀態(tài)決定。在單片模式下又有兩種運行模式:普通運行模式(Normalsinglechip)和特殊運行模式(Specialsinglechip),而只有在特殊模式下BDM才能被激活,因此特殊單片模式又稱BDM模式。PC通過BDM頭與目標(biāo)機(jī)相連,如圖1所示。RS-232BDMCableBDMTargetPCBDM插頭圖1PC通過BDM和目標(biāo)機(jī)相連(二)BDM串行接口BDM串行接口通過BKGD引腳

3、和外部主機(jī)進(jìn)行通信單線通信,該引腳需要一個外部控制器在BKGD引腳上產(chǎn)生一個下降沿來指示位通信的開始,每一位的傳遞需要至少16個E時鐘周期。BKGD是一個漏極開路驅(qū)動的引腳,平時靠內(nèi)部上拉電阻維持高電平??梢员煌獠靠刂破骰蛘進(jìn)CU驅(qū)動。如果在兩個下降沿之間的時間超過512個E時鐘周期則會產(chǎn)生超時,此時硬件將清除命令寄存器。目前常用的BDM調(diào)試頭如圖2所示。BKGD12GNDNC34RESETVFP56VDD圖2BDM調(diào)試插頭引腳定義(三)進(jìn)入BDM模式如果要使用固件指令則必須先將BDM激活,BDM在任何操

4、作模式下都可以被激活。以下介紹讓目標(biāo)機(jī)進(jìn)入BDM調(diào)試模式的方法:首先,將目標(biāo)機(jī)的BKGD引腳拉低,然后給目標(biāo)機(jī)的RESET引腳加低電平,即給目標(biāo)機(jī)復(fù)位,復(fù)位脈沖要足夠?qū)挘辽僖笥谀繕?biāo)機(jī)的512個E時鐘周期。當(dāng)然如果用MCU制作BDM調(diào)試頭,則至少需要兩個I/O口來控制目標(biāo)機(jī)的BKGD和RESET引腳,否則只能通過硬件跳線的方式將BKGD跳低電平,在讓目標(biāo)機(jī)復(fù)位后再將BKGD跳高,以進(jìn)入目標(biāo)機(jī)的BDM模式。在進(jìn)入BDM模式以后,帶有程序的片內(nèi)BDM專用ROM將替換$FF00~$FFFF的Flash,這部分

5、空間在普通單片方式下是存放中斷向量的。(四)BDM指令:BDM有兩類命令,一類是在一般運行模式下都可以直接執(zhí)行的,被稱為硬件命令(HardwareCommand);另一類則是通過BDM方式下強(qiáng)制換成$FF00~$FFFF空間的ROM中的程序執(zhí)行的,被稱為固件指令(FirmwareCommand)。硬件指令允許讀或者寫目標(biāo)系統(tǒng)包括片內(nèi)RAM、EEPROM、I/O和控制寄存器在內(nèi)的所有內(nèi)存。硬件指令可以不在BDM模式下而被執(zhí)行,表1列出了BDM模塊的硬件指令。表1BDM硬件指令命令操作碼(Hex)操作數(shù)描述B

6、ACKGROUND90無進(jìn)入背景調(diào)試模式。16位地址READ_BD_BYTEE4讀取BDM內(nèi)存區(qū)一個字節(jié)。16位數(shù)據(jù)輸出FF01,正在執(zhí)行用戶程序,BDM執(zhí)行不能執(zhí)行。00000000輸出FF01,STATUSE4BDM執(zhí)行可被執(zhí)行。10000000輸出FF01,BDM被激活,等待接受命令。11000000輸出16位地址READ_BD_WORDEC讀取BDM內(nèi)存區(qū)兩個字節(jié)。16位數(shù)據(jù)輸出16位地址READ_BYTEE0讀取BDM內(nèi)存區(qū)以外的內(nèi)存區(qū)一個字節(jié)。16位數(shù)據(jù)輸出16位地址READ_WORDE8讀取

7、BDM內(nèi)存區(qū)以外的內(nèi)存區(qū)二個字節(jié)。16位數(shù)據(jù)輸出16位地址WRITE_BD_BYTEC4往BDM內(nèi)存區(qū)寫一個字節(jié)。16位數(shù)據(jù)輸入ENABLEFF01,寫1*******到$FF01,置位ENBDM位,使允許C4FIRMWARE1*******(輸入)執(zhí)行固件指令。16位地址WRITE_BD_WORDCC往BDM內(nèi)存區(qū)寫兩個字節(jié)。16位數(shù)據(jù)輸入16位地址WRITE_BYTEC0往BDM內(nèi)存區(qū)以外的內(nèi)存區(qū)寫一個字節(jié)。16位數(shù)據(jù)輸入16位地址WRITE_WORDC8往BDM內(nèi)存區(qū)以外的內(nèi)存區(qū)寫二個字節(jié)。16位數(shù)

8、據(jù)輸入固件指令必須在HC12單片機(jī)的BDMROM中執(zhí)行,且CPU必須在背景調(diào)試模式下才能執(zhí)行,通常使用硬件指令BACKGROUND使CPU進(jìn)入背景調(diào)試模式。當(dāng)BDM被激活時,BDMROM就被分配到地址空間:$FF20~$FFFF,同時七個BDM寄存器被分配到地址空間:$FF00~$FF06,此時CPU就可以通過執(zhí)行ROM中的代碼來完成相應(yīng)的固件指令操作。表2介紹了常用的三個固件指令。表2BDM固件指令命令操作碼(Hex)操作數(shù)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。