《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 采用MAXQ1103評估套件和面向MAXQ30的CrossWorks編譯器進行設計

采用MAXQ1103評估套件和面向MAXQ30的CrossWorks編譯器進行設計

2009-01-13
作者:美信公司

?

引言

??? MAXQ1103是Maxim集成產品公司的新一代安全微控制器,設計用于金融終端。它運行16位指令,提供一個32位數據通道。微控制器在一個機器周期中執行完成指令,是性能非常高的RISC機。MAXQ1103還具有很多重要的安全特性,包括:
  • 支持DES、3DES、SHA-1、SHA-224、SHA-256、RSA、DSA和ECDSA的密碼加速器
  • 真正的硬件隨機數發生器
  • 1KB低泄漏電池備電NVSRAM
  • 與外部電路連接的7個防篡改探測輸入
  • 環境傳感器,例如溫度和電壓超范圍探測器
??? MAXQ1103評估(EV)套件是安全應用原型開發的理想平臺。套件提供兩個串口,兩個智能卡插槽(一個全尺寸,一個SIM卡),一個USB連接器,一個LCD屏,一個16按鍵鍵盤以及原型區。

設置MAXQ1103評估套件

??? MAXQ1103評估套件圖1所示。需要采用下面列出的硬件元件來完成本應用筆記所討論的工作:
  1. MAXQ1103評估套件電路板
  2. JTAG電路板
  3. JTAG電纜(連接MAXQ1103評估套件電路板和JTAG電路板)
  4. 9針串行電纜
  5. 穩壓電源(5V、±5%、300mA、中心正極)

圖1. MAXQ1103評估套件


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



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

  • 在MAXQ1103評估套件電路板上,短接跳線JU1,連接JU5上面的兩個引腳(最靠近JU5標簽的兩個引腳)。現在,所有其他跳線應打開。如果,JU6到JU18的所有跳線都短接,那就OK。這是智能卡通信需要的配置,本應用筆記不涉及。
  • 在JTAG電路板,短接JH1和JH2,打開JH3。
??? 在JTAG電路板和MAXQ1103套件電路板之間連接JTAG電纜。在JTAG電路板上,紅色電纜應連接至標有引腳1和引腳2的一側,以及MAXQ1103套件電路板的TCK-GND一側。

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

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

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

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

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

??? 在建立新方案時,點擊File New New Project。在New Project彈出框中,填寫底部的Name和Location框,從Project Templates窗口中選擇“A C executable” (圖2)。我們調用工程BlinkyDemo,將其放到目錄C:\work\maxq\maxq1103\blinky中。

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


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



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

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

圖3. Project Explorer窗口


圖3. Project Explorer窗口

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

#include 
#include 

void delayms(unsigned long count)
{
  unsigned int x;
  while (count > 0)
  {
    for (x=0;x<2500;x++)
    {
      __no_operation();
    }
    count--;
  }
}

void main(void)
{
  // set port 0 to all output
  PD0 = 0xff;
  while (1)
  {
    // toggle bits 0, 1, 7
    PO0 = PO0 ^ 0x83;
    delayms(500);
  }
}

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

??? 在運行演示實例前,必須首先構建它。選擇Build Build BlinkyDemo。或者按下F7來構建。如果一切都正確構建,您將在Output窗口看到消息“Build complete”,它旁邊有一個對勾(圖4)。如果有錯,請確定您輸入的代碼是否正確。

圖4. 工程構建后的輸出


圖4. 工程構建后的輸出



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

圖5. Step Over按鈕


圖5. Step Over按鈕



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

使用CrossStudio調試應用程序

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

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

???

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

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

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

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


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



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

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

圖7. 加入斷點


圖7. 加入斷點

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

圖8. Step Into按鈕


圖8. Step Into按鈕



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

??? 以及您感興趣的其他調試功能:

  • Debug Disassembly將同時顯示C代碼和生成的匯編代碼。這樣,用戶可以進入匯編代碼,而不是C代碼,同時知道對應于C代碼的什么位置。
  • Debug Debug Windows Call Stack將顯示應用程序到達當前位置時所調用的函數。如果在delayms()函數中暫停執行,其顯示如圖9所示。
  • 使用Debug Stop停止調試,觀察右側的Targets窗口。確定Maxim Serial JTAG Adapter以粗體字顯示,觀察下面的配置選項。如果您使用串口,而不是默認的COM1,那么,可以在這里改變這一選項。

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


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

?

?

