第七章PSoC編程和調(diào)試接口功能_第1頁(yè)
第七章PSoC編程和調(diào)試接口功能_第2頁(yè)
第七章PSoC編程和調(diào)試接口功能_第3頁(yè)
第七章PSoC編程和調(diào)試接口功能_第4頁(yè)
第七章PSoC編程和調(diào)試接口功能_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7章PSoC編程和調(diào)試接口

Chapter7ProgrammingandDebugInterfaceofPSoC3/5PSoC編程和調(diào)試接口

--前言本章主要介紹PSoC3/5的編程和調(diào)試接口功能,其內(nèi)容主要包括:測(cè)試控制器的模塊結(jié)構(gòu)和連接器接口;JTAG和SWD接口的工作原理;PSoC3/5的JTAG和SWD接口的工作原理;8051的片上調(diào)試模塊(DoC);Cortex-M3的調(diào)試和跟蹤模塊;非易失性存儲(chǔ)器的編程。測(cè)試控制器

--測(cè)試控制器模塊結(jié)構(gòu)PSoC3/5結(jié)構(gòu)包括一個(gè)測(cè)試控制器,主要用于下面的目的:用于邊界掃描測(cè)試訪問I/O引腳;通過PSoC3的片上調(diào)試DoC模塊或者PSoC5Cortex-M3調(diào)試訪問端口(DebugAccessPort,DAP)(用于功能測(cè)試,設(shè)備編程和程序調(diào)試)來訪問芯片的存儲(chǔ)器和寄存器。測(cè)試控制器

--測(cè)試控制器模塊結(jié)構(gòu)測(cè)試控制器通過邊界掃描端口(JointTestActionGroup,JTAG)或者串行調(diào)試(SerialWireDebug,SWD)接口連接到片外設(shè)備。測(cè)試控制器包含下面的特性:支持到調(diào)試主機(jī)的JTAG或者SWD接口;SWD接口可以使用GPIO或者USB引腳;支持邊界掃描IEEE標(biāo)準(zhǔn)1149.1-2001“TestAccessPortandBoundary-ScanArchitecture”;支持額外的JTAG指令/寄存器,用于訪問芯片的剩余部分;與PSoC3/5的調(diào)試模塊接口用于訪問芯片的剩余部分用于編程和調(diào)試操作;測(cè)試控制器

--測(cè)試控制器模塊結(jié)構(gòu)如下圖,PSoC3測(cè)試控制器將JTAG或者SWD訪問轉(zhuǎn)換成DoC模塊內(nèi)寄存器的訪問。圖PSoC3測(cè)試控制器模塊圖測(cè)試控制器

--測(cè)試控制器模塊結(jié)構(gòu)如下圖,在某些JTAG指令下,JTAG或者SWD信號(hào)簡(jiǎn)單的傳送到ARM的DAP端口。圖PSoC5測(cè)試控制器模塊圖測(cè)試控制器

--連接器接口1.5針連接器如下圖所示,5針連接器配置成單排,每針之間間隔為100mil。圖5針連接器測(cè)試控制器

--連接器接口2.10針連接器如下圖所示,10針連接器配置成雙排,每針之間間隔為50mil。圖10針連接器測(cè)試控制器

--連接器接口表不同通信協(xié)議的引腳分配協(xié)議信號(hào)5針10針I(yè)SSPSCLK4SDAT5XRES3JTAGTMS2TCK4TDO6TDI8XRES10SWD/SWVSDIO52SCK44SWV6XRES310I2CSCK4SDA5JTAG與SWD接口的工作原理

--JTAG工作原理為了應(yīng)對(duì)IC芯片日益增加的高引腳密度,聯(lián)合行動(dòng)測(cè)試小組(JointTestActionGroup,JTAG)提供了一個(gè)用于測(cè)試電路板的方法,這個(gè)方法就是通過一個(gè)獨(dú)立的測(cè)試接口來控制IC的引腳(和讀取它們的值)。這個(gè)解決方案就是后來的IEEE1149.1-2001標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)基于一個(gè)概念,即使用一個(gè)布線貫穿所有IC引腳的移位寄存器(這也叫做邊界掃描)。每個(gè)引腳上都有一個(gè)邊界掃描單元。在PSoC3/5中,大部分的GPIO和SIO端口引腳都有邊界掃描單元。JTAG與SWD接口的工作原理

