當前位置:首頁 > 模擬 > 模擬
[導讀]引言MAXQ1103是Maxim集成產品公司的新一代安全微控制器,設計用于金融終端。它運行16位指令,提供一個32位數據通道。微控制器在一個機器周期中執(zhí)行完成指令,是性能非常高的RISC機。MAXQ1103還具有很多重要的安全特性

引言

MAXQ1103是Maxim集成產品公司的新一代安全微控制器,設計用于金融終端。它運行16位指令,提供一個32位數據通道。微控制器在一個機器周期中執(zhí)行完成指令,是性能非常高的RISC機。MAXQ1103還具有很多重要的安全特性,包括:

支持DES、3DES、SHA-1、SHA-224、SHA-256、RSA、DSA和ECDSA的密碼加速器

真正的硬件隨機數發(fā)生器

1KB低泄漏電池備電NVSRAM

與外部電路連接的7個防篡改探測輸入

環(huán)境傳感器,例如溫度和電壓超范圍探測器

評估(EV)套件是安全應用原型開發(fā)的理想平臺。套件提供兩個串口,兩個智能卡插槽(一個全尺寸,一個SIM卡),一個USB連接器,一個LCD屏,一個16按鍵鍵盤以及原型區(qū)。

設置MAXQ1103評估套件

評估套件如圖1所示。需要采用下面列出的硬件元件來完成本應用筆記所討論的工作:

MAXQ1103評估套件電路板

JTAG電路板

JTAG電纜(連接MAXQ1103評估套件電路板和JTAG電路板)

9針串行電纜

穩(wěn)壓電源(5V、±5%、300mA、中心正極)

<center>


詳細電路圖(PDF,14.4MB)
圖1.MAXQ1103評估套件

評估套件電路板和JTAG電路板都有很多跳線需要進行配置。如果需要了解跳線及其功能的詳細信息,請參考各自的數據手冊。對于本應用筆記,請按照以下要求來配置跳線:

在MAXQ1103評估套件電路板上,短接跳線JU1,連接JU5上面的兩個引腳(最靠近JU5標簽的兩個引腳)。現在,所有其他跳線應打開。如果,JU6到JU18的所有跳線都短接,那就OK。這是智能卡通信需要的配置,本應用筆記不涉及。

在JTAG電路板,短接JH1和JH2,打開JH3。

在JTAG電路板和MAXQ1103套件電路板之間連接JTAG電纜。在JTAG電路板上,紅色電纜應連接至標有引腳1和引腳2的一側,以及MAXQ1103套件電路板的TCK-GND一側。

注意,在早期的MAXQ1103評估套件中,MAXQ1103IC可能采用了插槽。如果是這樣,把MAXQ1103插入到IC標記向下的插槽中(無鉛指示符“+”應在右上側)。

在您的PC和JTAG電路板之間連接9針串行電纜。不要將其連接至MAXQ1103評估套件電路板。將電源連接至這兩塊電路板。

采用CrossWorks編譯器進行設計:Blinky

我們不以“HelloWorld”開始,而是構建一個簡單的應用程序,該應用程序使MAXQ103套件電路板上的一個LED閃爍。

我們使用的工具包是RowleyAssociates公司提供的CrossStudio?,F在,工具包當前版本是面向MAXQ30的CrossWorks(2.0.0.2008063000.2293版),可用于產生本文檔的截屏顯示。為確定是否是最新版本,請在線訪問RowleyAssociates網站,或者通過Maxim支持中心,與我們取得聯系。

在建立新方案時,點擊FileNewNewProject。在NewProject彈出框中,填寫底部的Name和Location框,從ProjectTemplates窗口中選擇“ACexecutable”(圖2)。我們調用工程BlinkyDemo,將其放到目錄C:workmaxqmaxq1103blinky中。


圖2.選擇“ACexecutable”,填寫工程名稱和位置

單擊Next繼續(xù),您將看到ProjectProperties彈出框。選擇默認值即可,單擊Finish,建立工程(您可以單擊Next,選擇其他的選項;本工程在這些選項中使用所有默認值)。

在建立工程時,ProjectExplorer框中會出現一個新工程(圖3),通常位于應用程序窗口的右上。打開它,您將看到兩個文件夾,SourceFiles和SystemFiles。打開SourceFiles,將看到main.c,這是您的應用程序源代碼。雙擊它,打開。


圖3.ProjectExplorer窗口

自動生成的源代碼非常簡單,我們只需要加入幾行就可以使我們的閃爍應用程序工作。復制以下應用程序代碼(替換main.c文件中當前的所有內容)。

#include

#include

voiddelayms(unsignedlongcount)

{

unsignedintx;

while(count>0)

{

for(x=0;x<2500;x++)

{

__no_operation();

}

count--;

}

}

voidmain(void)

{

//setport0toalloutput

PD0=0xff;

while(1)

{

//togglebits0,1,7

PO0=PO0^0x83;

delayms(500);

}

}

當我們運行這一應用程序時,會看到LEDDS1、DS2和DS3(位于套件電路板MAXQ1103的左下側)閃爍,接通0.5s,關斷0.5s。注意,“delayms”函數并不恰好是一毫秒,而是非常接近,達到了blinky應用程序的目的。