?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久九九99视频| 欧美色网在线| 亚洲一区免费| 亚洲乱码国产乱码精品精天堂| 欧美亚洲综合在线| 亚洲午夜av在线| avtt综合网| av成人福利| 一区二区高清| 一本久道久久综合狠狠爱| 亚洲美女在线看| 亚洲美女性视频| 99国产精品私拍| 国产精品99久久99久久久二8| 99精品免费网| 国产精品99久久久久久白浆小说| 在线视频日韩| 亚洲社区在线观看| 亚洲婷婷国产精品电影人久久| 亚洲视频在线看| 亚洲在线1234| 亚欧成人精品| 久久激情网站| 亚洲三级国产| 在线亚洲自拍| 亚洲欧美伊人| 久久精品在线免费观看| 久久久青草婷婷精品综合日韩| 久久久精品网| 免费成人av在线看| 欧美高清视频在线播放| 欧美日韩高清免费| 国产精品高潮呻吟久久av无限| 国产精品尤物| 在线播放不卡| 亚洲精品一区二区在线观看| 一本色道久久综合亚洲精品小说| 亚洲一区自拍| 久久精品免费电影| 99re66热这里只有精品4| 亚洲无线一线二线三线区别av| 午夜欧美大尺度福利影院在线看 | 国产精品自拍在线| 国内精品嫩模av私拍在线观看| 在线观看日韩专区| 一本到高清视频免费精品| 亚洲女爱视频在线| 亚洲国产精品123| 夜夜爽99久久国产综合精品女不卡| 亚洲一区二区不卡免费| 久久成人免费视频| 欧美1区免费| 国产精品久久久久天堂| 国产一区导航| 亚洲精品国产精品国产自| 亚洲少妇诱惑| 亚洲国产精品小视频| 国产精品99久久久久久久vr| 久久精品国产在热久久| 欧美激情精品久久久久| 国产精品视频导航| 亚洲黑丝一区二区| 亚洲男人的天堂在线| 亚洲国产精品一区二区第四页av| 一区二区三区四区精品| 久久精品国产免费| 欧美日韩精品一区二区天天拍小说 | 一区免费在线| 一区二区欧美激情| 亚洲国产精品久久久久久女王 | 性刺激综合网| 欧美va亚洲va日韩∨a综合色| 国产精品久久久久高潮| 亚洲电影免费观看高清完整版在线| 一区二区三区欧美日韩| 亚洲高清不卡在线| 校园春色国产精品| 欧美连裤袜在线视频| 国产亚洲毛片| 亚洲无亚洲人成网站77777| 亚洲免费成人av| 久久精品99无色码中文字幕| 欧美日韩在线播放一区| 在线看成人片| 欧美一区二区三区视频免费播放| 一区二区三区国产精品| 鲁大师影院一区二区三区| 国产精品嫩草久久久久| 亚洲精品久久久久中文字幕欢迎你 | 久久成人免费视频| 欧美视频一区二区三区| 亚洲福利视频二区| 欧美一区亚洲二区| 亚洲欧美一级二级三级| 欧美久久久久久久| 激情综合激情| 欧美一级淫片aaaaaaa视频| 亚洲午夜av电影| 欧美精品一区二区三区视频| 国产综合香蕉五月婷在线| 亚洲免费在线观看视频| 亚洲色图综合久久| 欧美久久久久久久| 亚洲国产成人不卡| 亚洲国产另类久久精品| 久久福利资源站| 国产精品视频免费在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲免费电影在线| 欧美波霸影院| 亚洲成色777777女色窝| 久久精品av麻豆的观看方式| 欧美中文字幕在线| 国产精品一区二区视频| 亚洲午夜日本在线观看| 亚洲视频欧洲视频| 欧美视频在线观看一区| 亚洲美女视频网| 亚洲私拍自拍| 欧美视频观看一区| 在线亚洲一区二区| 亚洲一区欧美| 国产精品久久77777| 亚洲午夜电影网| 亚洲欧美日韩一区二区三区在线| 国产精品99免费看 | 国产在线成人| 久久国产精品72免费观看| 久久狠狠亚洲综合| 国产亚洲一区二区在线观看| 性欧美videos另类喷潮| 久久国产精品久久久久久电车| 国产视频综合在线| 亚洲电影av在线| 欧美大片在线观看一区二区| 亚洲国产天堂久久综合| 亚洲三级视频| 欧美日韩一级黄| 亚洲午夜免费视频| 欧美亚洲一区| 国产在线高清精品| 亚洲激情精品| 欧美日本一道本| 一本一本久久| 久久精品一区二区三区不卡| 在线观看国产日韩| aa级大片欧美三级| 国产精品国色综合久久| 性欧美在线看片a免费观看| 久久久久久91香蕉国产| 激情五月婷婷综合| 日韩写真视频在线观看| 国产精品播放| 欧美中文字幕在线观看| 免费欧美日韩| 亚洲最新色图| 久久久久网址| 亚洲精品国产系列| 欧美亚洲免费高清在线观看| 狠狠色噜噜狠狠色综合久| 亚洲精品自在久久| 国产精品福利网| 亚洲第一二三四五区| 欧美日韩免费观看一区二区三区| 亚洲一区在线播放| 久久综合图片| 一区二区三区日韩欧美精品| 久久国内精品视频| 亚洲精品日本| 欧美在线一级va免费观看| 在线观看日韩av电影| 亚洲一级黄色片| 黄色工厂这里只有精品| 亚洲夜间福利| 在线精品一区| 午夜亚洲影视| 亚洲黄色成人久久久| 亚洲午夜视频在线观看| 黑丝一区二区三区| 亚洲宅男天堂在线观看无病毒| 国内精品免费午夜毛片| 一区二区三区 在线观看视频| 国产日韩一区二区三区在线播放| 日韩图片一区| 国精品一区二区| 亚洲欧美成aⅴ人在线观看| 精品动漫一区| 亚洲欧美综合精品久久成人| 亚洲激情av| 久久精品一区二区国产| 99国产精品一区| 欧美v日韩v国产v| 亚洲欧美综合网| 欧美日韩一级视频| 亚洲精品麻豆| 狠狠久久五月精品中文字幕| 先锋影院在线亚洲| 亚洲乱码国产乱码精品精 | 国产精品视频不卡| 在线亚洲免费视频|