久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > ARM仿真調試技術
ARM仿真調試技術
時間:2017-01-05作者:華清(qing)遠見

在(zai)嵌入(ru)式系(xi)(xi)統的(de)(de)(de)設計(ji)中,仿(fang)真應用的(de)(de)(de)范圍主要集(ji)中在(zai)對(dui)程(cheng)(cheng)序的(de)(de)(de)仿(fang)真上。在(zai)ARM的(de)(de)(de)開發(fa)過程(cheng)(cheng)中,一種簡(jian)(jian)單(dan)和原(yuan)始的(de)(de)(de)開發(fa)流程(cheng)(cheng)是:編寫程(cheng)(cheng)序,然后燒(shao)寫到芯片上驗證功能(neng),這種方法(fa)對(dui)于(yu)簡(jian)(jian)單(dan)的(de)(de)(de)小(xiao)系(xi)(xi)統是可以對(dui)付的(de)(de)(de),但在(zai)大系(xi)(xi)統中使用這種方法(fa)則是完全不(bu)可能(neng)的(de)(de)(de)。所以很多時候我們需要在(zai)不(bu)燒(shao)寫代碼(ma)的(de)(de)(de)情況(kuang)下調試程(cheng)(cheng)序,這就是仿(fang)真調試技(ji)術。

現代調(diao)試(shi)技術(shu)可以分為(wei)軟件仿真調(diao)試(shi)和(he)硬件仿真調(diao)試(shi)兩種(zhong):

一.軟件仿真(指令集仿真):

概念:

用數(shu)據結構描述目標機CPU中(zhong)各個寄(ji)存(cun)器和其他資源(yuan)(內(nei)存(cun)等),通過軟件模擬,可(ke)以(yi)逐(zhu)條(tiao)指令解釋執(zhi)行目標機可(ke)執(zhi)行映(ying)象中(zhong)的(de)程序(xu)。

應用場合:

●  當嵌入式軟件開發在目標硬件平臺不存在的情況下進行,就要使用這種軟件來模擬目標CPU,以驗證代碼邏輯。
        ●  是學習(xi)(xi)嵌(qian)入式開發有效地(di)工具(ju)(ju),可(ke)以讓(rang)學習(xi)(xi)者從底層具(ju)(ju)體(ti)硬件(jian)(jian)細節(jie)中解脫出來,專(zhuan)注于軟(ruan)(ruan)件(jian)(jian),尤其(qi)是與具(ju)(ju)體(ti)硬件(jian)(jian)無關的系統軟(ruan)(ruan)件(jian)(jian)(TCP/IP協議棧)。

幾個(ge)不錯的(de)硬件模擬平臺:

●  Skyeye:清華大學計算機系博士后陳渝發起,開源項目,主要模擬ARM內核CPU。
        ●  ARMulator:ARM公司推出,ARM指令集模擬器(ADS,Realview MDK上就用這個)。
    &nbsp;   ●  ZIX:一個(ge)快捷高(gao)效(xiao)、功能強大(da)、易(yi)于配(pei)置的嵌入式Linux開(kai)發環境。

軟件仿(fang)真(zhen)的(de)缺點:

無法(fa)完全仿真與(yu)硬(ying)件相關的部(bu)分,終還要(yao)通過硬(ying)件仿真來(lai)完成終的設計。

二.硬件仿真調試:

以(yi)前的芯片沒(mei)有JTAG調(diao)試(shi)邏輯,要(yao)向(xiang)仿(fang)真它就必須要(yao)有專門的仿(fang)真器(qi),這種(zhong)仿(fang)真器(qi)成本較高(gao),而且每種(zhong)芯片都不(bu)一樣,現(xian)在(zai)這種(zhong)仿(fang)真器(qi)已(yi)經不(bu)存(cun)在(zai)了(le)。

現在(zai)的芯片一般都內置了JTAG調試邏輯,并不(bu)需要CPU仿真器(qi),需要的只(zhi)是一個JTAG協議轉接器(qi)(現在(zai)還稱其(qi)為仿真器(qi),其(qi)實叫做調試器(qi)比較合適)。所以下(xia)面主要介紹JTAG及其(qi)仿真技術。

JTAG簡介

JTAG是Joint Test Action Group的(de)簡稱,該組(zu)織致力于統一芯(xin)片(pian)的(de)測試(shi)(shi)標(biao)(biao)準,它們初向IEEE提出了IEEE1149.1標(biao)(biao)準,后(hou)來(lai)(lai)經過IEEE批準并且標(biao)(biao)準化,所以IEEE1149.1標(biao)(biao)準又叫JTAG標(biao)(biao)準,它是一套(tao)芯(xin)片(pian)測試(shi)(shi)接(jie)口和標(biao)(biao)準,現(xian)在(zai)幾乎(hu)所有的(de)CPU核里面都(dou)會實現(xian)JTAG邏輯單元。JTAG原(yuan)本是用(yong)(yong)來(lai)(lai)測試(shi)(shi)芯(xin)片(pian)設(she)計是否(fou)正確,其基本原(yuan)理就是在(zai)芯(xin)片(pian)的(de)各個管(guan)(guan)腳(jiao)上放置鎖存(cun)器(qi),然后(hou)串聯起來(lai)(lai)構成移位(wei)寄(ji)存(cun)器(qi),可(ke)以監(jian)控芯(xin)片(pian)管(guan)(guan)腳(jiao)的(de)輸入和輸出。后(hou)來(lai)(lai)大家發現(xian)用(yong)(yong)JTAG在(zai)線調試(shi)(shi)芯(xin)片(pian)非常(chang)方(fang)便(其實就是利用(yong)(yong)JTAG控制(zhi)CPU內核),還不(bu)需要設(she)計專門的(de)仿真芯(xin)片(pian),因此就出現(xian)了用(yong)(yong)JTAG調試(shi)(shi)風行的(de)局面。