在運行演示實例前,必須首先構建它。選擇BuildBuildBlinkyDemo?;蛘甙聪翭7來構建。如果一切都正確構建,您將在Output窗口看到消息“Buildcomplete”,它旁邊有一個對勾(圖4)。如果有錯,請確定您輸入的代碼是否正確。


圖4.工程構建后的輸出

運行應用程序時,單擊DebugStepOver。也可以按下F10,或者單擊帶有向下箭頭工具條中的圖標(圖5)。


圖5.StepOver按鈕

CrossStudio通過JTAG電路板把應用程序下載到MAXQ1103中,Output窗口顯示狀態(tài)消息。應用程序將開始運行,然后,在代碼第一行停止(左側空白區(qū)顯示黃色箭頭)。運行應用程序時,單擊“Play”按鈕(或者選擇DebugGo)?,F在,請確定MAXQ1103電路板上的LED正在閃爍。您可能希望能夠在一定程度上修改應用程序。使LED按順序閃爍,或者改變點亮時間,更快或者更慢的閃爍。

使用CrossStudio調試應用程序

現在,讓我們了解一下MAXQ1103和CrossStudio工具的調試功能。MAXQ1103有內置JTAG引擎,支持在實際芯片上進行調試,從而不需要昂貴的仿真器或者有可能出錯的模擬器。注意,MAXQ1103還提供鎖定機制,在元件鎖定時,防止JTAG工作。這樣,當MAXQ1103微控制器用在敏感應用中時,保證了JTAG調試引擎不會帶來安全威脅。

現在,我們返回到最初的Blinky應用程序,在主函數中,把延時從500改到5:

delayms(5);

現在,構建并運行應用程序。注意,LED持續(xù)點亮,而不是不斷閃爍。這就是簡單演示代碼第一次編寫并運行時的情況。

這樣會帶來一個基本問題:“燈的確是連續(xù)點亮,還是閃爍非常快,而無法察覺呢”?如果燈是連續(xù)點亮,那就有必要檢查原理圖和引腳分配,確定一切OK。如果LED只是很快地閃爍(太快,以至于看不清間隔),那就只需要調整時間,這是可能需要做的工作。為回答這一問題,我們現在使用CrossStudio的調試工具。

按下Pause按鈕(或者選擇DebugBreak)。在代碼停止的地方,出現一個黃色箭頭。代碼很有可能停止在delayms()函數的‘for’循環(huán)中(參見圖6)。


圖6.在delayms()函數中,代碼停止運行

觀察右側的Locals窗口(如果看不到該窗口,單擊DebugDebugWindowsLocals)。該窗口將顯示變量“x”和“count”的當前值。現在,按下StepOver按鈕幾次。在Locals窗口中,您應該看到x值增加了(可以連續(xù)按下StepOver,直到循環(huán)結束,但這可能需要很長的時間)。

現在,已經很容易回答“燈是在閃爍嗎”這一問題了?對此,需要在main函數的delayms(5)一行設置斷點,單擊該代碼行左側的小三角。它將變?yōu)榧t圈(圖7)。現在,再次運行應用程序(DebugGo,或者Play按鈕)。應用程序會運行到這一點,然后暫?!,F在,點擊Go若干次后,您會看到,隨著您的點擊,燈接通和關斷。這驗證了燈是在閃爍,只是太快,我們的眼睛無法察覺。


圖7.加入斷點

現在,我們借這個機會了解一下更多的調試功能。按下StepOver按鈕幾次,按順序執(zhí)行三行代碼:while(1),PO0=PO0^0x83和delayms(5)。您將看到,當通過PO0行時,燈閃爍?,F在,當暫停在delayms(5)行時,按下StepInto按鈕(圖8),進入delayms()函數(而不是StepOver,這會執(zhí)行整個函數)。


圖8.StepInto按鈕

在運行時,還可以改變變量(和寄存器)。清除所有斷點(DebugBreakpointsClearAllBreakpoints),單擊Go。單擊Pause,程序應再次停止在delayms()函數的中間部分。注意“x”和“count”值?,F在,把x設置為2499(單擊x顯示的數值,高亮后輸入2499)。執(zhí)行幾次StepOver或者StepInto,您會看到循環(huán)結束,“count”值也遞減了。

以及您感興趣的其他調試功能:DebugDisassembly將同時顯示C代碼和生成的匯編代碼。這樣,用戶可以進入匯編代碼,而不是C代碼,同時知道對應于C代碼的什么位置。

DebugDebugWindowsCallStack將顯示應用程序到達當前位置時所調用的函數。如果在delayms()函數中暫停執(zhí)行,其顯示如圖9所示。

使用DebugStop停止調試,觀察右側的Targets窗口。確定MaximSerialJTAGAdapter以粗體字顯示,觀察下面的配置選項。如果您使用串口,而不是默認的COM1,那么,可以在這里改變這一選項。


圖9.在delayms()函數中運行時調用堆棧

center>

更多資訊請關注:21ic模擬頻道

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