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