<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 實(shí)現(xiàn)MAXQ2000微控制器的JTAG加載主機(jī)

          實(shí)現(xiàn)MAXQ2000微控制器的JTAG加載主機(jī)

          作者: 時間:2012-03-19 來源:網(wǎng)絡(luò) 收藏
          進(jìn)行驗(yàn)證。
        1. 沒有讓啟動加載程序驗(yàn)證裝入的代碼,而是使用卸載代碼可變長度(20h)命令驗(yàn)證裝入的代碼是否匹配發(fā)送的數(shù)據(jù),主機(jī)直接驗(yàn)證裝入的數(shù)值。
        2. 從程序存儲器卸載代碼

          裝入所有代碼后,演示的最后一步是讀回一個塊中的所有代碼。向啟動加載程序發(fā)送卸載代碼可變長度(20h)命令來完成這一讀操作。這一命令的參數(shù)是開始卸載的地址(讀),以及卸載的字節(jié)數(shù)。注意,對于所有的啟動加載程序命令,必須為每一讀回的字節(jié)發(fā)送一個字節(jié)。因此,這一命令需要大量的零填充字節(jié),從程序存儲器讀取每一字節(jié)都需要一個。
             ;;;;;;;;  Dump program code;;;;move    DP[0], #str_dumpCodeVariablecall    txStringmove    DP[0], #0move    @DP[0],   #CMD_DUMP_CODE_VARIABLEmove    @++DP[0], #1        ; Indicates single byte length (256 bytes)move    @++DP[0], #00h      ; AddrL (byte address 0000h)move    @++DP[0], #00h      ; AddrHmove    @++DP[0], #128      ; Length - 128 bytesmove    LC[1], #128main_loop1:move    @++DP[0], #00hdjnz    LC[1], main_loop1   move    @++DP[0], #000h     ; Paddingmove    @++DP[0], #000h     ; Paddingmove    @++DP[0], #55hmove    LC[1], DP[0]move    DP[0], #0nopcall    sendCommandnopjump    C, main_failJTAGcall    getStatusjump    C, main_failJTAGmove    Acc, A[3]         ; Check that loader status is 00h (no error)jump    NZ, main_failStatus
          讀取這些代碼字節(jié)后,JTAG演示應(yīng)用程序通過串口以十六進(jìn)制格式輸出這些代碼字節(jié)。

          退出啟動加載程序

          單字節(jié)命令集0中的命令01h (退出啟動加載程序)導(dǎo)致啟動加載程序完成操作,并退出,如下所示。
          • 啟動加載程序啟動內(nèi)部復(fù)位,把SPE和PSS位清零,復(fù)位。
          • 退出復(fù)位,開始執(zhí)行程序ROM的8000h。
          • 現(xiàn)在SPE已經(jīng)清為零,程序ROM代碼導(dǎo)致執(zhí)行開始于地址0000h的用戶應(yīng)用程序。
          由于退出啟動加載程序命令自動清除SPE和PSS位,而后面的復(fù)位清除TAP控制器,使它返回旁路模式,因此,不需要JTAG主機(jī)來完成這些操作。
             ;;;;;;;;  Exit loader mode and allow program code to execute;;;;call    waitForPromptmove    Acc, #CMD_EXIT_LOADERcall    shiftDRmove    Acc, #00hcall    shiftDRmove    Acc, #00hcall    shiftDRmove    Acc, #00hcall    shiftDR

          操作演示

          需要下面的硬件和軟件來運(yùn)行JTAG啟動加載程序演示。

          硬件
          • 兩塊評估板(-K00 REV B);一塊評估板用作主機(jī)板,另一塊用作從機(jī)MAXQ2000板。
          • MAXQ2000 LCD子卡(MAXQ2000-K01 REV B)
          • 兩條2 x 5 JTAG接口電纜(含在MAXQ2000評估套件中)
          • 串口至JTAG接口板(MAXQJTAG-001 REV B)
          • DB9直通串行電纜
          • 兩個5V穩(wěn)壓(±5%)直流墻插電源,中心正極,CUI公司。DPR050030-P6或者等效電源。
          • 兩個HC49US 8.00MHz晶振
          • 2 x 5 0.100英寸引腳插座
          軟件
          • JTAG演示軟件包
            • http://files.dalsemi.com/microcontroller/app_note_software/an4012_sw.zip
          • MAXQ的MAX-IDE開發(fā)環(huán)境
            • http://files.dalsemi.com/microcontroller/maxq/dev_tool_software/MAX-IDE/MAX-IDE.zip
          • MAXQ的工具包(MTK)
            • http://files.dalsemi.com/microcontroller/dev_tool_software/mtk/
          設(shè)置說明
          1. 如果還沒有安裝MAX-IDE,按照MAXQ2000評估套件中的文檔說明進(jìn)行下載并安裝。
          2. 如果還沒有安裝MTK,按照MAXQ2000評估套件中的文檔說明進(jìn)行下載并安裝。
          3. 連接LCD子卡和從機(jī)MAXQ2000板的J3插座,如前面的圖1所示。LCD子卡應(yīng)固定在MAXQ2000評估板的上部。
          4. 在兩塊MAXQ2000評估板(在Y1)上安裝8.00MHz晶振。
          5. 在主機(jī)MAXQ2000板的原型區(qū)安裝2 x 5 JTAG插座,引腳連接至主機(jī)MAXQ2000引腳,如表1所列。
          6. 配置串口至JTAG板以及兩塊MAXQ2000評估板上的跳線和DIP開關(guān),如表2所列。
          7. 使用DB9串行電纜連接PC的COM1口和串口至JTAG板的J1。
          8. 將第一個5V電源連接至串口至JTAG板的J2。
          9. 將第二個5V電源連接至從機(jī)MAXQ2000評估板的J1。
          10. 使用第一條JTAG電纜,連接串口至JTAG板的P2和主機(jī)MAXQ2000板的J4。紅色線應(yīng)連接兩個JTAG插座的引腳1。
          11. 使用第二條JTAG電纜,連接主機(jī)MAXQ2000板原型區(qū)的JTAG插座和從機(jī)MAXQ2000板的J4。紅色線應(yīng)連接兩個JTAG插座的引腳1。
          編譯并裝入JTAG演示
          1. 下載JTAG演示軟件包,把它解壓縮到工作路徑中。
          2. 啟動MAX-IDE。
          3. 打開兩路5V電源。
          4. 從菜單中選擇Project Arrow Open Project ,選擇maxqjtag.prj工程文件,打開它。
          5. 從菜單中選擇Debug Arrow Make。應(yīng)出現(xiàn)"Build Successful"消息。
          6. 從菜單中選擇Debug Arrow Run。應(yīng)出現(xiàn)一連串的"Loading"消息,隨后是"Done"。
          7. 從菜單中選擇Debug Arrow Stop。
          8. 關(guān)閉MAX-IDE。
          9. 關(guān)掉電源。
          運(yùn)行JTAG演示
          1. 在斷電情況下,從串口至JTAG板斷開DB9串行電纜。
          2. DB9電纜連接至主機(jī)MAXQ2000板的J5。
          3. 啟動MTK。在起始對話框中選擇"Dumb Terminal"。
          4. 從菜單中選擇Options Arrow Configure Serial Port。在對話框中,設(shè)置Port為COM1,Speed為9600波特率。
          5. 從菜單中選擇Target Arrow Open COM1 at 9600 baud。
          6. 打開電源。
          如果已經(jīng)裝入應(yīng)用程序,并且都連接正確,串口將輸出以下文本(圖5)。

          實(shí)現(xiàn)MAXQ2000微控制器的JTAG加載主機(jī)
          圖5. 演示應(yīng)用程序,串口提示符

          現(xiàn)在輸入一個4位十進(jìn)制數(shù);不需要隨后按下回車鍵。演示應(yīng)用程序會完成剩下的操作(主機(jī)擦除、裝入代碼和卸載代碼),并輸出結(jié)果,以及從程序存儲器中卸載的十六進(jìn)制字節(jié)值,如圖6所示。

          實(shí)現(xiàn)MAXQ2000微控制器的JTAG加載主機(jī)
          圖6. 演示應(yīng)用程序,串口輸出

          結(jié)論

          利用一組標(biāo)準(zhǔn)命令,MAXQ微控制器提供的JTAG啟動加載程序使外部JTAG主機(jī)能夠輕松地識別MAXQ微控制器,并對其進(jìn)行編程。本應(yīng)用筆記中的代碼可以用作構(gòu)建全功能JTAG啟動加載主機(jī)應(yīng)用程序的出發(fā)點(diǎn),以識別、初始化、裝入和驗(yàn)證支持標(biāo)準(zhǔn)啟動加載程序命令集MAXQ微控制器的程序和數(shù)據(jù)存儲器內(nèi)容。

          上一頁 1 2 3 4 5 6 7 下一頁

          關(guān)鍵詞: MAXQ2000 微控制器 JTAG

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();