久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡

你的位置:首頁 > 測試測量 > 正文

你的設計為何出問題?也許是嵌入式JTAG接口惹的禍

發(fā)布時間:2017-02-14 責任編輯:susan

【導讀】通常所說的JTAG大致分兩類,一類用于測試芯片的電氣特性,檢測芯片是否有問題;一類用于Debug;一般支持JTAG的CPU內都包含了這兩個模塊。

 
 
一個含有JTAG Debug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內部寄存器和掛在CPU總線上的設備,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)內置模塊的寄存器,象UART,TImers,GPIO等等的寄存器。
 
上面說的只是JTAG接口所具備的能力,要使用這些功能,還需要軟件的配合,具體實現(xiàn)的功能則由具體的軟件決定。
 
例如下載程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要參照SOC DataSheet的寄存器說明,設置RAM的基地址,總線寬度,訪問速度等等。有的SOC則還需要Remap,才能正常工作。運行Firmware時,這些設置由Firmware的初始化程序完成。但如果使用JTAG接口,相關的寄存器可能還處在上電值,甚至時錯誤值,RAM不能正常工作,所以下載必然要失敗。要正常使用,先要想辦法設置RAM。在ADW中,可以在Console窗口通過Let 命令設置,在AXD中可以在Console窗口通過Set命令設置。
 
下面是一個設置AT91M40800的命令序列,關閉中斷,設置CS0-CS3, 并進行Remap,適用于AXD(ADS帶的Debug)
setmem 0xfffff124,0xFFFFFFFF,32 ---關閉所有中斷
setmem 0xffe00000,0x0100253d,32 ---設置CS0
setmem 0xffe00004,0x02002021,32 ---設置CS1
setmem 0xffe00008,0x0300253d,32 ---設置CS2
setmem 0xffe0000C,0x0400253d,32 ---設置CS3
setmem 0xffe00020,1,32 ---Remap
 
如果要在ADW(SDT帶的DEBUG)中使用,則要改為:
let 0xfffff124=0xFFFFFFFF ---關閉所有中斷
let 0xffe00000=0x0100253d ---設置CS0
let 0xffe00004=0x02002021 ---設置CS1
let 0xffe00008=0x0300253d ---設置CS2
let 0xffe0000C=0x0400253d ---設置CS3
let 0xffe00020=1 ---Remap
 
為了方便使用,可以將上述命令保存為一個文件config.ini, 在Console窗口輸入 ob config.ini 即可執(zhí)行。
 
使用其他debug,大體類似,只是命令和命令的格式不同。
 
設置RAM時,設置的寄存器以及寄存器的值必須和要運行程序的設置一致。一般編譯生成的目標文件是ELF格式,或類似的格式,包含有目標碼運行地址,運行地址在Link時候確定。Debug下載程序時根據(jù)ELF文件中的地址信息下載程序到指定的地址。如果在把RAM的基地址設置為0x10000000, 而在編譯的時候指定Firmware的開始地址在0x02000000, 下載的時候,目標碼將被下載到0x02000000,顯然下載會失敗。
 
通過JTAG下載程序前應關閉所有中斷,這一點和Firmware初始化時關閉中斷的原因相同。在使用JTAG接口的時候,各中斷的使能未知,尤其是FLASH里有可執(zhí)行碼的情況,可能會有一些中斷被使能。使用JTAG下載完代碼,要執(zhí)行時,有可能因為未完成初始化就產生了中斷,導致程序異常。所以,需要先關閉中斷,一般通過設置SOC的中斷控制寄存器完成。
 
使用JTAG寫Flash。在理論上,通過JTAG可以訪問CPU總線上的所有設備,所以應該可以寫FLASH,但是FLASH寫入方式和RAM大不相同,需要特殊的命令,而且不同的FLASH擦除,編程命令不同,而且塊的大小,數(shù)量也不同,很難提供這一項功能。所以一般Debug不提供寫Flash功能,或者僅支持少量幾種Flash。
 
目前就我知道的,針對arm,只有FlashPGM這個軟件提供寫FLASH功能,但使用也非常麻煩。AXD,ADW都不提供寫FLASH功能。我寫Flash的方法時是,自己寫一個簡單的程序,專門用于寫目標板的FLASH,利用JTAG接口,下載到目標板,再把要燒寫的目標碼裝成BIN格式,也下到目標板(地址和燒FLASH的程序的地址不同),然后運行已經下載的燒FLASH的程序。使用這種方式,比起FlashPGM的寫Flash,速度似乎要快一些。
 
