采用MAXQ1103評估套件和面向MAXQ30的CrossW
引言
本文引用地址:http://m.butianyuan.cn/article/186433.htmMAXQ1103是Maxim集成產(chǎn)品公司的新一代安全微控制器,設(shè)計用于金融終端。它運行16位指令,提供一個32位數(shù)據(jù)通道。微控制器在一個機器周期中執(zhí)行完成指令,是性能非常高的RISC機。MAXQ1103還具有很多重要的安全特性,包括:
支持DES、3DES、SHA-1、SHA-224、SHA-256、RSA、DSA和ECDSA的密碼加速器
真正的硬件隨機數(shù)發(fā)生器
1KB低泄漏電池備電NVSRAM
與外部電路連接的7個防篡改探測輸入
環(huán)境傳感器,例如溫度和電壓超范圍探測器
評估(EV)套件是安全應(yīng)用原型開發(fā)的理想平臺。套件提供兩個串口,兩個智能卡插槽(一個全尺寸,一個SIM卡),一個USB連接器,一個LCD屏,一個16按鍵鍵盤以及原型區(qū)。
評估套件如圖1所示。需要采用下面列出的硬件元件來完成本應(yīng)用筆記所討論的工作:
MAXQ1103評估套件電路板
JTAG電路板
JTAG電纜(連接MAXQ1103評估套件電路板和JTAG電路板)
9針串行電纜
穩(wěn)壓電源(5V、±5%、300mA、中心正極)
詳細(xì)電路圖(PDF,14.4MB)
圖1.MAXQ1103評估套件
評估套件電路板和JTAG電路板都有很多跳線需要進(jìn)行配置。如果需要了解跳線及其功能的詳細(xì)信息,請參考各自的數(shù)據(jù)手冊。對于本應(yīng)用筆記,請按照以下要求來配置跳線:
在MAXQ1103評估套件電路板上,短接跳線JU1,連接JU5上面的兩個引腳(最靠近JU5標(biāo)簽的兩個引腳)。現(xiàn)在,所有其他跳線應(yīng)打開。如果,JU6到JU18的所有跳線都短接,那就OK。這是智能卡通信需要的配置,本應(yīng)用筆記不涉及。
在JTAG電路板,短接JH1和JH2,打開JH3。
在JTAG電路板和MAXQ1103套件電路板之間連接JTAG電纜。在JTAG電路板上,紅色電纜應(yīng)連接至標(biāo)有引腳1和引腳2的一側(cè),以及MAXQ1103套件電路板的TCK-GND一側(cè)。
注意,在早期的MAXQ1103評估套件中,MAXQ1103IC可能采用了插槽。如果是這樣,把MAXQ1103插入到IC標(biāo)記向下的插槽中(無鉛指示符“+”應(yīng)在右上側(cè))。
在您的PC和JTAG電路板之間連接9針串行電纜。不要將其連接至MAXQ1103評估套件電路板。將電源連接至這兩塊電路板。
采用CrossWorks編譯器進(jìn)行設(shè)計:Blinky
我們不以“HelloWorld”開始,而是構(gòu)建一個簡單的應(yīng)用程序,該應(yīng)用程序使MAXQ103套件電路板上的一個LED閃爍。
我們使用的工具包是RowleyAssociates公司提供的CrossStudio。現(xiàn)在,工具包當(dāng)前版本是面向MAXQ30的CrossWorks(2.0.0.2008063000.2293版),可用于產(chǎn)生本文檔的截屏顯示。為確定是否是最新版本,請在線訪問RowleyAssociates網(wǎng)站,或者通過Maxim支持中心,與我們?nèi)〉寐?lián)系。
在建立新方案時,點擊FileNewNewProject。在NewProject彈出框中,填寫底部的Name和Location框,從ProjectTemplates窗口中選擇“ACexecutable”(圖2)。我們調(diào)用工程BlinkyDemo,將其放到目錄C:workmaxqmaxq1103blinky中。
圖2.選擇“ACexecutable”,填寫工程名稱和位置
單擊Next繼續(xù),您將看到ProjectProperties彈出框。選擇默認(rèn)值即可,單擊Finish,建立工程(您可以單擊Next,選擇其他的選項;本工程在這些選項中使用所有默認(rèn)值)。
在建立工程時,ProjectExplorer框中會出現(xiàn)一個新工程(圖3),通常位于應(yīng)用程序窗口的右上。打開它,您將看到兩個文件夾,SourceFiles和SystemFiles。打開SourceFiles,將看到main.c,這是您的應(yīng)用程序源代碼。雙擊它,打開。
圖3.ProjectExplorer窗口
自動生成的源代碼非常簡單,我們只需要加入幾行就可以使我們的閃爍應(yīng)用程序工作。復(fù)制以下應(yīng)用程序代碼(替換main.c文件中當(dāng)前的所有內(nèi)容)。
#include
#include
voiddelayms(unsignedlongcount)
{
unsignedintx;
while(count>0)
{
for(x=0;x2500;x++)
{
__no_operation();
}
count--;
}
}
voidmain(void)
{
//setport0toalloutput
PD0=0xff;
while(1)
{
//togglebits0,1,7
PO0=PO0^0x83;
delayms(500);
}
}
當(dāng)我們運行這一應(yīng)用程序時,會看到LEDDS1、DS2和DS3(位于套件電路板MAXQ1103的左下側(cè))閃爍,接通0.5s,關(guān)斷0.5s。注意,“delayms”函數(shù)并不恰好是一毫秒,而是非常接近,達(dá)到了blinky應(yīng)用程序的目的。
在運行演示實例前,必須首先構(gòu)建它。選擇BuildBuildBlinkyDemo?;蛘甙聪翭7來構(gòu)建。如果一切都正確構(gòu)建,您將在Output窗口看到消息“Buildcomplete”,它旁邊有一個對勾(圖4)。如果有錯,請確定您輸入的代碼是否正確。
圖4.工程構(gòu)建后的輸出
運行應(yīng)用程序時,單擊DebugStepOver。也可以按下F10,或者單擊帶有向下箭頭工具條中的圖標(biāo)(圖5)。
評論