--JTAG工作原理用于控制邊界掃描單元值的接口叫做測(cè)試訪問端口(TestAccessPort,TAP),也就是經(jīng)常所說的JTAG接口。JTAG接口由:測(cè)試數(shù)據(jù)輸入(TDI);測(cè)試數(shù)據(jù)輸出(TDO);測(cè)試模式選擇(TMS);測(cè)試時(shí)鐘信號(hào)(TCK)和其它信號(hào)構(gòu)成。下圖給出了JTAG連接多個(gè)IC芯片的結(jié)構(gòu)。JTAG與SWD接口的工作原理

--JTAG工作原理下圖給出了JTAG接口的內(nèi)部結(jié)構(gòu)。

圖JTAG內(nèi)部結(jié)構(gòu)JTAG與SWD接口的工作原理

--JTAG工作原理如下圖,TMS信號(hào)控制TAP的狀態(tài)機(jī),狀態(tài)機(jī)控制哪個(gè)寄存器(包括邊界掃描通路)在TDI-TDO移位通路上。圖TAP狀態(tài)機(jī)JTAG與SWD接口的工作原理

--JTAG工作原理其中:1)ir:是指令寄存器;2)dr:其它寄存器中的一個(gè)(包括邊界掃描路徑),由指令寄存器的內(nèi)容確定;3)capture:將dr寄存器的內(nèi)容傳輸?shù)揭莆患拇嫫髦校缓笠瞥鯰DO;4)update:傳輸移位寄存器的內(nèi)容,從TDI移入到一個(gè)dr;JTAG與SWD接口的工作原理

--JTAG工作原理TAP內(nèi)的寄存器包含:1)Instruction:2-4位寬,存放當(dāng)前指令,該指令定義了在TDI-TDO移位通道上的數(shù)據(jù)寄存器,引起設(shè)備被旁路用于JTAG模式;2)Bypass:1位寬度,TDI和TDO直接連接;3)ID:32位寬,用于讀JTAG的制造商/芯片的ID號(hào);4)BoundaryScanPath(BSR):寬度等于I/O引腳(有邊界掃描單元)的數(shù)量,用于設(shè)置或者讀寫這些I/O引腳的狀態(tài);JTAG與SWD接口的工作原理

--JTAG工作原理在IEEE1149中,給出了標(biāo)準(zhǔn)的指令集:1)EXTEST:該指令將使得TDI和TDO連接到邊界掃描通路上(BSR),芯片將從普通操作模式改變?yōu)闇y(cè)試模式。芯片引腳的狀態(tài)可以使用capturedr的JTAG狀態(tài)進(jìn)行采樣,使用updatadr狀態(tài)新的值可以用于芯片引腳上。JTAG與SWD接口的工作原理

--JTAG工作原理2)SAMPLE:該指令將使得TDI和TDO連接到邊界掃描通路上(BSR),但是芯片仍然處于普通操作模式。使用該指令,BSR可以使用capturedr的JTAG狀態(tài)進(jìn)行讀取,對(duì)進(jìn)入的功能數(shù)據(jù)進(jìn)行采樣,然后移出芯片。3)PERLOAD:該指令將使得TDI和TDO連接到邊界掃描通路上(BSR),但是芯片仍然處于普通操作模式。該指令用于在加載EXTEST指令前,預(yù)加載測(cè)試數(shù)據(jù)到BSR。JTAG與SWD接口的工作原理

--JTAG工作原理下面給出了可選的指令:1)IDCODE:該指令使得TDI和TDO線連接到IDCODE寄存器。2)INTEST:該指令將使得TDI和TDO連接到邊界掃描通路上(BSR)。當(dāng)EXTEST指令允許訪問芯片引腳時(shí),INTEST能訪問芯片內(nèi)核邏輯的信號(hào)。JTAG與SWD接口的工作原理

