<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

實(shí)現MAXQ2000微控制器的JTAG加載主機

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

    裝入所有代碼后,演示的最后一步是讀回一個(gè)塊中的所有代碼。向啟動(dòng)加載程序發(fā)送卸載代碼可變長(cháng)度(20h)命令來(lái)完成這一讀操作。這一命令的參數是開(kāi)始卸載的地址(讀),以及卸載的字節數。注意,對于所有的啟動(dòng)加載程序命令,必須為每一讀回的字節發(fā)送一個(gè)字節。因此,這一命令需要大量的零填充字節,從程序存儲器讀取每一字節都需要一個(gè)。
       ;;;;;;;;  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
    讀取這些代碼字節后,JTAG演示應用程序通過(guò)串口以十六進(jìn)制格式輸出這些代碼字節。

    退出啟動(dòng)加載程序

    單字節命令集0中的命令01h (退出啟動(dòng)加載程序)導致啟動(dòng)加載程序完成操作,并退出,如下所示。
    • 啟動(dòng)加載程序啟動(dòng)內部復位,把SPE和PSS位清零,復位。
    • 退出復位,開(kāi)始執行程序ROM的8000h。
    • 現在SPE已經(jīng)清為零,程序ROM代碼導致執行開(kāi)始于地址0000h的用戶(hù)應用程序。
    由于退出啟動(dòng)加載程序命令自動(dòng)清除SPE和PSS位,而后面的復位清除TAP控制器,使它返回旁路模式,因此,不需要JTAG主機來(lái)完成這些操作。
       ;;;;;;;;  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

    操作演示

    需要下面的硬件和軟件來(lái)運行JTAG啟動(dòng)加載程序演示。

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

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

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

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

    結論

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

    上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

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

    評論


    相關(guān)推薦

    技術(shù)專(zhuān)區

    關(guān)閉
    国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
    <dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>