關于簡單JTAG電纜
 
目前有各種各樣簡單JTAG電纜,其實只是一個電平轉換電路,同時還起到保護作用。JTAG的邏輯則由運行在PC上的軟件實現(xiàn),所以在理論上,任何一個簡單JTAG電纜,都可以支持各種應用軟件,如Debug等。我就曾使用同一個JTAG電纜寫Xilinx CPLD,AXD/ADW調試程序。關鍵再于軟件的支持,大多數(shù)軟件都不提供設定功能,因而只能支持某種JTAG電纜。
 
關于簡單JTAG電纜的速度
 
JTAG是串行接口,使用打印口的簡單JTAG電纜,利用的是打印口的輸出帶鎖存的特點,使用軟件通過I/O產生JTAG時序。由JTAG標準決定,通過JTAG寫/讀一個字節(jié)要一系列的操作,根據(jù)我的分析,使用簡單JTAG電纜,利用打印口,通過JTAG輸出一個字節(jié)到目標板,平均需要43個打印口I/O, 在我機器上(P4 1.7G),每秒大約可進行660K次 I/O 操作,所以下載速度大約在660K/43, 約等于15K Byte/S. 對于其他機器,I/O速度大致相同,一般在600K ~ 800K.
 
關于如何提高JTAG下載速度
 
很明顯,使用簡單JTAG電纜無法提高速度。要提高速度,大致有兩種辦法,
1.使用嵌入式系統(tǒng)提供JTAG接口,嵌入式系統(tǒng)和微機之間通過USB/Ethernet相連,這要求使用MCU。
2.使用CPLD/FPGA提供JTAG接口,CPLD/FPGA和微機之間使用EPP接口(一般微機打印口都支持EPP模式),EPP接口完成微機和CPLD/FPGA之間的數(shù)據(jù)傳輸,CPLD/FPGA完成JTAG時序。
 
這兩種方法本人都實現(xiàn)過。第一個方法可以達到比較高的速度,實測超過了200KByte/S(注意:是Byte,不是Bit);但是相對來說,硬件復雜,制造相對復雜。第二種相對來說,下載速度要慢一些,最快時達到96KByte/S,但電路簡單,制造方便,而且速度可以滿足需要。第二種方案還有一個缺點,由于進行I/O操作時,CPU不會被釋放,因此在下載程序時,微機CPU顯得很繁忙。
 