--SWD工作原理SWD接口是由ARM公司開發(fā)出來的,目的是減少調(diào)試接口所使用的引腳數(shù)。SWD接口使用兩個(gè)信號(hào)線:雙向的數(shù)據(jù)線(SWDIO)和用于數(shù)據(jù)線的時(shí)鐘信號(hào)(SWDCK)。JTAG與SWD接口的工作原理

--SWD工作原理SWD的每個(gè)數(shù)據(jù)傳輸由2/3個(gè)周期組成:1)包請(qǐng)求(PacketRequest):外部主機(jī)調(diào)試器向目標(biāo)設(shè)備發(fā)送一個(gè)包請(qǐng)求信號(hào);2)確認(rèn)響應(yīng)(AcknowledgeResponse):目標(biāo)設(shè)備向主機(jī)發(fā)送一個(gè)響應(yīng)信號(hào);3)數(shù)據(jù)(Data):當(dāng)包請(qǐng)求跟一個(gè)確認(rèn)響應(yīng)后,傳輸數(shù)據(jù):目標(biāo)設(shè)備到主機(jī)-讀請(qǐng)求后為-RDATA;主機(jī)到目標(biāo)設(shè)備-寫請(qǐng)求后為-WDATA;JTAG與SWD接口的工作原理

--SWD工作原理下圖給出了一個(gè)SWD寫時(shí)序圖。圖SWD寫JTAG與SWD接口的工作原理

--SWD工作原理下圖給出了一個(gè)SWD讀時(shí)序圖。

圖SWD讀JTAG與SWD接口的工作原理

--SWD工作原理下面對(duì)SWD的讀/寫序列進(jìn)行介紹:

1)開始位(邏輯‘1’)初始化傳輸;2)APnDP位確定傳輸是一個(gè)訪問端口訪問(邏輯‘1’),還是一個(gè)調(diào)試端口訪問(邏輯‘0’)。3)下一比特為RnW,‘1’表示從設(shè)備讀;‘0’表示設(shè)備寫;4)ADD為寄存器選擇位,用于選擇訪問端口或者調(diào)試端口;JTAG與SWD接口的工作原理

--SWD工作原理5)Parity位是對(duì)APnDP,RnW和ADDR的奇偶校驗(yàn)位。如果這些位域的邏輯‘1’的個(gè)數(shù)為奇數(shù),則該位為‘1’;否則為‘0’。如果奇偶位不正確,忽略頭部(header),沒有ACK響應(yīng);當(dāng)主機(jī)檢測(cè)到頭部被忽略,在進(jìn)行另外一次傳輸時(shí),必須等待一個(gè)完整的讀傳輸時(shí)間。6)停止位為邏輯‘0’;7)Park:該位不是由主機(jī)驅(qū)動(dòng),SWD接口將信號(hào)線拉高,設(shè)備(芯片)讀取該位為邏輯‘1’;8)ACK:為設(shè)備到主機(jī)的響應(yīng)。表7.2給出了可能的值。JTAG與SWD接口的工作原理

--SWD工作原理9)地址,ACK和讀/寫數(shù)據(jù)總是從最低位開始傳輸。SWD接口在50多個(gè)時(shí)鐘周期復(fù)位,此時(shí)SWDIO為高。表SWD接口可能的ACK位值A(chǔ)CKCode意義100OK-承認(rèn)頭部,后面跟著數(shù)據(jù);010WAIT-以前的傳輸仍然正在被處理,主機(jī)應(yīng)該重試;001FAULT-在調(diào)試端口控制/狀態(tài)寄存器設(shè)置的一個(gè)默認(rèn)標(biāo)志。JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理

1.時(shí)鐘JTAG接口的TCK時(shí)鐘和SWD接口的SWDCLK時(shí)鐘共享芯片的P1[1]引腳(一個(gè)可替換的SWDCK時(shí)鐘能輸入到USBD-引腳,P15[7])。時(shí)鐘頻率在1MHz和CPU_CLK/2或者25MHz。

