本應(yīng)用筆記介紹如何使用Keil μVision2工具套件調(diào)試DS5250高速安全微控制器的應(yīng)用。該過程包括將調(diào)試監(jiān)視器應(yīng)用程序加載到DS5250中,DS2通過選定的串行端口與Keil μVision<>通信。
本應(yīng)用筆記的所有開發(fā)均使用DS5250和DS52x0評(píng)估板(Rev A)完成。C 應(yīng)用程序是使用 Keil 的 μVision2 版本 2.40 和 Keil C51 編譯器版本 7.10 創(chuàng)建和編譯的。調(diào)試監(jiān)視器使用微控制器工具套件(MTK)52.0.2版本加載到DS2x0評(píng)估板RAM中。
安裝 Keil 調(diào)試監(jiān)視器
DS5250有三種不同的Keil調(diào)試監(jiān)視器可供選擇,具體取決于使用哪個(gè)串行端口與主機(jī)PC上的Keil μVision2通信。此串行端口將不可用于調(diào)試中的應(yīng)用程序。
使用的串行端口 | 使用的計(jì)時(shí)器 | 晶體速度 | 監(jiān)視器文件名 |
串行端口 0 | 定時(shí)器 1 | 11.0592兆赫 | 周一5250s0x11.hex |
串行端口 0 | 定時(shí)器 1 | 22.1184兆赫 | 周一5250s0x22.hex |
串行端口 1 | 定時(shí)器 1 | 11.0592兆赫 | 周一5250s1x11.hex |
串行端口 1 | 定時(shí)器 1 | 22.1184兆赫 | 周一5250s1x22.hex |
外部串行端口 2 | 沒有 | 任何 | 周一5250s2.十六進(jìn)制 |
要獲取這些文件,請(qǐng)通過我們的模擬支持中心聯(lián)系微控制器技術(shù)支持小組。
在DS52x0評(píng)估板上加載選定的調(diào)試監(jiān)視器之前,請(qǐng)按如下方式設(shè)置該板:
6-9 伏直流電源(中心柱正極)應(yīng)連接到電源插頭 J1。
應(yīng)將直通 DB9 串行電纜從主機(jī) PC 上的 J3 (串行 0) 連接到 COM1。
應(yīng)插入 11.0592 MHz 或 22.1184 MHz 晶體。(可以使用不同的晶體速度,但這會(huì)導(dǎo)致與加載器通信時(shí)具有不同的波特率。
除 A1-A4、B1 和 B2 應(yīng)打開外,所有 DIP 開關(guān)都應(yīng)關(guān)閉。
接下來,安裝微控制器工具包 (MTK) 軟件包,該軟件包可在 https://www.analog.com/en/product-category/microcontrollers.html 加載調(diào)試監(jiān)視器:
打開 MTK。在微控制器類型對(duì)話框中,選擇DS5240/50。
打開DS52x0評(píng)估板的電源。
選擇選項(xiàng) ->配置串行端口。將串行端口選項(xiàng)設(shè)置為 COM1 和 9600 波特。
選擇“目標(biāo)”->以 1 波特打開 COM9600。
選擇“目標(biāo)”->“連接到加載程序”。
應(yīng)出現(xiàn)加載程序提示符(DS5250 安全加載程序...)
在加載程序提示符下,鍵入“W MSIZE 12”并按回車鍵。
在加載程序提示符下,鍵入“W MCEN E0”并按回車鍵。
在加載程序提示符下,鍵入“W MCON 81”并按回車鍵。
從菜單中選擇文件 -> 加載。選擇要使用的調(diào)試監(jiān)視器文件。
加載完成后,選擇“目標(biāo) ->關(guān)閉 COM1”。
關(guān)閉DS52x0評(píng)估板的電源。將 DIP 開關(guān) B1 設(shè)置為 OFF 位置。
請(qǐng)參閱下面的圖 1,了解執(zhí)行此過程時(shí)應(yīng)出現(xiàn)在 MTK 中的輸出。
圖1.使用 MTK 加載調(diào)試監(jiān)視器。
創(chuàng)建和編譯 C 應(yīng)用程序
本節(jié)描述使用Keil的μVision5250集成開發(fā)環(huán)境為DS2創(chuàng)建和編譯示例C應(yīng)用的過程。
創(chuàng)建新項(xiàng)目
在 Keil mVision2 中,從菜單中選擇“項(xiàng)目 ->創(chuàng)建新項(xiàng)目”。輸入新項(xiàng)目的名稱。
將出現(xiàn)“為目標(biāo)選擇設(shè)備”對(duì)話框,如圖 2 所示。在“數(shù)據(jù)庫”下,選擇“達(dá)拉斯半導(dǎo)體和DS5250”。選中“使用擴(kuò)展鏈接器”和“使用擴(kuò)展匯編程序”框,然后單擊“確定”繼續(xù)。
圖2.為新的Keil μVision5250項(xiàng)目選擇DS2。
一個(gè)新的對(duì)話框?qū)⒃儐枴皩?Dallas 80C390 啟動(dòng)代碼復(fù)制到項(xiàng)目文件夾并將文件添加到項(xiàng)目?選擇“是”。
設(shè)置項(xiàng)目選項(xiàng)
當(dāng)項(xiàng)目窗口在左側(cè)打開時(shí),打開“目標(biāo) 1”。右鍵單擊目標(biāo) 1,然后選擇目標(biāo)“目標(biāo) 1”的選項(xiàng)。將出現(xiàn)一個(gè)選項(xiàng)對(duì)話框。
選擇“目標(biāo)”選項(xiàng)卡。更改此選項(xiàng)卡中的設(shè)置,如下所示(如圖 3 所示):
內(nèi)存模型 - 設(shè)置為大:XDATA 中的變量。
代碼 ROM 大小 - 設(shè)置為連續(xù)模式:16 MB 程序。
設(shè)置“使用多個(gè) DPTR 寄存器”復(fù)選框。
在對(duì)話框的片外代碼存儲(chǔ)器部分中,將前兩個(gè)字段設(shè)置為“RAM 開始:0x8000”和“RAM 大?。?x10000”。
在對(duì)話框的片外 Xdata Memory 部分中,將前兩個(gè)字段設(shè)置為 Ram 開始:0x8000 和 RAM 大?。?x10000。
圖3.DS5250的目標(biāo)選項(xiàng)設(shè)置。
接下來,選擇“調(diào)試”選項(xiàng)卡,并按如下所示設(shè)置選項(xiàng)(如下面的圖 4 所示):
選擇使用,然后選擇 MON390 - 達(dá)拉斯連續(xù)模式。
單擊設(shè)置按鈕并選擇 COM1 和 9600 波特。
設(shè)置“啟動(dòng)時(shí)加載應(yīng)用程序”和“直到 main()”復(fù)選框。
圖4.DS5250的目標(biāo)調(diào)試設(shè)置。
添加項(xiàng)目代碼
打開一個(gè)新文件并輸入以下 C 代碼:
#include#include void main() { while (1) { P0 = 0x80; P0 = 0x40; P0 = 0x20; P0 = 0x10; P0 = 0x08; P0 = 0x04; P0 = 0x02; P0 = 0x01; } }
將此文件另存為 main.c。該文件不會(huì)自動(dòng)添加到項(xiàng)目中。要添加文件,請(qǐng)右鍵單擊源組 1,然后選擇將文件添加到組“源組 1”。選擇 main.c 并單擊添加,然后單擊關(guān)閉。
接下來,打開文件 START390。A51 并注釋掉以下行(在 STARTUP1 標(biāo)簽之后):
; MOV TA,#0xAA ; Enable access to P4CNT ; MOV TA,#0x55 ; P4CNT_VAL EQU (SBCAN SHL 6) OR (PCES SHL 3) OR (P4PF) ; MOV P4CNT,#P4CNT_VAL ; ; MOV TA,#0xAA ; Enable access to P5CNT ; MOV TA,#0x55 ; P5CNT_VAL EQU (SP1EC SHL 5) OR (CX_IO SHL 3) OR (P5PF) ; MOV P5CNT,#P5CNT_VAL
達(dá)拉斯半導(dǎo)體DS5250監(jiān)視器自動(dòng)將微控制器設(shè)置為連續(xù)模式。因此,微控制器會(huì)錯(cuò)誤地解釋第一個(gè)指令地址。對(duì) START390 進(jìn)行此附加更改。A51 文件:
?C_STARTUP LABEL NEAR $IF MONITOR LJMP STARTUP1 $ELSE DB 02H ; LJMP in Classic 8051 Mode DW WORD0 STARTUP1 RSEG ?C_C51STARTUP $ENDIF
然后在“項(xiàng)目-組件”、“環(huán)境和書籍-項(xiàng)目組件”中創(chuàng)建新目標(biāo),并將該新目標(biāo)設(shè)置為當(dāng)前目標(biāo)。在項(xiàng)目 - 目標(biāo)選項(xiàng) - AX51 中添加條件程序集控制符號(hào) MONITOR。
編譯項(xiàng)目
若要編譯項(xiàng)目,請(qǐng)按 F7,或從菜單中選擇“項(xiàng)目 -> 生成目標(biāo)”。如果未發(fā)生錯(cuò)誤,則會(huì)顯示消息,指示編譯已成功完成,如圖 5 所示。
圖5.來自Keil μVision的編譯輸出。
調(diào)試項(xiàng)目
在Keil μVision2中啟動(dòng)調(diào)試會(huì)話之前,請(qǐng)打開DS52x0評(píng)估板的電源,并驗(yàn)證串行電纜是否按如下方式連接:
如果您使用的是串行 0 版本的調(diào)試監(jiān)視器,則應(yīng)將串行電纜從 COM1 連接到套件板上的 J3 / SERIAL 0 連接器。
如果您使用的是串行 1 版本的調(diào)試監(jiān)視器,則應(yīng)將串行電纜從 COM1 連接到套件板上的 J2 / SERIAL 1 連接器。
如果您使用的是調(diào)試監(jiān)視器的串行 2(外部串行)版本,則應(yīng)使用 DB1 到 6x2 適配器電纜將串行電纜從 COM9 連接到套件板上的 J2 / SERIAL 5 連接器。
從 Keil μVision2 的菜單中選擇調(diào)試 ->啟動(dòng)/停止調(diào)試會(huì)話。如果一切連接正確,將加載編譯的項(xiàng)目文件,Keil μVision2 將進(jìn)入調(diào)試模式,如下圖 6 所示。從這一點(diǎn),您可以查看寄存器和變量值,執(zhí)行分步和斷點(diǎn)以及其他操作。有關(guān)更多詳細(xì)信息,請(qǐng)參閱 Keil μVision 文檔。
DS5250的調(diào)試監(jiān)視器具有以下限制。
使用監(jiān)視器時(shí),您無法啟用擴(kuò)展堆棧。監(jiān)視器使用此區(qū)域進(jìn)行數(shù)據(jù)存儲(chǔ)。
申請(qǐng)必須從0x8000開始。
應(yīng)用程序不得寫入矢量 RAM。
使用外部串行監(jiān)視器時(shí),不支持串行中斷模式。
圖6.Keil μVision 的調(diào)試輸出。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7454瀏覽量
150856 -
連接器
+關(guān)注
關(guān)注
98文章
14210瀏覽量
135926 -
keil
+關(guān)注
關(guān)注
68文章
1210瀏覽量
166580
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論