邊界掃(sao)描技(ji)術(Boundary-Scan):

JTAG調試(shi)主要就是基于這種邊界掃描技(ji)術(shu)。

邊(bian)界(jie)(jie)掃描(miao)技術(shu)的(de)基(ji)本(ben)思想是在(zai)靠近芯片的(de)輸(shu)(shu)(shu)入(ru)輸(shu)(shu)(shu)出(chu)管腳上增加一個移位寄存(cun)器(qi)單元(yuan)(yuan)。因為這些(xie)移位寄存(cun)器(qi)單元(yuan)(yuan)都分布在(zai)芯片的(de)邊(bian)界(jie)(jie)上,所以(yi)被稱為邊(bian)界(jie)(jie)掃描(miao)寄存(cun)器(qi) (Boundary-Scan Register Cell) 。當芯片處于調試(shi)狀態的(de)時候(hou),這些(xie)邊(bian)界(jie)(jie)掃描(miao)寄存(cun)器(qi)可以(yi)將芯片和(he)外圍的(de)輸(shu)(shu)(shu)入(ru)輸(shu)(shu)(shu)出(chu)隔離開來(lai)。通過這些(xie)邊(bian)界(jie)(jie)掃描(miao)寄存(cun)器(qi)單元(yuan)(yuan),可以(yi)實現對芯片輸(shu)(shu)(shu)入(ru)輸(shu)(shu)(shu)出(chu)信號的(de)觀察(cha)和(he)控制。

JTAG的(de)主要作用:

●    檢測芯片是否良好
        &nbsp;       ■這是JTAG初設計的目標

●    鏡像文件的燒寫功能
                ■可以燒寫編譯出來的二進制或者十六進制可執行文件到目標板的Flahs芯片上
                ■當開發板為裸板(沒有固化任何程序)的時候,通常需要通過JTAG接口下載bootloader
                ■調試功能
                ■JTAG接口為宿(su)主機和目(mu)標系統(tong)之間的通信、控制提(ti)供了方(fang)便的途(tu)徑

ARM7TDMI調試架構:

一個(ge)調(diao)試系統通常包含三個(ge)部分:

●    調試主機
                ■是一臺運行調試軟件(ADS,Keil等)的計算機
                ■可以發出一些高層的調(diao)試命令,設置斷(duan)點,訪(fang)問內(nei)存等(deng)

●    協議轉換器
                ■將調試主機發出的高層調試命令轉換為底層的ARM JTAG調試命令
                ■調試目標
&nbsp;               ■基于目標芯(xin)片(pian)的開發(fa)板

ARM7TDMI典型(xing)的調試架(jia)構如下圖所示(shi):

經(jing)過協(xie)議轉換器進(jin)行命(ming)令解(jie)釋,主機(ji)上運行的調試軟件就可(ke)以通過JTAG接口直接和目標芯(xin)片對話了(le)。

為了支持(chi)底層(ceng)的調(diao)試(shi),ARM7TDMI提(ti)供了硬(ying)件上的調(diao)試(shi)擴展,包(bao)括:

●  停止程序的運行
        ●  檢查和修改ARM7TDMI的內核狀態
        ●  觀察和修改內存
 &nbsp;      ●  恢復程序的運行

常見ARM調試工具:

●    BDI1000/2000/3000
                ■非常好的調試工具,可以調試ARM、MIPS、PowerPC、Xscale等多種架構處理器
                ■JTAG下載速度可以上兆,以太網接口
             &nbsp;  ■性能優越但是價(jia)格不(bu)菲,可以調試Linux內核(he)這種復雜(za)的代碼

●    U-Link
                ■U-Link是Keil公司做的用于ARM和某些增強型8051單片機調試的工具
                ■由于Keil公司做的時候沒有加密,導致現在盜版滿天飛
                ■U-link僅僅支持Keil,JTAG下載速度20K~30K
U-Link下載程(cheng)序不是簡單通過JTAG,而是先用JTAG下載一段固件(jian)程(cheng)序到目(mu)標板,然后(hou)再用這(zhe)個固件(jian)程(cheng)序和(he)JTAG把用戶代碼寫入Flash以提高速度(du)

●    J-Link
                ■J-Link是IAR公司為ARM芯片開發的調試工具
                ■支持RDI協議的調試工具,如Keil、ADS、IAR等
                ■J-Link不支持ARM10以上的內核
 &nbsp;              ■JTAG下載速度400K~500K

●    Multi-ICE
                ■ARM公司原創調試工具,支持全系列ARM芯片
                ■JTAG下載(zai)速度130K左右(you)

●    Wiggler電纜
                ■Wiggler是世界上泛濫的一種調試工具
                ■結構非常簡單:一片74HC244 + 一個9013 + 幾個電阻
                ■性能一般,但是價格非常便宜
    &nbsp;           ■后人又在Wiggler的(de)硬件(jian)基礎上開發了(le)很多的(de)調試工具,例如大名鼎鼎的(de)H-Jtag

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)