2.PSoC3/5的JTAG指令PSoC3/5JTAG接口與IEEE1149.1-2001規(guī)范兼容,同時(shí)提供了額外的指令。指令寄存器為4比特寬度。下表給出了PSoC3/5額外的JTAG指令。JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理表PSoC3/5額外的JTAG指令位代碼指令PSoC3/5功能1111BYPASS參考IEEE1149.1-20011110IDCODE參考IEEE1149.1-20010010SAMPLE/PRELOAD參考IEEE1149.1-20010000EXTEST參考IEEE1149.1-20010100INTEST與EXTEST一樣JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理位代碼指令PSoC3/5功能0101CLASMP將TDI和TDO連接到BYPASS寄存器,設(shè)置引腳到邊界掃描寄存器的當(dāng)前內(nèi)容1010DPACC連接TDI和TDO到DP/AP寄存器,用于訪問調(diào)試端口寄存器1011APACC連接TDI和TDO到DP/AP寄存器,用于訪問訪問端口寄存器1000ABORT只存在PSoC5,退出當(dāng)前的AP訪問指令。連接TDI和TDO到DP/AP寄存器,1100SLEEP通知PSoC3/5電源管理器,如果必要的話,切斷測(cè)試控制器TC的電源。如果不設(shè)置該指令,則不能進(jìn)入SLEEP。JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理3.DP/AP訪問寄存器PSoC3/5有一個(gè)35位寬的DP/AP訪問寄存器,該寄存器用于在JTAG/SWD接口和調(diào)試/訪問端口寄存器之間進(jìn)行數(shù)據(jù)傳輸。SWD直接讀/寫DP/AP寄存器;JTAG使用DPACC和APACC指令讀/寫DP/AP寄存器。在JTAGupdatadr狀態(tài)或者從SWD接口寫到寄存器,下表給出了DP/AP寄存器的結(jié)構(gòu)。表DP/AP寄存器的結(jié)構(gòu)DATAIN[31:0]A[3:2](訪問端口/調(diào)試端口的地址)RnWJTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理注:1)[34:3]位:32個(gè)數(shù)據(jù)位,如果端口寄存器小于32位寬度,只傳輸最低的N(位寬度)比特。2)[2:1]位:2位地址位,用于調(diào)試和訪問端口寄存器的選擇,在PSoC5中,該位域傳輸?shù)剿x寄存器的[3:2],[1:0]總是0;3)[0]位:‘1’讀,‘0’寫;JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理在JTAGcapturedr狀態(tài)下或者從SWD接口讀數(shù)據(jù)時(shí),下表給出了讀寄存器的格式。

表讀寄存器的格式ReadResult[31:0]ACK[2:0]1)[34:3]位:32位數(shù)據(jù),如果端口寄存器小于32位寬度,只傳輸最低的N(位寬度)比特。2)[2:0]位:ACK確認(rèn)符-取決于接口,下表給出了JTAG/SWD接口的ACK響應(yīng)。表JTAG/SWD接口的ACK響應(yīng)ACKJTAGSWDOK010001WAIT001010JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理4.JTAG/SWD地址(PSoC3)在PSoC3結(jié)構(gòu)中,JTAG/SWD接口所傳輸?shù)膬晌坏刂?,用來訪問調(diào)試端口,訪問端口和I/O代碼寄存器。下表給出了JTAG/SWD地址。表JTAG/SWD地址地址DPACC(APnDP=0)APACC(APnDP=1)00IDCODE(只有SWD)-01DBGPRT_CFGTRNS_ADDR10--11-DATA_RWJTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理5.調(diào)試端口和訪問端口寄存器(PSoC3)下表給出來的寄存器都是可讀/寫的,除了DBGPRT_CFG寄存器的第7位。表調(diào)試端口和訪問端口寄存器名字指令(AP/DP)地址(選擇寄存器)大小(比特)功能DBGPRT_CFGDPACC018調(diào)試端口配置寄存器-傳輸大小(8,16,32),自動(dòng)遞增TRNS_ADDR,檢測(cè)/清除寫錯(cuò)誤TRNS_ADDRAPACC0124傳輸?shù)刂稤ATA_RWAPACC1132數(shù)據(jù)寫入/讀出從在TRNS_ADDR的地址JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理