總的來說,本人認為,對于個人愛好者來說,第二種方法更可取。
要采購電纜么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡
亚洲影院天堂中文av色| 麻豆一区在线| 亚洲精品99| 日韩在线a电影| 高清av一区| 日韩伦理福利| 黄色aa久久| 蜜桃av.网站在线观看| 日韩精品dvd| 亚洲天堂成人| 午夜在线精品| 国产剧情一区| 亚洲一级二级| 国产精品sm| 国产精品色婷婷在线观看| zzzwww在线看片免费| 影音国产精品| 亚洲欧美视频| 亚洲精品观看| 日韩av一区二区在线影视| 国产欧美一区二区三区米奇| 国产精品久久久久久久久久白浆| 麻豆国产精品777777在线| 日本欧美国产| 久久伦理在线| 在线精品观看| 先锋影音国产一区| 少妇精品久久久一区二区| 国产欧美日韩精品一区二区三区| 98精品视频| 日韩一区二区三区在线看| 欧美自拍一区| 91精品1区| 久久超级碰碰| 久久青草久久| 日韩综合小视频| 国产午夜一区| 香蕉视频亚洲一级| 午夜精品婷婷| 亚洲精品在线国产| 视频一区二区三区入口| 老司机精品视频在线播放| 午夜久久av| 中文字幕av亚洲精品一部二部| 亚洲天堂资源| 日韩欧美2区| 日韩免费高清| 久久亚洲人体| 国产精品天天看天天狠| 国产精品免费99久久久| 国产综合色区在线观看| 亚洲精品影院在线观看| 国产成人1区| 国产亚洲毛片| 麻豆久久久久久| 久久91导航| 欧美日韩激情| 国产精品2023| 亚洲欧美成人综合| 欧美黑人巨大videos精品| 樱桃成人精品视频在线播放| 国产精品一站二站| 91超碰国产精品| 美女性感视频久久| 亚洲一区黄色| 天堂√8在线中文| 91伊人久久| 五月精品视频| 高清一区二区| 日本欧美久久久久免费播放网| 国产精品久久久久蜜臀 | 亚洲一级网站| 美女视频一区在线观看| 亚洲一区亚洲| 国产精品xx| 国产精品久久777777毛茸茸| 尹人成人综合网| 亚洲va中文在线播放免费| 国产精东传媒成人av电影| 亚洲深深色噜噜狠狠爱网站| 日韩大片在线观看| 欧美激情日韩| 日韩精品一区二区三区av| 欧美精选一区二区三区| 成人国产精选| 亚洲+小说+欧美+激情+另类| 美女久久久久| 国产成人久久精品一区二区三区| 69堂免费精品视频在线播放| 久久夜色精品| 91看片一区| 丰满少妇一区| 国产精品sm| 久久国产精品免费一区二区三区| 一区二区国产在线观看| 日韩一级精品| 久久国产精品成人免费观看的软件| 国产a久久精品一区二区三区| 国产欧美另类| 97久久中文字幕| 另类国产ts人妖高潮视频| 不卡中文一二三区| 免费污视频在线一区| 丝袜诱惑一区二区| 精品中文在线| 亚洲色图综合| 中文在线不卡| 亚洲精品a级片| 国产一区二区三区自拍| 久久精品不卡| 99久久精品网| 欧美日韩一区二区三区视频播放| 捆绑调教日本一区二区三区| 激情综合五月| 成人日韩av| 国产欧美另类| 国产精品久久久久久av公交车| 欧美亚洲三级| 欧美三级第一页| 色综合视频一区二区三区日韩 | 一级成人国产| 99综合视频| 日韩视频二区| 久久网站免费观看| 91九色精品| 久久福利毛片| 性一交一乱一区二区洋洋av| 99香蕉国产精品偷在线观看 | 国产一区二区三区四区二区 | 麻豆久久精品| 蜜桃视频免费观看一区| 婷婷综合网站| 亚洲一区欧美激情| 一区二区国产在线| 欧美亚洲一级| 精品一区二区三区视频在线播放 | 在线亚洲自拍| 视频在线观看一区二区三区| 一区二区三区网站| 久久国产乱子精品免费女| 麻豆精品在线播放| 国产一区二区三区四区五区传媒| 成人午夜亚洲| 久久久精品午夜少妇| 性欧美精品高清| 欧美伊人影院| 日韩国产一区| 老司机久久99久久精品播放免费| 日韩视频一二区| 麻豆精品视频在线观看视频| 欧美日韩国产观看视频| jiujiure精品视频播放| 伊人精品久久| 免费在线成人| 999精品一区| 国产女优一区| 亚洲三级精品| 久久三级毛片| 女人av一区| 日韩高清不卡在线| 国产一区二区色噜噜| 婷婷综合亚洲| 97成人在线| av亚洲一区二区三区| 视频一区二区中文字幕| 国产精品亚洲产品| 国产99亚洲| 日韩欧美中文字幕在线视频| 国产精品国产一区| 欧美在线综合| 麻豆视频一区二区| 亚洲精品888| 国产精选久久| 亚洲激情五月| 美日韩一区二区三区| 一区二区亚洲精品| 久久中文在线| 99日韩精品| 国产一区国产二区国产三区| 美女网站久久| 久久久久久一区二区| 美女尤物久久精品| 成人亚洲一区二区| 亚洲人www| 视频小说一区二区| 欧美日一区二区在线观看| 三级精品视频| 国产亚洲久久| av成人国产| 国产suv精品一区二区四区视频| 日韩中文字幕一区二区三区| 精品视频97| 午夜天堂精品久久久久| 成人精品天堂一区二区三区| 国产亚洲精aa在线看| 亚洲成人一区| 精品一区不卡| 日韩精品福利一区二区三区| 国户精品久久久久久久久久久不卡| 国产精品欧美三级在线观看|