本應用筆記介紹如何使用Keil μVision2工具套件調試超高速閃存系列微控制器的應用,包括DS89C430和DS89C450。此過程涉及將調試監視器應用程序加載到微控制器中,微控制器通過選定的串行端口與Keil μVision2通信。
概述
本應用筆記的所有開發均使用DS89C440和DS89C450評估板(Rev B)完成。C 應用程序是使用 Keil 的 μVision2 版本 2.40 和 Keil C51 編譯器版本 7.10 創建和編譯的。調試監視器使用微控制器工具包89.440.2版本加載到DS1C03閃存中。
安裝 Keil 調試監視器
有兩種不同版本的Keil調試監視器可用于DS89C4X0,具體取決于使用哪個串行端口與主機PC上的Keil μVision2通信。此串行端口將不可用于調試中的應用程序。
使用的串行端口 | 使用的計時器 | 晶體速度 | 監視器文件名 |
串行端口 0 | 定時器 1 | 16.384兆赫 | mon4x0_v14_s0.十六進制 |
串行端口 1 | 定時器 1 | 16.384兆赫 | mon4x0_v14_s1.十六進制 |
這些文件
可供下載
。上面給出的名稱適用于最初發布的版本;任何以后的更新都將是“V15”、“V16”等。
在DS89C450評估板上加載選定的調試監視器之前,請按如下方式設置調試板:
直通 DB9 串行電纜應從 J2(串行 0/加載器)連接到 PC 上的 COM1。
應在Y16處插入384.1 MHz晶體。
DIP 開關 SW1.1-7 和 SW4.1-2 應打開。所有其他 DIP 開關應關閉。
接下來,安裝可下載的微控制器工具包 (MTK) 軟件包。
加載調試監視器:
打開 MTK。在微控制器類型對話框中,根據插入套件板上DIP-89插槽的處理器類型,選擇DS430C89、DS440C89或DS450C40。
打開DS89C450評估板的電源。
選擇選項 -> 配置串行端口。 將串行端口選項設置為 COM1 和 14400 波特。
選擇目標 ->以 1 波特打開 COM14400。
選擇“目標”->“連接到加載程序”。
應出現加載程序提示符(DS89C4X0 加載程序版本...)
在加載程序提示符下,鍵入“K”并按 ENTER 擦除微控制器閃存。
從菜單中選擇文件 -> 加載。選擇要使用的調試監視器文件。
加載完成后,選擇目標 ->關閉 COM1 并關閉微控制器工具包。
關閉DS89C450評估板的電源。
將撥碼開關 SW4.1 設置為 OFF 位置。
請參閱下面的圖 1,了解執行此過程時應出現在 MTK 中的輸出。
圖1.使用微控制器工具包加載調試監視器。
創建和編譯 C 應用程序
本節介紹使用Keil的μVision89集成開發環境為DS430C440/450/2創建和編譯示例C應用程序的過程。
創建新項目
在 Keil μVision2 中,從菜單中選擇“項目 ->創建新項目”。輸入新項目的名稱。
將出現“為目標選擇設備”對話框,如圖 2 所示。在“數據庫”下,選擇“達拉斯半導體”和您正在使用的特定微控制器(DS89C430、DS89C440 或 DS89C450)。點擊確定繼續。
圖2.為新的Keil μVision2項目選擇設備。
一個新對話框將詢問“將 8051 啟動代碼復制到項目文件夾并將文件添加到項目?選擇“是”。
設置項目選項
當項目窗口在左側打開時,打開“目標 1”。右鍵單擊目標 1,然后選擇目標“目標 1”的選項。將出現一個選項對話框。
選擇“目標”選項卡。更改此選項卡中的設置,如下所示:
內存模型 - 設置為大:XDATA 中的變量。這告訴編譯器在外部 MOVX RAM 中查找變量。這適用于使用硬件設置,例如高速微控制器評估板,該評估板為DS89C430/440/450提供外部數據存儲器。
代碼 ROM 大小 - 設置為大:64K 程序。
設置“使用多個 DPTR 寄存器”復選框。
在對話框的片外代碼存儲器部分中,將前兩個字段設置為“Eprom 開始:0x8000”和“Eprom 大小:0x3FFF”。
在對話框的片外 Xdata 內存部分中,將前兩個字段設置為 Ram 開始:0xC000 和 RAM 大小:0x3FFF。
圖3.DS89C430/440/450的目標選項設置
接下來,選擇“調試”選項卡,并按如下所示設置選項(如下面的圖 4 所示)。
選擇使用和 Keil 監視器-51 驅動程序
設置“啟動時加載應用程序”和“直到 main() ”復選框。
單擊設置按鈕并選擇 COM1 和 14400 波特。
圖4.DS89C430/440/450的調試選項設置
添加項目代碼
打開一個新文件并輸入以下 C 代碼:
#include #include main() { int x = 1; while (1) { x++; } }
將此文件另存為 main.c。該文件不會自動添加到項目中。要添加文件,請右鍵單擊源組 1,然后選擇將文件添加到組“源組 1”。選擇 main.c 并單擊添加,然后單擊關閉。
編譯和加載項目
若要編譯項目,請按 F7,或從菜單中選擇“項目 ->生成目標”。如果未發生錯誤,則會顯示消息,指示編譯已成功完成,如圖 5 所示。
圖5.來自Keil μVision的編譯輸出。
調試項目
在Keil μVision2中啟動調試會話之前,請打開DS89C450評估板的電源,并驗證串行電纜是否按如下方式連接:
如果您使用的是串行 0 版本的調試監視器,則應將串行電纜從 COM1 連接到套件板上的 J2 / SERIAL 0 連接器。
如果您使用的是串行 1 版本的調試監視器,則應將串行電纜從 COM1 連接到套件板上的 J3 / SERIAL 1 連接器。
從 Keil μVision2 的菜單中選擇調試 ->啟動/停止調試會話。如果一切連接正確,將加載編譯的項目文件,Keil μVision2 將進入調試模式,如下圖 6 所示。從這一點,您可以查看寄存器和變量值,執行分步、斷點和其他操作。有關更多詳細信息,請參閱 Keil μVision2 文檔。
圖6.Keil μVision 的調試輸出。
DS89C4X0的調試監視器限制
DS89C430、DS89C440和DS89C450的調試監視器具有以下限制:
所有閃存和所有低于 8000h 的外部 MOVX 內存都保留供調試監視器使用。
使用任一版本的監視器時,將保留以下寄存器/位。
(定時器1)TCON.0-1, TCON.6-7, TMOD.4-7, TL1, TH1, CKCON.4, CKMOD.4
(一般)EXIF.1-2, ACON, ROMSIZE, PMR, WDCON
使用串行 0 版本的監視器時,將保留以下寄存器/位。
P3.0-1, PCON.6-7, SCON0, SBUF0
使用串行 1 版本的監視器時,將保留以下寄存器/位。
P1.2-3, SCON1, SBUF1
關于調試監視器的其他說明
中斷將被重定向到適當的矢量加 8000h。例如,外部中斷 0 將向量到地址 8003h。
在某些配置中,Keil μVision2 在執行 Go 操作超過幾秒鐘時可能會與調試監視器失去聯系。如果發生這種情況,請通過跟蹤代碼或從一個斷點運行到另一個斷點來調試應用程序。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7487瀏覽量
151042 -
應用程序
+關注
關注
37文章
3240瀏覽量
57600 -
評估板
+關注
關注
1文章
505瀏覽量
29283
發布評論請先 登錄
相關推薦
評論