6.PSoC3寄存器訪問實(shí)例下面給出使用JTAG或者SWD接口訪問8051xdata空間的方法。假設(shè)地址的值為0xADD8E5。1)使用JTAG寫地址值到TRNS_ADDR寄存器,調(diào)試主機(jī)必須:將APACC指令移入到指令寄存器;移動(dòng)0(寫),后面跟“01”(選擇訪問端口寄存器),后面跟0x00ADD8E5,到35位的DP/AP寄存器;進(jìn)入JTAGupdatedr狀態(tài);JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理2)使用SWD寫地址值到TRNS_ADDR寄存器,調(diào)試主機(jī)必須:發(fā)送一個(gè)請(qǐng)求包,APnDP=1,RnW=0,ADDR=01;得到來自PSoC3的ACK響應(yīng);在數(shù)據(jù)周期,發(fā)送0x00ADD8E5。3)寫值0xDA到地址0x00ADD8E5:類似前面步驟,寫0x00ADD8E5到TRNS_ADDR寄存器;類似前面步驟,寫0x000000DA到DATA_RW寄存器(地址為11,而不是01);測(cè)試控制器初始化寫傳輸請(qǐng)求到PSoC3;JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理4)從地址0x00ADD8E5讀數(shù):類似前面步驟,寫0x00ADD8E5到TRNS_ADDR寄存器;類似前面步驟,讀DATA_RW寄存器(地址為11,而不是01,RnW=’1’);測(cè)試控制器初始化讀傳輸請(qǐng)求到PSoC3,從DATA_RW讀取的數(shù)是無效的;等待至少5個(gè)TCK/SWDCK時(shí)鐘周期,避免WAIT響應(yīng);再讀DATA_RW寄存器。數(shù)據(jù)現(xiàn)在是有效的。JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理7.調(diào)式端口和訪問端口寄存器(PSoC5)下表列出的寄存器是ARMCortex-M3調(diào)試訪問端口(DebugAccessPort,DAP)的一部分。在PSoC5中,DAP由SWD/JTAG調(diào)試端口SWJ-DP和AHB訪問端口AHB-AP構(gòu)成。JTAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理表調(diào)試端口和訪問端口寄存器(PSoC5)名字指令(AP/DP)地址(選擇寄存器)功能DPCTRL/STATDPACC01調(diào)試端口控制/狀態(tài)寄存器SELECTDPACC10訪問端口選擇RDBUFF(只SWD)DPACC11返回最后AP讀訪問的結(jié)果,不需要啟動(dòng)新的AP訪問操作APControlStatusAPACC00(SELECT[7:4]=0)AHB-AP控制狀態(tài)寄存器APTransferAddressAPACC01(SELECT[7:4]=0)AHB-AP傳輸?shù)刂芳拇嫫鱆TAG與SWD接口的工作原理

--PSoC3/5的JTAG和SWD接口的工作原理名字指令(AP/DP)地址(選擇寄存器)功能APDataRead/WriteAPACC11(SELECT[7:4]=0)AHB-AP數(shù)據(jù)讀/寫寄存器APBankedData0APACC00(SELECT[7:4]=1)AHB-AP分組(banked)數(shù)據(jù)寄存器APBankedData1APACC01(SELECT[7:4]=1)AHB-AP分組(banked)數(shù)據(jù)寄存器APBankedData2APACC10(SELECT[7:4]=1)AHB-AP分組(banked)數(shù)據(jù)寄存器APBankedData3APACC11(SELECT[7:4]=1)AHB-AP分組(banked)數(shù)據(jù)寄存器APDebugROMAddressAPACC10(SELECT[7:4]=0xF)AHB-AP調(diào)試ROM地址寄存器(只讀)APIdentificationRegisterAPACC11(SELECT[7:4]=0xF)AHB-APID寄存器(只讀)8051片上調(diào)試

--片上調(diào)試模塊及特點(diǎn)下圖給出了8051的片上調(diào)試器模塊結(jié)構(gòu)圖。

圖8051片上調(diào)試模塊結(jié)構(gòu)

8051片上調(diào)試

--片上調(diào)試模塊及特點(diǎn)DOC能接管8051CPU,并且使用PHUB接口訪問任何CPU可以訪問的地址。該模塊的特點(diǎn)主要有:通過JTAG/SWD訪問的TC接口;訪問CPU的內(nèi)部存儲(chǔ)器和SFR,程序計(jì)數(shù)器PC;CPU停止;CPU單步;8個(gè)程序地址斷點(diǎn);1個(gè)存儲(chǔ)器訪問斷點(diǎn);看門狗觸發(fā)斷點(diǎn);斷點(diǎn)鏈接;8051片上調(diào)試

