本應(yīng)用筆記介紹如何使用Keil μVision2工具套件啟動并運行DS5250安全微控制器的C語言應(yīng)用。所有開發(fā)均使用DS5250評估板和Keil μVision2 2.37版本完成,其中包括C編譯器“C51”7.05版本。
概述
本應(yīng)用筆記介紹如何使用Keil μVision2工具套件為DS5240或DS5250高速安全微控制器創(chuàng)建和編譯C應(yīng)用。還描述了使用 ROM 引導(dǎo)加載程序和微控制器工具包將編譯的應(yīng)用程序加載到微控制器的外部加密 RAM 中的過程。
本應(yīng)用筆記的所有開發(fā)均使用DS5250和DS52x0評估板(Rev A)完成。C 應(yīng)用程序是使用 Keil 的 μVision2 版本 2.40 和 Keil C51 編譯器版本 7.10 創(chuàng)建和編譯的。編譯后的應(yīng)用使用微控制器工具包52.0.2版本加載到DS2x0評估板RAM中。
創(chuàng)建和編譯 C 應(yīng)用程序
本節(jié)描述使用Keil的μVision5250集成開發(fā)環(huán)境為DS2創(chuàng)建和編譯示例C應(yīng)用的過程。
創(chuàng)建新項目
在 Keil μVision2 中,從菜單中選擇“項目 ->創(chuàng)建新項目”。輸入新項目的名稱。將顯示“為目標(biāo)選擇設(shè)備”對話框,如圖 1 所示。在“數(shù)據(jù)庫”下,選擇“達(dá)拉斯半導(dǎo)體和DS5250”。選中“使用擴展鏈接器”和“使用擴展匯編程序”框,然后單擊“確定”繼續(xù)。
圖1.為新的Keil μVision5250項目選擇DS2。
一個新的對話框?qū)⒃儐枴皩?Dallas 80C390 啟動代碼復(fù)制到項目文件夾并將文件添加到項目?選擇“是”。
設(shè)置項目選項
當(dāng)項目窗口在左側(cè)打開時,打開“目標(biāo) 1”。右鍵單擊目標(biāo) 1,然后選擇目標(biāo)“目標(biāo) 1”的選項。將出現(xiàn)一個選項對話框。
選擇“目標(biāo)”選項卡。更改此選項卡中的設(shè)置,如下所示(如圖 2 所示):
內(nèi)存模型 - 設(shè)置為大:XDATA 中的變量。
代碼 ROM 大小 - 設(shè)置為連續(xù)模式:16 MB 程序。
設(shè)置“使用多個 DPTR 寄存器”復(fù)選框。
在對話框的片外代碼存儲器部分中,將頂部兩個字段設(shè)置為“Eprom 開始:0x1400”和“Eprom 大小:0x10000”。
在對話框的片外 Xdata 內(nèi)存部分中,將前兩個字段設(shè)置為“Ram 開始:0x80000”和“RAM 大?。?x10000”。
圖2.DS5250的目標(biāo)選項設(shè)置。
最后,選擇“輸出”選項卡。在此選項卡中,選中“創(chuàng)建十六進(jìn)制文件”框,然后選擇“十六進(jìn)制格式:十六進(jìn)制-386”。
添加項目代碼
打開一個新文件并輸入以下 C 代碼:
#include #include // Initialize serial port 0 to 9600 baud using 22.1184 MHz crystal void serialInit() { PCON |= 0x80; SCON0 = 0x50; TMOD |= 0x21; TH1 = 0xDC; CKCON |= 0x10; TCON = 0x50; SCON0 |= 0x02; } void main() { serialInit(); printf('Hello from serial port 0r '); while (1) { P0 = 0x55; printf("."); P0 = 0xAA; printf("."); } }
將此文件另存為 main.c。該文件不會自動添加到項目中。要添加文件,請右鍵單擊源組 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 Also, change the line #include to #include
編譯項目
若要編譯項目,請按 F7,或從菜單中選擇“項目 ->生成目標(biāo)”。如果未發(fā)生錯誤,則應(yīng)顯示消息,指示編譯已成功完成,如圖 3 所示。
圖3.來自Keil μVision的編譯輸出。
使用微控制器工具包加載已編譯的應(yīng)用程序
微控制器工具包軟件可在達(dá)拉斯/Maxim網(wǎng)站 http://www.maximintegrated.com 獲得。
在DS52x0評估板上加載編譯好的應(yīng)用之前,應(yīng)按如下方式設(shè)置電路板:
6-9 伏直流電源(中心柱正極)應(yīng)連接到電源插頭 J1。
應(yīng)將直通 DB9 串行電纜從主機 PC 上的 J3 (串行 0) 連接到 COM1。
應(yīng)插入 22.1184 MHz 晶體。
除 A1-A4、B1 和 B2 應(yīng)打開外,所有 DIP 開關(guān)都應(yīng)關(guān)閉。
要加載應(yīng)用程序:
打開微控制器工具包。在微控制器類型對話框中,選擇DS5240/50。
打開DS52x0評估板的電源。
選擇選項 ->配置串行端口。 將串行端口選項設(shè)置為 COM1 和 9600 波特。
選擇“目標(biāo)”->以 1 波特打開 COM9600(或按 Ctrl+O)。
選擇“目標(biāo)”->“連接到加載程序”(或按 Ctrl+L)。
應(yīng)出現(xiàn)加載程序提示符(DS5250 安全加載程序...)
在加載程序提示符下,鍵入“W MSIZE 12”并按回車鍵。
在加載程序提示符下,鍵入“W MCON 81”并按回車鍵。
從菜單中選擇文件 -> 加載(或按 Ctrl+H)。選擇已編譯的應(yīng)用程序十六進(jìn)制文件。
加載完成后,將 DIP 開關(guān) B1 設(shè)置為 OFF 位置。
圖4.微控制器工具包的輸出。
總結(jié)
Keil的μVision2和Dallas/Maxim的微控制器工具套件共同簡化了DS5240和DS5250高速安全微控制器的構(gòu)建和加載應(yīng)用。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7454瀏覽量
150855 -
存儲器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163518 -
編譯器
+關(guān)注
關(guān)注
1文章
1617瀏覽量
49015
發(fā)布評論請先 登錄
相關(guān)推薦
評論