




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要 摘要 隨著計算機硬件制造技術的進步,新的硬件設計理念不斷涌現(xiàn),硬件產品正 以前所未有的速度更新?lián)Q代。嵌入式硬件系統(tǒng)的這種發(fā)展現(xiàn)狀對嵌入式設備的大 規(guī)模生產和測試提出了新的要求,傳統(tǒng)生產線上的個體硬件裸機檢測和程序灌裝 的方式無論是在生產成本上還是開發(fā)周期上都不能適應目前嵌入式行業(yè)的發(fā)展需 要。我們迫切需要一種輔助生產工具,能夠使用在嵌入式設備大規(guī)模測試檢測、 程序灌裝等生產線上。 本課題的目標是設計并實現(xiàn)一個專業(yè)的用于嵌入式設備生產線上大批量板級 測試和程序灌裝的生產輔助工具。課題首先對目前的生產測試現(xiàn)狀、趨勢進行了 細致的分析,在此基礎上確定了課題的設計意圖和思想。然后,對所要設計的生 產輔助工具p r o d u c t a s s i s t a n t 進行了基本概念解釋和原理的細致分析,從而確定了 p r o d u c t a s s i s t a n t 實現(xiàn)中的關鍵技術。在對原理進行充分分析的基礎上深入研究 g d br s p 協(xié)議,明確了p r o d u c t a s s i s t a n t 運行的生產服務器與目標端通信協(xié)議。在 進行生產測試時,p r o d u c t a s s i s t a n t 需下載集成開發(fā)環(huán)境生成的e l f 格式的可執(zhí)行 文件至目標端,由于課題設計只要求下載執(zhí)行,并不要求具有調試功能,因此 p r o d u c t a s s i t a n t 不需要集成g d b 調試器,對e l f 格式的解析和下載需要 p r o d u c t a s s i s t a n t 獨立完成,因此有必要對e l f 格式文件有個詳細的了解。對e l f 格式文件的分析為后面p r o d u c t a s s i s t a n t 的設計做了必要的準備工作。 在對關鍵技術進行深入分析和完全吸收的基礎上,本課題解決了底層通信、 程序下載,數(shù)據(jù)訪問等一系列關鍵技術問題并最終實現(xiàn)了p r o d u c t a s s i s t a n t 生產輔 助工具。 關鍵詞:板級測試、生產輔助、r s p 、e l f a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n o l o g yo ft h ee m b e d d e dh a r d w a r e ,n e wi d e ao f h a r d w a r ed e s i g nc o n s t a n t l yc o m ea l o n g ,p r o d u c to fh a r d w a r eh a sb e e nu p d a t i n gw i t h u n p r e c e d e n t e ds p e e d t h e s i t u a t i o no ft h ee m b e d d e dh a r d w a r e s y s t e mr e q u i r e e m b e d d e de q u i p m e n t sp r o d u c i n ga n dt e s t i n go fa 陋g h e rs t a n d a r d o nt r a d i t i o n a l p r o d u c t i o nl i n e ,s i n g l eh a r d w a r et e s t i n ga n dp r o g r a ms o l i d i f i c a t i o nc a nn o tm a t c hu pt o e m b e d d e dt r a d ed e v e l o p m e n tn e i t h e ri nc o s tn o rd e v e l o p m e n t c y c l e s ow en e e dak i n d o fa s s i s t a n tp r o d u c et o o lt ot e s te m b e d d e de q u i p m e n ta n ds o l i dp r o g r a mi nl a r g es c a l e p r o d u c t i o nl i n e t h eg o a lo f t h i ss u b j e c ti st od e s i g na n dr e a l i z ea k i n d o f p r o f e s s i o n a lt o o lt ol z g ei n l a r g es c a l ep r o d u c t i o nl i n ef o rp c bt e s t i n ga n dp r o g r a ms o l i d i f i c a t i o n f i r s t , t h i ss u b j e c t a n a l y s es i t u a t i o na n dt e n d e n c yo fc u r r e n t l yp r o d u c et e s t i n g 。o nt h eb a s i so ft h ea n a l y s e , e s t a b l i s ht h eg o a la n dc o n c e p t i o no ft h es u b j e c t t h e ne x p l a i nt h eb a s i cc o n c e p t i o na n d l o g i co ft h ep r o d u c ea s s i s t a n tt o o l p r o d u c t a s s i s t a n t ,a n dm a k et h ek e yt e c h n i q u eo f t h ei m p l e m e n to ft h ep r o d u c t a s s i s t a n t o nt h eb a s i so f a n a l y s i so ft h el o g i c ,w ed e e p l y s t u d yt h eg d br s pp r o t o c o l ,a n dd e f i n et h ec o m m u n i c a t ep r o t o c o lo f p r o d u c t a s s i s t a n t w i t ht a r g e t w h e np r o d u c ea n dt e s t ,p r o d u c t a s s i s t a n tn e e dt od o w n l o a de x e c u t a b l ef i l e i ne l ff o r m a tt ot a r g e t a st h e r ei st u m e c e s s a r yt oi n t e g r a t eg d bt op r o d u c t a s s i s t a n t , d o w n l o a d i n ge l ff i l en e e dp r o d u c t a s s i s t a n tc o m p l e t ei n d e p e n d e n t l y s ow em u s th a v e i d e ao fe l ff o r m a tf i l e t h ea n a l y s i so fe l ff o r m a tf i l ep r e p a r ef o rl a t e rd e s i g no f p r o d u c t i o n o nt h eb a s i so fa n a l y s i so fas e r i e so fk e yt e c h n o l o g y , w es o l v e ds u b s t r a t i v e c o m m u n i c a t i o n ,p r o g r a md o w n l o a d ,d a t av i s i ta n das e r i e so fk e yt e c h n i c a lp r o b l e m , a n dt h e ni m p l e m e n tp r o d u c ea s s i s t a n tt o o l - p r o d u c t a s s i s t a n t k e yw o r d s :p c bt e s t ,p r o d u c ea s s i s t ,r s p ,e l f i i 獨創(chuàng)性聲明 本人聲明所呈交的學位論文是本人在導師指導下進行的研究工 作及取得的研究成果。據(jù)我所知,除了文中特別加以標注和致謝的地 方外,論文中不包含其他人已經發(fā)表或撰寫過的研究成果,也不包含 為獲得電子科技大學或其它教育機構的學位或證書而使用過的材料。 與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明 確的說明并表示謝意。 簽名: 乙絲五= _ 一日期:知名年,月日 關于論文使用授權的說明 本學位論文作者完全了解電子科技大學有關保留、使用學位論文 的規(guī)定,有權保留并向國家有關部門或機構送交論文的復印件和磁 盤,允許論文被查閱和借閱。本人授權電子科技大學可以將學位論文 的全部或部分內容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或 掃描等復制手段保存、匯編學位論文。 ( 保密的學位論文在解密后應遵守此規(guī)定) 簽名:毒幺亟塾一 導師簽名: 日期:刃年f 月多日 第一章引言 1 1 課題背景 第一章引言 嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應 應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。目前, 嵌入式系統(tǒng)開發(fā)已成為計算機工業(yè)的熱點之一,嵌入式系統(tǒng)應用滲透到信息家電、 工業(yè)控制、通信與電子設備、人工智能設備等領域。 隨著計算機硬件制造技術的進步,新的硬件設計理念不斷涌現(xiàn),硬件產品正 以前所未有的速度更新?lián)Q代。特別是a r m 大力推廣的內核定制技術,讓芯片生產 廠商能夠根據(jù)實際應用的需求定制處理器功能,使嵌入式處理器的設計擺脫了結 構固定、功能專一的傳統(tǒng)處理器模式,嵌入式設備的硬件設計更為靈活多樣。嵌 入式硬件系統(tǒng)的這種發(fā)展現(xiàn)狀對嵌入式設備的大規(guī)模生產和測試提出了新的要 求,傳統(tǒng)生產線上的個體硬件裸機檢測和程序灌裝的方式無論是在生產成本上還 是開發(fā)周期上都不能適應目前嵌入式行業(yè)的發(fā)展需要。 與此同時,嵌入式系統(tǒng)通常采用成熟的商用操作系統(tǒng),使系統(tǒng)運行在一個高 性能的、可靠的軟件平臺上,為實現(xiàn)各種大型的復雜的應用打下了良好的基礎。 面對系統(tǒng)復雜性的增加,自然需要功能強大、性能穩(wěn)定的應用軟件與之相適應。 眾所周知,整個嵌入式系統(tǒng)的設計開發(fā)是軟硬件結合的,在操作系統(tǒng)和應用軟件 功能不斷增強、規(guī)模不斷增大的情況下,能否提供快速、穩(wěn)定的硬件平臺對整個 嵌入式系統(tǒng)的開發(fā)影響盛大。 綜上所述,隨著嵌入式硬件和軟件的不斷發(fā)展,我們迫切需要一種輔助生產 工具,能夠使用在嵌入式設備大規(guī)模測試檢測、程序灌裝等生產線上。 1 2 課題綜述 本課題以g d br s p 調試協(xié)議為基礎,以e c l i p s e 3 1 為開發(fā)平臺,在深入研究 和消化吸收其技術的基礎上,獨立完成具有自主知識產權的用于嵌入式設備測試 和生產工作的輔助工具p a ( p r o d u c t a s s i s t a n t ) 。本人在本課題的中主要進行除界面 以外的后臺各組件部分的設計和實現(xiàn),重點在目標控制中心的設計實現(xiàn)上。 電子科技大學碩士學位論文 1 3 章節(jié)安排 第一章主要講述本課題的相關背景和情況 第二章詳細介紹目前嵌入式設備板級測試和程序灌裝的現(xiàn)狀并由此提出了設 計需求 第三章介紹對生產輔助工具p r o d u e t a s s i s t a n t 進行了總體設計并對相關的技術 進行了充分細致的分析 第四章詳細介紹了生產輔助工具p r o d u c t a s s i s t a n t 的設計,包括其設計原理、 模塊劃分和具體的實現(xiàn)。 第五章對生產輔助工具p r o d u c t a s s i s t a n t 進行了測試以驗證其實現(xiàn)的功能 第六章對本文進行總結 最后是致謝和參考文獻 第= 章p r o d u c t a s s l s t a n t 設計需求 第二章p r o d u o t a s s is t a n t 設計需求 2 1 板級測試與程序灌裝現(xiàn)狀 2 1 1 板級測試 片上系統(tǒng)已經發(fā)展成為當今的一種主流技術。為了有效地利用設計資源,加 快上市時間,這種基于核的設計將i c 設計界分成核供應商與系統(tǒng)集成商,系統(tǒng)集 成商通過賄買不同廠商的口,直接加以整合復用來降低設計與制造成本。但這種 設計給測試帶來了新的特點與挑戰(zhàn): 由于各個理核的測試開發(fā)是由不同的i p 廠商提供的,因此需要用于傳遞 核測試信息的測試語言以及用于測試訪問的核測試環(huán)結構的標準制定 ( i e e e p l 5 0 0 標準) ; 由于核是深深地嵌入到系統(tǒng)中的,而測試是在s o c 的管腳進行的,因此 需要一個從核的端口到芯片i 0 的測試通道,這也是s o c 測試結構研究的 焦點; s o c 級測試優(yōu)化問題。 在傳統(tǒng)的板級測試中,一般i c 都已由其廠商測試過,因此系統(tǒng)集成商主要進 行的是互連測試。目前,最有效的互連測試方法之一就是邊界掃描測試,即 i e e e 1 4 91 標準( j t a g 標準) 測試。為了解決板級的互連測試,邊界掃描測試需 要加額外的邏輯電路。它的每個邊界掃描單元是加在引腳處的移位寄存器。把所 有數(shù)字邊界掃描單元串接起來就構成了一個可以串行移位的邊界掃描鏈。這個鏈 在t a p ( 測試存取口) 控制器的控制下工作,完成互連及其他測試。 2 1 2 程序灌裝 嵌入式系統(tǒng)開發(fā)基本都是采用交叉開發(fā)方式,程序設計人員在宿主( h o s t ) 平 臺進行整個系統(tǒng)的開發(fā)與設計,而最終啟動運行是在目標( t a r g e t ) 平臺,這樣就 存在一個將開發(fā)實現(xiàn)的程序搬遷到目標平臺上過程,通常我們采用的方式是將最 終確定的應用程序固化到目標平臺上。 把程序或數(shù)據(jù)寫入到只讀存儲器的過程叫做編程( 或程序灌裝) 。只讀存儲器 的編程有兩種方式:種是離線編程,一種是在線編程。 的編程有兩種方式:一種是離線編程,種是在線編程。 第二章p r o d u c t a s s is t a n t 設計需求 2 1 板級測試與程序灌裝現(xiàn)狀 2 1 1 板級測試 片上系統(tǒng)已經發(fā)展成為當今的一種主流技術。為了有效地利用設計資源,加 快上市時間,這種基于核的設計將i c 設計界分成核供應商與系統(tǒng)集成商,系統(tǒng)集 成商通過購買不同廠商的m ,直接加以整合復用來降低設計與制造成本。但這種 設計給測試帶來了新的特點與挑戰(zhàn): 由于各個口核的測試開發(fā)是由不同的i p 廠商提供的,因此需要用于傳遞 核測試信息的測試語言以及用于測試訪問的核測試環(huán)結構的標準制定 ( i e e e p l 5 0 0 標準) ; 由于核是深深地嵌入到系統(tǒng)中的,而測試是在s o c 的管腳進行的,因此 需要一個從核的端口到芯片i o 的測試通道,這也是s o c 測試結構研究的 焦點; s o c 級測試優(yōu)化問題。 在傳統(tǒng)的板級測試中,一般i c 都己由其廠商測試過,因此系統(tǒng)集成商主要進 行的是互連測試。目前,最有效的互連測試方法之一就是邊界掃描測試,即 i e e e l l 4 9 1 標準( j t a g 標準) 測試。為了解決板級的互連測試,邊界掃描測試需 要加額外的邏輯電路。它的每個邊界掃描單元是加在引腳處的移位寄存器。把所 有數(shù)字邊界掃描單元串接起來就構成了一個可以串行移位的邊界掃描鏈。這個鏈 在t a p ( 測試存取口) 控制器的控制下工作,完成互連及其他測試。 2 1 2 程序灌裝 嵌入式系統(tǒng)開發(fā)基本都是采用交叉開發(fā)方式,程序設計人員在宿主( h o s t ) 平 臺進行整個系統(tǒng)的開發(fā)與設計,而最終啟動運行是在目標( t a r g e t ) 平臺,這樣就 存在一個將開發(fā)實現(xiàn)的程序搬遷到目標平臺上過程,通常我們采用的方式是將最 終確定的應用程序固化到目標平臺上。 把程序或數(shù)據(jù)寫入到只讀存儲器的過程叫做編程( 或程序灌裝) 。只讀存儲器 的編程有兩種方式:一種是離線編程,一種是在線編程。 電子科技大學碩士學位論文 離線編程方式是將只讀存儲器從線路板上取下來,放到一種叫做編程器的裝 置上進行編程,然后將編程好的只讀存儲器重新安裝到線路板上。 在線編程方式是在只讀存儲器安裝到線路板上之后進行編程,具體的編程方 法可以在開發(fā)裝置上提供。一般地,f l a s h 和e e p r o m 可以進行在線編程。 2 1 2 1 離線編程方式 在早期的嵌入式系統(tǒng)中,最常用的程序載體是e p r o m 或e e p r o m ,這種載 體滿足不易失特征,但它是只讀的,因而無法進行在線寫入程序,唯一的方法是 利用編程器對其進行離線編程,然后將已經燒入程序的芯片接入電路中。這種情 況下,程序每次發(fā)生改動,開發(fā)者都需要將大而笨的r o m 芯片從插座上拔下,裝 到編程器上編程,然后再插回到插座上。這種方式在當時的情況確實解決了程序 灌裝的問題,但其缺點也不容忽視。由于每次使用燒片器對f l a s h 芯片進行編程都 需要進行插拔操作,這樣很容易造成f l a s h 芯片的損壞和硬件的不穩(wěn)定;同時程序 每次發(fā)生改動,開發(fā)者都需要將r o m 芯片從插座上拔下再裝到編程器上,這樣對 程序的開發(fā)造成了很大的不便。 2 1 2 2 在線編程方式 傳統(tǒng)的嵌入式應用開發(fā)方法主要是使用仿真器模擬目標系統(tǒng)中微控制器m c u 的運行情況,希望達到在目標系統(tǒng)硬件尚未定型與制版情況下,先行調試目標系 統(tǒng)的硬件、軟件設計,為目標系統(tǒng)的研制提供前期基礎。但是,一些情況下,難 以實現(xiàn)的1 0 0 實時仿真,有些功能在用仿真器調試時十分正常,而到了實際應用 系統(tǒng)卻不能順利運行。同時,傳統(tǒng)的仿真方式的一些調試功能僅適用于初學者, 對于具有一定開發(fā)經驗并擁有通用功能模塊積累的開發(fā)者,往往增加了開發(fā)時間。 目前,隨著計算機制造技術的發(fā)展,許多公司新推出的m c u 具有片內f l a s h 存儲 器,f l a s h 存儲器具有電可擦除、無需后備電源保護數(shù)據(jù)、可在線編程等特點。在 線編程( i n c i r c u i t p r o g r a m m i n g ) 允許單片機內部運行的程序去改寫存儲器的內容, 利用這個特點,不僅可以在運行過程中修改某些運行參數(shù),也為研制新型嵌入式 應用開發(fā)工具提供了技術基礎。 通過j t a g 接口除了可以進行嵌入式系統(tǒng)電路板和芯片的測試,還可以實現(xiàn)對 電路板上的f l a s h 進行編程。要通過j t a g 接口對系統(tǒng)板上f l a s h 進行編程可以利 用專用的硬件控制器或獨立的編程器來訪問j t a g 器件實現(xiàn),也可以直接用電纜線 把p c 機并行口與嵌入式系統(tǒng)的微處理器的j t a g 引腳連接起來,由p c 機上的程 4 第二章p r d d u c t f ! l s s i s 乜n t 設計需求 序模擬j t a g 時序實現(xiàn)。嵌入式系統(tǒng)的f l a s h 芯片的地址線、數(shù)據(jù)線和控制信號 線接到嵌入式系統(tǒng)帶j t a g 接口的微處理器相應引腳上。在對f l a s h 編程時,p c 機上運行的程序控制p c 機發(fā)送指令或數(shù)據(jù)到嵌入式系統(tǒng)微處理器內部的邊界掃 描寄存器里,再把此數(shù)據(jù)或指令通過j t a g 專用指令傳送給f l a s h ,從而將代碼寫入 f l a s h 中。 在嵌入式系統(tǒng)開發(fā)過程中,使用系統(tǒng)微處理器的j t a g 接口對系統(tǒng)程序存儲器 f l a s h 進行編程不需要其他附加設備的支持,是一種較為簡便的方法。隨著嵌入式 系統(tǒng)的發(fā)展,越來越多的帶j t a g 接口的芯片被使用。利用芯片的j t a g 接口不僅 方便了系統(tǒng)的硬件測試,保證系統(tǒng)正確性,同時也方便了對f l a s h 進行編程,這對 加快嵌入式系統(tǒng)的開發(fā)和調試具有重要作用。 2 1 2 3 批量生產 無論采用離線編程方式還是在線編程方式,一旦運用在生產線上就涉及到批 量生產的問題。嵌入式系統(tǒng)和軟件的設計階段采用的是面向個體的,即開發(fā)涉及 的軟件只在一塊目標板上調試運行;而在設計調試完成后需要投入到生產上時需 要進行批量作業(yè)。 2 2p r o d u c t a s sis t a n t 設計需求 由以上分析可知,傳統(tǒng)生產線上的個體硬件裸機檢測和程序灌裝的方式無論 是在生產成本上還是開發(fā)周期上都不能適應目前嵌入式行業(yè)的發(fā)展需要。目前, 使用在生產線上的板級測試和程序灌裝軟件并不多見。p r o d u c t a s s i s t a n t 輔助工具 正是應這種情況提出設計需要的。 設計實現(xiàn)的生產助理p a ( p r o d u c t a s s i s t a n t ) 主要用于嵌入式設備的大規(guī)模測 試和生產工作,例如生產線上硬件裸機的自動化檢測和程序灌裝工作,要求具有 操作自動化程度高,靈活性高,擴展性強等特點。其要實現(xiàn)的功能和特性有: 能夠一次性完成硬件裸機的檢測和程序灌裝,中途無需人工干預; 要求具有高度自動化功能,能夠通過目標機的上電和掉電來控制生產檢測 任務的重新開始,無需界面操作; 速度要求高,采用“以太網+ j t a g ”的連接方式; 具有高度擴展性,能同時支持多臺目標機的生產檢測工作; 靈活性高,操作員可自主定制生產檢測的流程及其參數(shù); 電子科技大學碩士學位論文 專業(yè)、友好的監(jiān)控操作界面,操作員能輕松的監(jiān)測和控制生產測試過程; 能夠支持多平臺( w i n d o w 、l i n u x ) : 最終,通過p r o d u c t a s s i s t a n t 工具,根據(jù)實際的生產和測試情況,能夠在生產 現(xiàn)場快速搭建所需的工作平臺。 2 3 本章總結 本章主要介紹了嵌入式系統(tǒng)開發(fā)過程中的板級測試和程序灌裝,根據(jù)目前板 級測試和程序灌裝的現(xiàn)狀提出了p r o d u c t a s s i s t a n t 的設計需求,確定了 p r o d u c t a s s i s t a n t 實現(xiàn)的主要功能。 第三章p r o d u c t _ a s s i s t a n t 的總體設計和相關技術分析 第三章p r o d u c t a s s is t a n t 的總體設計和相關技術分析 3 1p r o d u c t a s sis t a n t 總體設計 生產測試工具p r o d u c t a s s i s t a n t 作為生產測試工作的主體并不是獨立存在,它 的實現(xiàn)和運行依賴于整個生產環(huán)境。本小節(jié)主要從生產測試系統(tǒng)的組成、 p r o d u c t a s s i s t a n t 的運行環(huán)境和系統(tǒng)結構三個方面對以p r o d u c t a s s i s t a n t 構成的生產 測試系統(tǒng)進行原理性的分析,從一個全局角度對p r o d u c t a s s i s t a n t 進行總體的設計。 3 1 1 生產測試系統(tǒng)的組成 多口交換機 l a m b d a o d a l a m b d a o d a l a m b d a o d a ?;?標 織祝? 目 標 機 圖3 - 1p r o d u c t a s s i s t a n t 系統(tǒng)組成 由p r o d u c t a s s i s t a n t 構成的生產測試系統(tǒng)總體結構如圖3 1 所示,主要由三個 部分組成: 生產服務器:生產測試的宿主平臺,提供p r o d u c t a s s i s t a n t 運行的主機環(huán)境, 運行的操作系統(tǒng)為w i n d o w s 2 0 0 0 ; l a m b d a o d a :l a m b d a o d a 是片上調試方式實現(xiàn)的硬件仿真器,支持 l 爨臻一 電子科技大學碩士學位論文 a r m 7 t d m i 提供的片上調試功能;提供標準的r s p 調試協(xié)議服務;支持 與生產服務器網絡數(shù)據(jù)傳輸方式; 目標機( t a r g e t ) :支持任何采用a r m 7 t d m i 內核處理器的目標板。通 過j t a g 口與o d a 仿真器連接; 3 1 2 p r o d u c t a s sis t a n t 運行環(huán)境 3 1 2 1 宿主機環(huán)境 p r o d u c t a s s i s t a n t 運行的主機環(huán)境采用通用的商用p c 機。硬件要求有:主頻 8 0 0 m h z 以上、內存1 2 8 m 或以上、1 7 寸顯示器為宜,同時,為建立交叉調試環(huán) 境的1 0 m 以太網卡不可缺少。軟件方面的要求有:w i n d o w s 2 0 0 0 操作系統(tǒng)平臺。 3 1 2 2 目標機環(huán)境 在理論上,p r o d u c t a s s i s t a n t 支持任何一款以a r m 7 t d m i 為內核的目標板,唯 一的要求是目標板提能夠為配套調試工具l a m b d a o d a 供標準1 4 針或者2 0 針 j t a g 接口。 3 1 2 3 調試環(huán)境 作為p r o d u c t a s s i s t a n t 配套工具的l a m b d a o d a 仿真調試器運行在a r m 4 5 1 0 b 處理器( a r m 7 t d m i 內核) ,主頻6 0 m ,內存8 m ,可擦寫存儲器2 m ,對外提供 1 0 m 以太網接口和r s 2 3 2 串行接口。另外,p r o d u c t a s s i s t a n t 支持同時對多臺目標 機的操作,因此提供多口路由器是必須的。 3 1 2 4 連接方式 鑒于p r o d u c t a s s i s t a n t 設計目的和原理,主機端通過多口路由器與多臺 l a m b d a o d a 調試代理物理上相連接,而邏輯上則采用u d p 方式。采用u d p 方式 不僅符合這里p r o d u c t a s s i s t a n t 連接多臺l a m b d o d a 的要求,同時具有數(shù)據(jù)傳送速 度快、性能穩(wěn)定等優(yōu)點。 每臺l a m b d a o d a 通過j t a g 口與目標機進行連接,可支持1 4 針和2 0 針兩種。 3 1 3 p r o d u c t a s ss t a n t 系統(tǒng)結構 整個p r o d u c t a s s i s t a n t 由四部分組成:集成開發(fā)環(huán)境i d e ( l a m b d a i d e ) 、任務 第三章p r o d u c t a s s i s t a n t 的總體設計和相關技術分析 控制中心m c c ( m i s s i o nc o n t r o lc e n t e r ) 、目標機控制中心t c c ( t a r g e tc o n t r o l c e n t e r ) 和狀態(tài)顯示中心s d c ( s t a t u sd i s p l a yc e n t e r ) 。如圖3 - 2 所示。 圖3 - 2p r o d u e t a s s i s t a n t 系統(tǒng)組成 3 1 3 1 集成開發(fā)環(huán)境l d e i d e 的使用者是軟件工程師,軟件工程師通過集成開發(fā)環(huán)境i d e 來開發(fā)任務 控制中心m c c 所需的“工作”,典型的“工作”包括: 固化一個文件到目標機指定位置; 固化一個文件到目標機文件系統(tǒng); 從主機端某個文件中讀取數(shù)據(jù),寫到目標機內存的制定地址; 從目標機的指定地址讀一段數(shù)據(jù),寫到主機端某個文件中; 測試目標機所有串口; 測試目標機所有r o m ; 每個完成的“工作”由如下幾個文件組成: c m d x s d :命令參數(shù)的s c h e m a 描述文件,供m c c 使用。 t r o d j a r 命令的主機端代碼,供t c c 執(zhí)行。 c m d e l f i 命令的目標機端代碼,配合主機端共同完成命令的執(zhí)行。 命令的目標機端代碼以e l f 格式存在。e l f ( e x e c u t a b l ea n d l i n k a b l e f o r m a t ) , 即執(zhí)行連接格式,是u n i x 系統(tǒng)實驗室( u s l ) 作為應用程序二進制接( a p p l i c a t i o n b i n a r yi n t e r f a c e ( a b i ) 而開發(fā)和發(fā)布的。工具接口標準委員會( t i s ) 選擇了正在發(fā)展 中的e l f 標準作為工作在3 2 位i n t e l 體系上不同操作系統(tǒng)之間可移植的二進制 9 電子科技大學碩士學位論文 文件格式。 通常,在進行嵌入式軟件開發(fā)過程時,通過集成開發(fā)環(huán)境i d e 最終生成的e l f 可執(zhí)行文件是通過交叉調試器g d b 進行下載調試執(zhí)行的。由于p r o d u c t a s s i s t a n t 設計時并不要求有g d b 交叉調試功能,因此在實現(xiàn)上就不需要集成g d b 。這樣 對用i d e 開發(fā)的e l f 格式的“工作”必須由p r o d u c t a s s i s t a n t 自身進行解析并下載 至目標機端運行。要實現(xiàn)對e l f 的解析必須清楚e l f 格式文件的組成,這部分請 參見3 2 2 目標文件格式e l f 分析。 3 1 3 2 任務控制中心m c c 任務控制中心m c c 的使用者是生產工程師,其輸入是集成開發(fā)環(huán)境i d e 輸出 的“工作”,生產工程師通過任務控制中心m c c 來開發(fā)目標機控制中心t c c 所需 的“任務”,每個“任務”由一個或多個“工作”組成,每個“工作”在被添加到 “任務”時都需要設置運行參數(shù),例如“固化一個文件到目標機指定位置”工作 至少需要指定固化的文件名和固化地址兩個參數(shù)??梢?,通過任務控制中心,操 作人員能根據(jù)當前的生產測試工作自主的編輯生產鋇9 試所需的任務,操作人員可 以創(chuàng)建作業(yè),并設置每個作用的狀態(tài)、參數(shù)和屬性。操作人員能方便的管理項目 中的任何一個作業(yè),包括添加刪除作業(yè)和設置不同作業(yè)的參數(shù)等。最后根據(jù)配置 生成生產或測試任務,提供給目標控制中心執(zhí)行。任務控制中心的主要特征如下: 創(chuàng)建任務,任務下可創(chuàng)建多個具體作業(yè): 能同時管理和編輯多個作業(yè),保存編輯信息: 通過“上移、下移”按鈕,可以方便的調整作業(yè)的次序; 任務控制中心主要功能有: 添加、刪除任務中的作業(yè); 調整任務中的作業(yè)順序; 調整每個作業(yè)的參數(shù); 創(chuàng)建當前作業(yè)的副本; 任務控制中心的輸出即任務以x m l 文件的形式存放,便于任務的描述和 解析。一次編輯完成后可以多次在不同的地方重復使用。也可以針對不同的情況 創(chuàng)建多種不同的任務流程和參數(shù),保存在不同的文件中,具體使用哪個任務由操 作員決定,靈活性高。 第三章p r o d u c t a s s i s l a n t 的總體設計和相關技術分析 3 1 3 3 目標控制中心t c c 目標控制中心t c c 是p m d u c t a s s i s t a n t 的核心組件,t c c 的輸入就是m c c 輸 出的“任務”。t c c 運行在生產現(xiàn)場,連接多臺l a m b d a o d a ,每臺l a m b d a o d a 都連接一臺目標機,t c c 通過l a m b d a o d a 間接控制目標機完成具體的工作。如 圖3 1 所示,t c c 運行在生產服務器上,通過以太網連接多個l a m b d a o d a 。 目標機控制中心用于管理控制所有現(xiàn)場目標機。操作人員可以創(chuàng)建、刪除和 復制目標機,對任意目標機進行啟動和停止操作,并根據(jù)監(jiān)控結果采取適當?shù)拇?施,從而保證生產或測試過程的順利進行。目標機控制中心的主要特征如下: 通過設置目標機屬性,可以最大限度的進行自動化生產和測試; 可以保存和恢復生產測試環(huán)境; 目標機控制中心的主要功能有: 創(chuàng)建一個新的目標機; 修改目標機的運行參數(shù); 啟動一個目標機的運行; 停止一個目標機的運行; 刪除一個目標機; 目標控制中心作為整個p r o d u c t a s s i s t a n t 的核心組件連接多臺l a m b d a o d a , 這就涉及到p m d u c t a s s i s t a n t 與l a m b d a o d a 通信的問題。l a m b d a o d a 針對宿主機 提供串口和以太網兩種通信方式,并且l a m b d o d a 的實現(xiàn)采用g d b 遠程調試協(xié) 議r e m o t es c r i a lp r o t o c o l ( r s p ) 。串口通信方式主要用于對l a m b d a o d a 本身進行 升級;以太網方式真正用于應用通信,而且網絡通信速度遠大于串口通信;而對 于l a m b d a o d a 實現(xiàn)則采用r s p 協(xié)議,為了實現(xiàn)的方便和統(tǒng)一,目標控制中心與 l a m b d a o d a 的通信協(xié)議也采用r s p 協(xié)議。對r s p 協(xié)議的具體介紹請參見3 2 1 底 層通信協(xié)議r s p 分析。 3 1 3 。4 狀態(tài)顯示中心s d c 狀態(tài)顯示中心s d c 用于顯示每臺目標機的運行狀態(tài)以及任務的執(zhí)行狀態(tài),監(jiān) 控生產或測試過程。操作人員根據(jù)實際運行情況進行除錯、更換硬件平臺等操作。 狀態(tài)顯示中心主要特征: 實時反映每臺目標機以及每個任務的執(zhí)行情況,包括成功失敗狀態(tài)和執(zhí)行 進度。 電子科技大學碩士學位論文 狀態(tài)顯示中心的主要功能有: 觀察任一臺目標機的狀態(tài)( 停止運行) ; 觀察任一臺目標機的運行結果( 成功失敗) ; 觀察任一臺目標機的當前進度: 觀察任一臺目標機的相關信息( 例如失敗,則會顯示失敗的原因) 。 3 2 相關技術分析 3 。2 。1 底層通信協(xié)議r s p 分析 嵌入式交叉調試環(huán)境下,運行在主機端的調試器和運行在目標機的調試服務 程序通常運行在兩套硬件平臺上。它們之間通過串口、網絡或者其他設備建立通 訊連接。為了保證傳送數(shù)據(jù)的穩(wěn)定可靠,同時也為了統(tǒng)一規(guī)范,避免重復開發(fā), 調試器開發(fā)廠商定義了各自的調試通訊協(xié)議( 如:刪調試器支持的s d i 協(xié)議, g d b 調試器支持的r s p 協(xié)議,w i n c e 也有自己的調試協(xié)議) 。盡管各調試協(xié)議實 現(xiàn)的方法不同,但是功能都大同小異。 g d b 遠程調試協(xié)議r e m o t es e r i a lp r o t o c o l ( r s p ) 是心m 調試器g d b 和遠 端目標機之間的標準調試協(xié)議。該協(xié)議基于標準的a s c i i 消息通訊方式( 也就是 控制臺方式) ,支持的硬件設備很多,可廣泛應用。在實際使用中可以非常靈活的 利用目標機的設備如串口、網絡等,建立交叉調試環(huán)境。 目前,與p r o d u c t a s s i s t a n t 配套使用的i c e 是由科銀京成公司設計開發(fā)的 l a m b d a o d a ( l a m b d ao nc h i pd e b u g a g e n t 片上調試代理) ,該調試代理開發(fā)設計 遵循的是標準r s p 協(xié)議,因此本章將對r s p 協(xié)議作簡單分析。 3 2 1 1 通訊協(xié)議 r s p 協(xié)議在g d b 和遠程目標間交換的數(shù)據(jù)是使用簡單的a s c i i 碼字符實現(xiàn) 的。與其他通訊協(xié)議一樣,r s p 的通訊協(xié)議包含起始位、結束位以及校驗和。一 個典型的r s p 數(shù)據(jù)包結構如下: $ # c h e e k s u r n $ :起始位,所有的r s p 包都是以$ 開始; :數(shù)據(jù)段,至少長1 字節(jié)。大部分的數(shù)據(jù)都用a s c i i 碼十六進制字 符m o 9 ,a - f ,a - f 】表示。這樣傲的目的主要是為了調試人員閱讀方便, 但是明顯存在通訊效率低下的問題。為解決這個問題,某些數(shù)據(jù)傳送命令 第三章p r o d u c t a s s i s t a n t 的總體設計和相關技術分析 支持傳送原始格式的數(shù)據(jù)段; 掙:結束位; c h e c k s u m :8 位校驗和,將發(fā)送的數(shù)據(jù)以字節(jié)( 8 位) 為單位累加,結果 作為校驗和。 r s p 數(shù)據(jù)包的長度是有限制的,不能超過傳送設備支持的數(shù)據(jù)包大小。如網 絡方式最大能支持1 0 0 0 字節(jié)左右的數(shù)據(jù)包,串口方式盡管沒有數(shù)據(jù)長度限制,但 是實際使用中也最好不要超過1 0 0 0 字節(jié)為宜。 當接收端收到發(fā)送端發(fā)出的數(shù)據(jù)以后馬上對收到的數(shù)據(jù)進行校驗,根據(jù)校驗 結果接收端會向發(fā)送端返回一些信息: “十”:如果接收校驗和正確且此時接收方已經準備好接收下一個包,則返 回“+ ”; “一”:如果接收校驗和不正確,信息必須重新發(fā)送,則返回“一”。 發(fā)送端在發(fā)出一個包之后會等待接收端的返回數(shù)據(jù)包,若返回“+ ”則發(fā)送下 一數(shù)據(jù)包;若返回“”則重新發(fā)包;若等待一段時間之后沒有收到接收端任何響 應,則自動重新發(fā)包,假如嘗試幾次發(fā)包都沒有收到回應則認為連接失敗,停止 發(fā)包。 目標機響應從g d b 來的信息的方式有兩種:一種是表示命令執(zhí)行成功( 或消 息發(fā)送正確) 的符號“o k ”,另一種是目標機自己定義的錯誤碼。當g d b 接收到 錯誤碼時,可以通過g d b 控制臺向用戶報告該錯誤碼的代號。 3 2 1 2r s p 協(xié)議定義的命令 當前,g d b 遠程調試協(xié)議r e m o t es e f i f lp r o t o c o l ( r s p ) 已經定義了很多命 令和對應的語法結構,在具體實現(xiàn)過程中并不要求完全實現(xiàn)這些命令,但對于寄 存器和內存相關的五個基本命令:g 、g 、p 、m 、m 必須實現(xiàn)。占位程序( s t u b ) 在處理未定義的命令時將返回$ 捍o o 空包,在需要時我們便可以擴展這些未定義的 命令。 1 基本讀寫命令 r s p 的為數(shù)據(jù)讀寫提供了最基本的幾個命令,包括寄存器相關和內存相關兩 類,寄存器相關命令有g 、g :與內存相關命令有p 、m 和m : 1 命令名稱:r e a dr e g i s t e r 描述:讀取當前所有寄存器數(shù)據(jù)。調試器在任何需要知道當前寄存器信息的 電子科技大學碩士學位論文 時候就會發(fā)出該命令。返回的寄存器數(shù)據(jù)按照調試器和調試代理事先約定好的順 序排放,數(shù)據(jù)寬度為定長。 數(shù)據(jù)段格式:單字符g 用例:$ g # 6 7 ,讀取全部寄存器輸入的 返回結果:+ $ 1 2 3 4 5 6 7 8 9 0 a b c d e f # x x 該響應指出,寄存器0 的數(shù)據(jù)是0 x 1 2 3 4 5 6 7 8 ,寄存器1 的數(shù)據(jù)是0 x 9 0 a b c d e f , 依此類推。x ) ( 是校驗和。 2 命令名稱:w r i t er e g i s t e r 描述:寫全部寄存器指令。新的寄存器數(shù)據(jù)按照調試器和調試代理事先約定 好的順序排放,數(shù)據(jù)寬度為定長。 數(shù)據(jù)段格式:以字符g 開頭,后面接寄存囂數(shù)據(jù)的a s c i i 編碼。 用例:$ g 1 2 3 4 5 6 7 8 9 0 a b c d e f # x x ,寫寄存器 返回結果:+ $ o k # 9 a 該響應指出,寫寄存器操作成功。 3 命令名稱:p 描述:寫指定寄存器n 數(shù)據(jù)段格式:以字符p 開頭,后面接寄存器i d 號n ( 調試器和調試代理 事先約定好的) ,最后是寫入的寄存器數(shù)據(jù)。 用例:$ p 0 = 0 0 4 0 1 4 9 c # b 3 ,向寄存器0 寫入0 x 1 2 3 4 5 6 7 8 。 返回結果:+ $ o k # 9 a 該響應指出,寫寄存器操作成功。 4 命令名稱:r e a dm e m o r y 描述:讀取內存 數(shù)據(jù)段格式:以字符m 開始,接內存區(qū)起始地址,逗號后面是數(shù)據(jù)長度。 用例:$ m 4 0 1 5 b c ,2 # 5 a ,讀取0 x 4 0 1 5 b c 開始的2 字節(jié)內存數(shù)據(jù)。 返回結果:+ $ 2 f 8 6 # 0 6 該響應指出,0 x 4 0 1 5 b c 是o x 2 f , o x 4 0 1 5 b c 是0 x 8 6 。 5 命令名稱:w r i t em e m o r y 描述:寫內存 數(shù)據(jù)段格式:以字符m 開始,接內存區(qū)起始地址,逗號后面是數(shù)據(jù)長度, 分號后是連續(xù)的內存數(shù)據(jù)。 用例:$ m 4 0 1 5 c c ,2 :c 3 2 0 # 6 d ,向0 x 4 0 1 5 e c 開始的內存寫入2 字節(jié)數(shù)據(jù)0 x c 3 和 1 4 第三章p r o d u c t a s s i s t a n t 的總體設計和相關技術分析 o x 2 0 。 返回結果:+ $ o k # g a 該響應指出,寫內存操作成功。 查詢命令 r s p 支持的目標機狀態(tài)如表3 一l 所示。 表3 - 1 r s p 支持的目標機狀態(tài) g d b s i g n a l s 信號值信號名稱 0 h a n g u p ( 掛起) 1 i n t e r r u p t ( 斷) 2 q u i t ( 關閉) 3 i l l e g a li n s t r u c f i o n ( 非法指令) 4 t r a c e b r e a l c p o i mt r a p ( 跟蹤斷點陷阱) 5 a b o m d ( 異常終止) 6e m u l a t i o nl r a p ( 仿真陷阱) 7 a r i t h m e t i ce x c e p t i o n ( 代數(shù)異常) 8 k i l l e d ( 殺掉) 9b u se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓部總結與規(guī)劃
- 城市交通規(guī)劃合同管理著作權咨詢重點基礎知識點
- 地震安全評估師重點基礎知識點
- 營銷產品培訓大綱設計
- 河北釘釘協(xié)議書
- 公務用車車輛租賃合同
- 民間標會協(xié)議書
- 超市部分承包合同協(xié)議
- 土地合作居間服務合同
- 產品質量保障與賠償協(xié)議
- 2025-2030中國無煙原煤行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- GB/T 32960.3-2025電動汽車遠程服務與管理系統(tǒng)技術規(guī)范第3部分:通信協(xié)議及數(shù)據(jù)格式
- 2024年江蘇省勞動關系研究院招聘考試真題
- 2024年四川省公安廳招聘警務輔助人員真題
- 突發(fā)性聾診療指南(2025版)
- 2025年電子信息工程師職業(yè)資格考試試卷及答案
- 全套教學課件《工程倫理學》
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 變電站擴建工程 GIS安裝措施安裝方案
- 天車的設計與實現(xiàn)
- 英語時間表達法微課PPT.ppt
評論
0/150
提交評論