--片上調(diào)試模塊及特點(diǎn)跟蹤C(jī)PU指令執(zhí)行:跟蹤C(jī)PU的程序計(jì)數(shù)器PC,ACC和CPU內(nèi)部存儲(chǔ)器或SFR的一個(gè)字節(jié);2048個(gè)指令跟蹤緩沖區(qū)(如果只跟蹤PC)1024個(gè)指令跟蹤緩沖區(qū)(如果跟蹤PC,ACC和CPU內(nèi)部存儲(chǔ)器或SFR的一個(gè)字節(jié));連續(xù),觸發(fā)或者窗口模式;當(dāng)跟蹤緩沖區(qū)滿時(shí),CPU停止或者覆蓋以前的值;當(dāng)不跟蹤時(shí),跟蹤緩沖區(qū)作為普通SRAM;8051片上調(diào)試

--片上調(diào)試模塊及特點(diǎn)SWV具有下面的特點(diǎn):32個(gè)激勵(lì)端口寄存器;簡(jiǎn)單,高效封裝和串行化協(xié)議;兩針輸出模式,UART或者曼徹斯特編碼方式;8051片上調(diào)試

--串行線察看器

除了DoC外,PSoC還包括一個(gè)串行線察看器模塊(SerialWireViewer,SWV)。SWV允許目標(biāo)駐留代碼將診斷信息通過單線傳送到外部。使用例子包括數(shù)據(jù)監(jiān)視,察看OS任務(wù)切換,Printf調(diào)試和調(diào)用圖形化性能統(tǒng)計(jì)和分析(profiling)。SWD輸出通過TC到SWV引腳。SWV和JTAGTDO信號(hào)共享一個(gè)引腳。連接引腳到SWV,設(shè)置SWD模式,NV鎖存位在復(fù)位時(shí),決定JTAG/SWD接口引腳的狀態(tài)。8051片上調(diào)試

--串行線察看器SWV是由兩個(gè)CoreSightTM元件組成(ARM開發(fā)的),這兩個(gè)元件為儀器跟蹤宏單元(InstrumentationTraceMacrocell,ITM)和串行線輸出(SerialWireOutput,SWO)。這些元件有多個(gè)數(shù)據(jù)、控制和狀態(tài)寄存器。1)曼徹斯特編碼在該協(xié)議下,SWV輸出最多8個(gè)字節(jié),前面和后面分別為起始位和停止位。下表給出了曼徹斯特編碼數(shù)據(jù)序列。表曼徹斯特編碼數(shù)據(jù)序列STDATA(1-8字節(jié))SP8051片上調(diào)試

--串行線察看器下表給出了曼徹斯特引腳協(xié)議編碼。表曼徹斯特引腳協(xié)議編碼引腳邏輯0邏輯1Idle狀態(tài)有效數(shù)據(jù)TRACESWO低到高(01)高到低(10)低(00)開始位:邏輯‘1’停止位:邏輯‘0’8051片上調(diào)試

--串行線察看器下圖給出了使用曼徹斯特編碼傳輸數(shù)據(jù)序列的圖。圖使用曼徹斯特編碼傳輸數(shù)據(jù)序列8051片上調(diào)試

--串行線察看器2)UART編碼下圖給出了UART的編碼序列。

下表給出了UART的編碼。

圖UART的編碼序列引腳邏輯0邏輯1Idle狀態(tài)有效數(shù)據(jù)TRACESWO低高高起始位‘0’8個(gè)數(shù)據(jù)位。停止位‘1’表UART引腳協(xié)議編碼8051片上調(diào)試

--串行線察看器下表給出了SWV寄存器的列表表SWV寄存器寄存器大小(比特)描述SWV_SWO_CAOSD32輸出速度分頻SWV_SWO_SPP32輸出協(xié)議(曼徹斯特或UART)SWV_ITM_CR32ITM控制SWV_ITM_TER32使能每個(gè)激勵(lì)端口SWV_ITM_SPRxx32激勵(lì)端口0-31SWV_ITM_SCR32同步包控制PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤

PSoC5支持4種接口:JTAG;SWD;SWV;TRACEPORT。Cortex-M3調(diào)試和跟蹤功能可以充分的對(duì)芯片進(jìn)行調(diào)試。下圖給出了PSoC5的調(diào)試和跟蹤模塊圖。PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤圖PSoC5的調(diào)試和跟蹤模塊圖

PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤C(jī)ortex-M3的調(diào)試特性可以分為兩類:侵入式調(diào)試(invasivedebuging);非侵入式調(diào)試(noninvasivedebugging)。侵入式調(diào)試包括程序的停止和單步運(yùn)行,斷點(diǎn),數(shù)據(jù)監(jiān)視點(diǎn),寄存器值訪問和基于ROM調(diào)試。非侵入式調(diào)試包括存儲(chǔ)器訪問,指令跟蹤,數(shù)據(jù)跟蹤,軟件跟蹤,性能測(cè)試和統(tǒng)計(jì)(Profiling)。PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤C(jī)ortex-M3的調(diào)試和跟蹤模塊的特性包括:當(dāng)CPU正在運(yùn)行,停止或者復(fù)位時(shí),調(diào)試訪問所有系統(tǒng)的存儲(chǔ)器和寄存器,包括Cortex-M3寄存器組;JTAG或者SWD訪問;Flash補(bǔ)丁(FlashPatch,F(xiàn)PB)和斷點(diǎn)(FlashPatchandBreakpoint,F(xiàn)PB)模塊,用于實(shí)現(xiàn)斷點(diǎn)和代碼補(bǔ)丁;數(shù)據(jù)監(jiān)視點(diǎn)和跟蹤模塊(DataWatchpointandTrace,DWT)用于指令跟蹤,觸發(fā)器資源和系統(tǒng)性能測(cè)試和統(tǒng)計(jì);跟蹤跟蹤宏(EmbeddedTraceMacrocell,IMT)用于支持printf類型調(diào)試;支持6個(gè)斷點(diǎn)和4個(gè)監(jiān)視斷點(diǎn);跟蹤端口單元(TracePortInterfaceUnit,TPIU)用于橋接到跟蹤端口分析儀(TracePortAnalyzer,TPA)。PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤通過高級(jí)高性能總線訪問端口(AdvancedHigh-performanceBus-AccessPort,AHB-AP)調(diào)試控制和數(shù)據(jù)訪問。通過串行調(diào)試端口(SerialWireDebugPort,SW-DP)或者串行線JTAG調(diào)試端口(SerialWireJTAGDebugPort,SWJ-DP)驅(qū)動(dòng)這個(gè)接口。PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤通過內(nèi)部的專用外設(shè)總線(PrivatePeripheralBus,PPB),調(diào)試器能夠訪問:1)嵌套向量的中斷控制器(NestedVectoredInterruptController,NVIC)。通過NVIC,調(diào)試訪問到處理器內(nèi)核;2)DWT;3)FPB;4)ITM;PSoC編程和調(diào)試接口功能

--Cortex-M3調(diào)試和跟蹤通過外部PPB,調(diào)試器能訪問:1)ETM;2)跟蹤端口接口單元(TracePortInterfaceUnit,TPIU);PSoC編程和調(diào)試接口功能

--非易失性存儲(chǔ)器編程

PSoC3/5有三種類型的非易失性存儲(chǔ)器(NonvolatileMemory,NVL):Flash,EEPROM,非易失性鎖存器(NonvoltileLatch,NVL)。這些能使用CPU所運(yùn)行的啟動(dòng)引導(dǎo)代碼編程或者通過JTAG/SWD接口連接的外部系統(tǒng)。PSoC編程和調(diào)試接口功能

--非易失性存儲(chǔ)器編程下圖給出了Flash的塊圖結(jié)構(gòu)。圖Flash塊圖PSoC編程和調(diào)試接口功能

--非易失性存儲(chǔ)器編程非易失性存儲(chǔ)器編程系統(tǒng)的特性主要包括:簡(jiǎn)單的命令/狀態(tài)寄存器接口;Flash可以在288字節(jié)/行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論