TWI557746B - 實施微電腦為基的電路之內容驗證的系統及方法 - Google Patents
實施微電腦為基的電路之內容驗證的系統及方法 Download PDFInfo
- Publication number
- TWI557746B TWI557746B TW101113963A TW101113963A TWI557746B TW I557746 B TWI557746 B TW I557746B TW 101113963 A TW101113963 A TW 101113963A TW 101113963 A TW101113963 A TW 101113963A TW I557746 B TWI557746 B TW I557746B
- Authority
- TW
- Taiwan
- Prior art keywords
- scanning
- target
- scanning instrument
- instrument
- microcomputer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
Description
此申請案基於並主張在2011年5月10日申請的美國臨時專利申請案號61/484,587的申請日之優先權。此申請案的全部內容以引用方式包含於此。
本公開有關於驗證電路操作的領域,且尤其關於包括微電腦為基的電路之韌體的遠端驗證電路系統的系統及方法。
片語「快閃」或「快閃記憶體」可與任何電子裝置,可電性載入電子裝置之有序的二元內容型樣以供儲存,且之後即使已未被供電仍可加以擷取。
於下,可互換使用術語「微電腦」、「微控制器」、「處理器」、及/或「CPU」。此外,可互換使用片語「診斷埠」或「除錯埠」,其係指專門用來露出對內部操作之特殊可測性控制存取的微電腦介面,和應用介面及埠不同。這種埠一般針對外部互動會採用JTAG發信協定及信號。片語「快閃」或「快閃記憶體」可與任何電子裝置,可電性載入電子裝置之有序的二元內容型樣以供儲存,且之
後即使已未被供電仍可加以擷取。
本公開有關於儲存在電路中的碼及/或電路本身的驗證。待驗證的電路可包含電路板及/或一或更多電路板的裝配、裝置、及/或系統。在此之系統及方法可促成包含在這種電路中的二元型樣未自其意欲值(例如,在生產或升級時所安裝)變更的安全確認。本發明還可包括驗證從二元型樣衍生出的簡化之簽章值的特徵,取代或額外於完整(原始)的二元型樣。因此,在此的系統及方法可藉由各種技術在運行目標上驗證記憶體內容,包括比較作為值的完整型樣之經目標抽取的韌體資料與已知的參考及/或比較從二元型樣衍生出的簡化之簽章值與已知的簽章參考。此外,在此的系統及方法可在遠端伺服器中比較這種資料類型之一或兩者(在上傳資料或簽章後)及/或它們可在從比如伺服器的遠端位置下載參考後於本地掃描控制器中履行比較。另外,與某些實作一致地,除了設置除錯埠連結外,在受測電路或任何程式內容中無需任何特殊的因應來支援在此的驗證特徵之一些實施例。
透過一些實作,例如,遠端網站伺服器可自動確保沒有訛誤或偏差藉由偷渡或錯誤而悄悄地進入到碼中。與在此的各種態樣一致地,可檢測到這種碼的變異,其可能會導致包含電路的不當、偏差或未經授權的行為。此外,本發明包括遠端履行這種經編程內容之週期性驗證作為背景任務的方法,允許電路繼續履行其主要功能的同時檢測並指出任何非預期的碼變更。
之後用於說明的許多實施例有關於儲存在受測電路之非依電性貯存(例如,快閃記憶體等等)中的韌體碼之遠端驗證。意料這種儲存元件自恰當載入或更新起都維持不變,且輕易地和其意欲的設計內容做比較。然而,也提供與本發明之態樣一致的有關於依電性貯存(如RAM等等)之驗證的實施例。針對依電性貯存,例如,在穩定情況的前提下,比如在某段時間及/或位址範圍內已知內容,可達成驗證。可利用這種發明,特別係當目標CPU已經將可執行程序從快閃轉移到RAM且在驗證週期中可建立這種區段一段時間為良好定義且無改變的。
在一些實施例中,例如,本地微電腦構件將可執行區段從快閃記憶體或其他來源轉移到RAM,其接著變成執行之提取庫。在此,例如,當將區段特徵化為具有已建立的狀態且在整個抽取序列的持續期間(涵蓋一或更多個遞增步驟)於已建立狀態中維持完整時,也可驗證包括儲存在依電性貯存或RAM中之可執行指令的資訊。與預期的型樣相比,可於是識別出這種整體記憶體內容。
此外,在致能置於依電性貯存中的碼之驗證的系統及方法中,這種碼可能源自非依電性貯存,或經時所建構自其他來源,比如外部下載的元件、運作時間產生的參數、等等。只要這種型樣及儲存位置為遠端所知且在一完整驗證週期的持續期間為充分穩定,可和本發明一致地等效處理及鑑別它們。
在此的實施例適用於包括藉由執行已儲存的韌體碼而
操作之一或更多個微電腦之電路。某些實施例可進一步涉及具有暴露出可電性存取連結之除錯測試埠(例如,EJTAG或COP(電腦操作埠))的微電腦。在此,這些埠可支援在電路應用程式繼續運行的同時與外部器材的互動。在一些實作中,例如,這種除錯埠以良性方式提供已儲存的韌體碼之可見性給外部連結的儀器。藉由使用這種埠,在此的實施例可允許可見性及/或履行測試而不實質中斷進行中的運行時間操作,除了暫時停止應用程式執行。在許多商用微電腦裝置中經常可得這種除錯埠。一些實施例還可利用對網路連結(如網際網路)之額外儀器存取,以允許和遠端站或伺服器交換資訊。因此,例如,在此的掃描儀器可組態成,經由與遠端站或伺服器的通訊,驗證測試資訊,亦即,確認所要的系統組態或目標之操作。
在本文的實施例之上下文中,韌體可界定為一種軟體,包括相關資料參數,其可讀取或可執行成儲存在電路的非依電性儲存裝置之一或更多者中的微電腦指令。這種裝置可編程、載有此韌體,且能夠保留此韌體,即便電路變成無電(亦即非依電性貯存)。這些裝置通常在製造或在後續的更新時間藉由電性機構載有主體韌體資訊。它們容易被含有已變更內容的類似構造的其他裝置實體取代,作為改變電路之編程的手段。它們也容易被電性載入替代的未經授權碼來取代意欲的型樣。通常,此韌體的內容根本上決定了整體電路被其微電腦所操縱時之行為特性。
在其他實施例中,在此所用的韌體也適用於源自非依
電性貯存或其他來源的在依電性貯存(如RAM)中保持一段時間的碼,其之內容型樣維持充分穩定而成為已知(例如,被遠端安全站知道)。
第1圖繪示根據某些實作的基本系統,顯示一示範驗證安裝掛接(hookup)的構件。第1圖中所示的系統包含如一堆疊之構件內的電路板之目標110、掃描儀器120、及至網路的鏈結或連結122。這些系統元件可全部經由含有掃描儀器120的驗證平台耦合到網路,該掃描儀器120則連接到目標電路。在第1圖中所提出的系統為示範性,僅顯示本發明之態樣可關聯的一個例示性系統。其他變異包括在本發明的範疇內。參照第1圖,待驗證的目標110可包含***機箱機櫃殼體115中的一或更多個電路板。在此,例如,電路板內所含的重要電路,其之韌體待驗證,通常包括微電腦130且受其控制,微電腦具有JTAG除錯埠並執行從快閃記憶體裝置所讀取之已儲存韌體程式。
與第1圖的系統一致地,掃描儀器可耦合到一系列鏈接的JTAG除錯目標電路。例如,這種系統可包括將多個電路之JTAG埠鏈接在一起的接線,允許連接到標準工業JTAG掃描控制器測試存取埠(TAP)。在此所示之掃描儀器120係繪示於平台構件的上下文中,雖其可在其他構件內或與其他構件關聯、有不同形式因子、等等,且在此整個公開中稱為「掃描控制器」、「掃描儀器」、或簡單地「儀器」。這種儀器可管理經由鏈接的除錯埠而朝目標電路驅動或從目標電路接收到之信號序列。信號,在此,
於此範例中可為遵守JTAG協定的信號並傳達微電腦除錯命令及回應以與運行時間應用執行並行地操作此特徵。
在所示的實施例中,掃描儀器120還經由乙太網路140(或類似附接)直接連接至網際網路,及/或可經由中間本地用戶主機電腦連接至網際網路。因此,儀器可組態成對遠端網站伺服器150為可見的,該遠端網站伺服器150可指揮掃描儀器120使用微電腦除錯命令特徵並接收從主體目標電路所收集到的資訊。
將於下更詳細解釋,驗證或掃描儀器120可週期性停止每一個微電腦以遞增地抽取在所關注之位址的快閃記憶體(及/或穩定的RAM)片段。接著,掃描儀器可經由對操作有最小影響之特徵及發明允許微電腦在交插時間的整體中繼續運行應用執行。這些應構成施加至目標的最小停止/運作記憶體週期。接著演算式處理所收集到的韌體內容之全部或次全部以計算獨特的簽章表示(比如散列摘要碼)也稱為取樣碼的向量。所得的簽章可例如經由網際網路傳送到遠端伺服器150,其則接收已計算出的簽章以供和既定電路或系統之已知/希望的參考簽章值做比較。
遠端伺服器150也可監督本地掃描儀器以排程並發動韌體抽取活動。此外,在一些實作中,透過網際網路傳送僅韌體內容的簽章碼,而非韌體內容本身,最大化安全並最小化通訊時間。然而,整個已抽取韌體值組之傳輸仍為可行的替代例。作為進一步安全防衛,簽章產生演算法可包括編碼特徵,如隨機數字、時間戳、等等,其係從遠端
伺服器所提供並在散列摘要產生期間附加到已抽取的快閃值。使用這種編碼特徵,像是隨機數字或時間戳,也可用來變更每一週期時間的結果,其係由遠端伺服器所決定,並防止或攪亂未經授權的傾聽者分析目標快閃型樣的企圖。這種特徵也可在當實際電路簽章因訛誤而已經改變時,防止無變簽章的替代來作為欺騙(例如,藉由隱密中間人網路來源)。
某些實施例可採用微控制器除錯埠特徵,如EJTAG或COP(電腦操作埠),其免除經驗證產品之電路或韌體中之特殊因應的需要。這種時常提供的埠係與和周邊裝置(如記憶體)之傳統接介(i/o)的所有其他微控制器應用介面不同之內建測試存取點。此專用的除錯埠(通常使用JTAG協定)致能正常處理之外部介入以支援測試操作。其包括短暫暫停正常指令碼提取及執行。其進一步致能經命令暫停的微控制器從電路貯存傳遞記憶體內容到外部儀器。可進一步命令微電腦在暫停點之後恢復碼執行。
也可經由在此之系統及方法來提供額外的除錯特徵,包括用於從外部儀器寫入記憶體貯存、單進至指令的提取/執行、跳到序列外的碼分支、及履行其他CPU動作之命令。這些特徵可例如免除建造具有特殊安全驗證硬體或軟體元件的這種產品之需要,因為外部儀器可藉由微控制器經由其之除錯埠在正常指令執行之間中存取記憶體內容片段。此方法本質上從正常CPU處理週期性偷取短暫的時間以增進記憶體內容的可見性。據此,可根據這些實施例
因應及/或保全現成的目標電路。此外,某些實作可組態成免除將任何電路韌體嵌入式處理包括在簽章結果中,防止安裝詭密的訛誤來模仿適當結果及/或隱藏存在的偏差。的確,在一些實作中,可創造驗證簽章作為僅已儲存的韌體型樣的獨特功能,例如,如在無被驗證碼本身的輔助下從外部所觀察到。然而,即使係這些特徵也不一定能排除掃描儀器下載臨時輔助碼到RAM中並命令目標微電腦執行這種幫助者常式來跟催收集及簽章操作。然而,這些發明的一些可能需要這種可用RAM空間的知識,以不打擾正在進行中的應用處理。
如先前所述,操作一或更多個電路除錯埠的儀器可操作性直接連接到網路,比如經由乙太網路埠,或間接連接到網路,比如經由來自中介本地處理構件或用戶電腦的輔助。在後者的情況中,本地電腦可在遠端伺服器的控制下操作性連接到網路,並轉而會暴露出能夠與儀器通訊的埠。在此,掃描儀器及/或計算構件可包括驅動器軟體來致能網路與所附接的儀器之間的存取,並且支援與被驗證電路的除錯互動。因此,可根據在此的各種實施例實現直接或由另一個通訊伺服器電腦所輔助而連接到網路的掃描儀器。
在此所公開的實施例採用測試器材的附接,其連接到並操作電路的微電腦之除錯特徵,致能已儲存之韌體資料的遞增抽取作為背景操作。外部掃描儀器可藉由序列命令經由微控制器的除錯埠操作目標微控制器以在目前指令後
停止正常執行、傳達某些上下文暫存器到儀器以供保留、傳達來自記憶體(非依電性,如快閃,或依電性,如RAM)的一或更多字以供抽取、從儀器傳達所保存的值回到某些暫存器以復原上下文、並在已停止指令之後的指令繼續正常執行。藉由重複上述週期,允許正常處理之顯著的中介運作時間間隔,掃描儀器可抽取記憶體內容之區段以利最小中斷之後續簽章壓縮/加密及型樣驗證。如所述,在此操作中無需特殊硬體(除了除錯埠外)也無需嵌入式碼常式。對目標系統的主要衝擊,將在此方法的審慎時序設計中考量到,包括應用碼執行的多重短暫暫停。這些可能某程度上減少目標性能能力(因為處理器週期偷取)並推遲對隨機事件的中斷事件(在微電腦暫停的同時)。第一個衝擊有關於既定目標系統中有多少可用的處理淨空(head-room),目標系統可能會經歷到一些降格。第二個有關於對不定外部出現(occurrences)之目標回應性,其發信中斷處理重新導向到處置器常式,因要求特殊服務。
將記憶體抽取週期保持最小短暫及最大稀疏為在此之系統及方法的成立中所達成的設計目標。可在微電腦正在運作應用碼的同時履行這些抽取週期,雖然微電腦可在指令之間暫時停止然後重新開始。可接著傳達所抽取的資訊到遠端位置或伺服器以和已知的正確簽章做比較,以驗證其之未被變更的完整性。可傳送所抽取的資訊,或其之經計算的獨特簽章表示,到安全站以做比較。在此,例如,可將碼型樣處理成壓縮SHA-2(或類似的)散列摘要簽章
以經由像是網際網路的網路上鏈結到站外的安全伺服器。在此之發明的態樣也可包括提供經傳送的每一個碼實例之簽章變異。此外,系統可包括其他特徵,其允許驗證韌體碼型樣遵守在運送或升級時所授權的,比如組態成自動及/或週期性履行測試及/或比較。
如上所提出,遠端計算構件或伺服器可提供經計算的簽章之安全檢查。根據在此之各種實施例,這種構件或伺服器可從工廠來源碼計算出一個正確原始的參考簽章。在此,例如,製造商可提供目標的詳細CPU特徵、記憶體映圖、及時序行為。在一些實作中,此資訊讓指令得以組態成僅週取關鍵且無變更的韌體區段,及可能地,穩定的RAM。這種資訊也可告知開發者如何組態掃描儀器以最佳調整目標CPU的停止/運作週期中斷。確實,針對某些電路及系統可能需要電路開發者的合作揭露。
如上所指,本發明的各種實施例除了微電腦除錯埠外無需特殊的目標因應。然而,測試器材儀器的附接,在此,並非意在總是排除其中構件或功能的這種儀器裝配併入受測電路中的情況。同樣地,這種儀器可併入一個不同的電腦中,作為***到其外殼中或設置在外殼內的擴充,且所有這種置換皆包括在本發明的上下文內。
舉例而言,各種常見的微電腦支援JTAG協定除錯埠,透過其可促成本發明的態樣。這種除錯能力與JTAG之傳統的邊界掃描特徵有所區別,一般而言,其集中在IC裝置接腳連結測試,並藉此致能若干邊準電路測試方法。
第2A圖為根據某一實作之包括掃描儀器120的例示系統100之區塊圖。在此,目標110經由介面或連接器115連接到掃描儀器120以履行相關電路之測試及/或抽取記憶體內容。雖然下列說明一般提及目標110,本發明也適用於電路、電路板、裝置、系統、其他構件、等等。連同計算構件130(其可為處理器、刀鋒伺服器(blade)、個人電腦、等等),示範性掃描儀器120,在此,繪示成具有緊鄰放置在測試電路旁之本地構件140或在本地構件140內。這些本地構件140可以為單一本地處理系統的一部分,其可同時容納這兩個元件,或其功能可分散到兩或更多個子構件中,如在他處所述。本地構件140可透過網路與遠端伺服器150通訊,且可隨意地包括顯示/GUI/瀏覽器子構件132,比如在計算構件130中。遠端伺服器150可含有或存取廣泛-具體資訊及測試掃描之程式庫152,且除了其他軟體(比如掃描儀器主機軟體154)外,還可包括使用者介面156構件/功能。另外,計算構件130還可包括一或更多個測試構件134,驅動器及埠/連接性相關構件136,還有其他測試掃描構件139。此外,核心掃描儀器硬體138可位在計算構件130中,或其可為安裝在掃描儀器120上之韌體122的一部分。
額外或取代在本文他處所公開的帶內互連,介面或連接器115可包括與電路板及/或裝置及/或系統之增加的數量關聯之JTAG連接器。例如,這種JTAG連接器可針對電路板支援至外部世界之測試介面、傳遞朝經由JTAG埠
可存取的積體電路(IC)所驅動之信號以提供位元之序列移動、饋送控制及時脈信號到所有參與的電路/IC、並抽取沿鏈收集到的序列位元。此外,可在一些實作中間接由主機計算構件操作JTAG連接器。在此,主機軟體可判定或輔助於判定要存取及驗證之特定碼及/或要使用的測試型樣,並亦可辨別由控制信號所修改之施加到主體型樣之這些型樣的特定意義(掃描類型)。
軟體也可收集串流回到主機以供分析,其中其可根據所得之碼的類型及/或掃描週期解譯資料。然而,在一些實作中,軟體可能無法辨認出信號的確切時序及協定定序,因為它們係在電性層級掃描到鏈中/掃描出鏈外。在這些實作中,可在主機指揮下由中間掃描儀器硬體處置JTAG特定的掃描協定。這些實作還可包括專用硬體或韌體,其提供比否則經由現有處理透過標準協定(其無法致能這種高速率)可得之更快速的掃描位移處理(跟催待運作之潛在大量的置換及長鏈長度)。這種掃描儀器也可促進受測電路板特有的其他電性需求,比如特殊電壓位準、或信號邊緣過渡率,這些無法由電腦所直接輕易地因應。
與這些特徵一致地,掃描儀器120可包括或載有硬體、韌體、及/或軟體子構件,組態成進行下列之一或更多者:(1)取決於平台及/或儀器模型,經由數個標準鏈結協定之一與主機(或其他計算構件)接介;(2)根據JTAG協定在高速與目標接介;(3)從主機接受命令,其發動特定掃描、掃描序列的類型、及/或通過目標JTAG鏈
之記憶體抽取;(4)從主機接受位元型樣以朝目標掃描鏈位移;(5)從目標收集返回位元型樣並傳達回到主機;(6)朝目標創造恰當的序列位元流信號型樣;(7)創造恰當的時序及控制信號序列以根據那個規格操作JTAG位移;(8)提供所連電路板所需之特有電信號調節(比如電壓位準或信號上升/下降率);及/或(9)提供任何額外的設定及狀態功能以促進掃描儀器120之管理。在此的掃描儀器及相關系統和方法還可包括在2009年12月18日所申請之美國申請案號12/641,627(公開為US2010/0180169A1)中所提出的特徵及功能,其全部內容以引用方式併於此。
第2B圖繪示可組態有這種特徵且其中可履行適當的掃描處理之一示範掃描儀器120的廣義結構。雖然在這種掃描儀器內的基本區塊一般為已知,在此的某些特徵之安裝及操作致能遠端掃描儀器的發明性控制及/或掃描儀器功能的管理。例如,根據本發明之態樣的掃描儀器120可組態成與目標的韌體無直接牽連。另外,在此的掃描儀器120可組態成在目標正在運行的同時持續運行,以得到其操作之控制,包括短暫停止CPU來運行掃描序列以獲得嵌入碼的段,接著運行CPU以允許其應用執行的持續。因此,掃描儀器120一般與傳統邊界掃描構件相異組態,比如不經編程為功能上禁能目標,所以得以任意方式(互連測試)驅動並感測其之裝置接腳。這種組態僅集中掃描於處理器連接的診斷特徵上(例如,與微控制器經掃描進
入/出去除錯命令控制交換有關),相較於有關於典型的接腳輸入/輸出控制掃描的組態(例如,與鏈接裝置接腳在電路板上是否藉由電路跡線互連有關)。
在此的一些實作中,掃描儀器120可完全嵌入電路板環境中,其中相關的操作系統及應用完全整合於其中。此外,這種掃描儀器可組態成完全獨立,使得它們無需嵌入在他處之資源來輔助驗證處理。此外,控制邏輯240可組態成在抽取目標韌體碼之後在外部的掃描儀器120內產生散列碼,其中僅傳達簽章型樣至遠端安全性驗證構件以進行檢查比較。至於操作,控制邏輯240經由介面230從伺服器或計算構件接收資訊並傳送通訊至其,該介面在一些實作中可為標準介面,並經由JTAG介面處理有關於目標的通訊。
第3圖為描繪根據某些實作之示範元件及網路連結的區塊圖。參考第3圖,繪示元件、掃描儀器、目標除錯埠類型、及不同(直接對本地)網路連結的各種置換。第3圖繪示伺服器150,其可含有或存取驗證簽章參考值的程式庫340、透過其傳送各種簽章315的網路320、及一或更多個測試安裝310A、310B、及310C。在每一個測試安裝內,掃描儀器120連接到目標電路板以用於微電腦除錯可見性及/或控制。例如,儀器120可直接連接到電路板上之JTAG除錯埠,因為許多電路含有這種JTAG除錯埠,其具有用於發開仿真、初始化、或測試之插槽進接。此外,經由組態有一次序列式集中於一個電路板/裝置的協
定之儀器120,也可因應在具有非處理器構件JTAG電路板或構件350C的鏈中之目標。顯示在第3圖中之一個示範測試安裝310A包含本地用戶370還有一或更多種的掃描儀器120A、120B、120C、及120D,其耦合到一或更多個待驗證電路330A及330B。所示的實施例顯示多個組態,包括直接耦合到網路320的儀器120A及120B,還有經由本地用戶電腦370耦合到網路之儀器120C及120D。
第3圖的實施例顯示連接到目標電路350A、350B、及350C的鏈之儀器120A(例如,依照JTAG協定等等連接),還有連接到非鏈接的目標電路350D之儀器120B(例如使用專屬協定,如BDM、SPI、MDIO、或RS-232等等)。第3圖還顯示針對間接至網路或遠端構件的非乙太網路連結或通訊之掃描儀器120C及120D。在一些實作中,這些儀器可組態成JTAG儀器120C以經由電路板上的JTAG埠耦合到目標,或非JTAG儀器120D以經由非JTAG診斷埠或機構耦合到目標。回到乙太網路掃描儀器120A及120B,第3圖繪示兩種儀器還有各種示範連結及埠360A、360B、及360C。第3圖中之第一種乙太網路儀器為耦合到JTAG電路鏈350A、350B、及350C的JTAG掃描儀器120A。如在第3圖中舉例而非限制性顯示,第一電路350A及第二測試電路350B可經由處理器類型的JTAG診斷埠360A及360B耦合到掃描儀器120A。此外,額外電路,像是第三電路350C可包括在僅含有非處理器構件的JTAG鏈中且不參與此韌體驗證方法。第3圖還繪
示,作為第二種的乙太網路儀器,非JTAG掃描儀器120B,顯示成經由非JTAG診斷埠360D耦合到第四電路350D。
總言之,第3圖顯示包括在驗證掛接示範實施例電路安裝中的各種電路(目標電路變異-JTAG/非JTAG、鏈接/未鏈接、CPU除錯/非CPU裝置;掃描控制器儀器變異-JTAG/非JTAG、鏈接/非鏈接附接、乙太網路直接連接連網型/本地用戶連網型)。還顯示具有所附接的驗證程式庫之中央網路鏈結的遠端伺服器之整體系統拓撲,能夠與需要韌體驗證之零散安裝的分佈互動。
可與本發明一致地實現前面提出以外的各種其他遠端掃描系統及儀器。例如,第4圖為根據某一實作之一個不同的遠端掃描系統及儀器的圖。該圖顯示設置在本地目標測試位置的一示範掃描安裝的例示組態。第4圖顯示與行動裝置480耦合的掃描儀器120,以將其能力用來往返如伺服器之遠端元件在任一方向中輸送資料。第4圖的實作藉由允許與一中央伺服器的替代連接性(其中無有線網路存取)來大幅增進掃描配置的彈性。在這種情況中,可經由如USB之常用的連結將應用載入到這種行動裝置中來操作所附接的掃描控制器作為其之本地用戶。此外,在此所揭露的各種其他實作中,獨立掃描儀器也可具有一種形式因子,以允許直接安裝到目標電路板上,這可節省空間並提供方便性還有更多功能。
第5A圖為根據某些實作的一示範本地計算用戶組態之區塊圖,其顯示至掃描儀器的若干標準埠介面之一,包
括於其內的用於履行測試/掃描/抽取之一些功能元件。參考第5A圖,顯示由本地計算構件軟體所見到的暫存器710之廣義區塊圖,繪示掃描儀器之控制/可見性且用於傳遞向量至其或從其傳遞向量。這種向量可包括從其抽取資料之記憶體的位址及所返還的記憶體內容本身。同樣地,這僅為例示性區塊圖,因為各種本地構件之組態會有變化,如在本文他處所述。
此外,當傳達命令/狀態/向量至本地掃描儀器120或從其傳達時,本地用戶計算構件370也可編碼/解碼這些資料物件成為適合埠協定之傳輸格式。例如,可將指定給掃描儀器120之命令暫存器資訊封裝成針對乙太網路鏈結的版本之TCP/IP封包。本地元件也必須提供有及/或處理額外資訊來指揮至/自掃描儀器內之目的地/來源的訊息。以類似的方式,針對傳輸所置備的USB封包含有針對那個埠根據其結構的類似資訊及格式。本地用戶構件也可下載有軟體來根據正在進行的協定管理匯流排上的所有交握互動。因此,除了創造掃描儀器暫存器內容外,在本地用戶計算構件370上之已下載的軟體可創造或解開鏈結相關的構造並在埠上藉由適當協定規則互動。在一些實作中,自足式驅動器常式履行此工作,其專門用來履行這種通訊,定制成與所安裝的配接器一起操作,且可供自遠端伺服器150下載。在掃描控制器儀器介面230符合常見的網路協定(如乙太網路)之情況中,可省略本地用戶構件,而儀器直接連接到由遠端伺服器所控制的這種網路。
當在任一方向中處理向量時,儲存向量的掃描儀器暫存器710可能需非常長或多個,亦即,來支援任意長的目標鏈。在這些情形中,掃描儀器120可實行它們為具有FIFO(先進先出)記憶體或能夠儲存大量有序資料的其他大塊記憶體儲存方法之形式的整個暫存器系列。目標返還的掃描向量通常也需要這種FIFO或緩衝器,以在運送回到本地用戶計算構件370及/或遠端伺服器150以前保持這些向量。為了因應其中總向量長度超過甚至這種資源的情況,可提供機制給掃描儀器來因儲存限制的緣故而調整自己。在一實作中,例如,若其需要新的TDI向量位元且FIFO為空的,或者正等待至PC的上鏈之TDO儲存FIFO滿了而無空間從目標收集更多,則掃描儀器暫時停頓目標位移。
第5B圖為獨立型的另一示範本地掃描儀器之區塊圖,其包括添加的資源,這致能比如無牽連其他本地用戶計算元件之操作及/或保存測試結果以供後續上傳之特徵。參考第5B圖,顯示一獨立掃描儀器,其可包括預先載入的測試計劃及/或添加的資源以致能掃描,同時不連接到本地或遠端計算構件或平台元件。例如,其可含有一積體處理器570還有記憶體580(內建或可移除式),組態成支援預先載有測試平台資訊,以致能目標上的掃描操作或從目標之記憶體抽取,並儲存結果或記憶體內容以供後續上鏈到主機電腦。可透過掃描儀器的外部埠(如USB)下載及/或使用***可移除式記憶體元件或經由其他這種技
術載入記憶體內容。可履行經由外部埠之上傳以擷取已儲存的測試結果或儲存在記憶體元件中的記憶體內容。這藉由避免在測試掃描期間附接電腦的需求來支援高度可攜式實作,其中對目標電路的存取可能會有困難或很遠。這種嵌入式處理器也可包括韌體,使得其可控制附接的可攜式或行動裝置,比如智慧型電腦(見例如第4B圖),來以使用者I/O控制台的方式操作其之資源。這可藉由利用相關人員所攜帶之常用的行動裝置、手機、智慧型電話等等來致能掃描儀器操作之控制及可見性。
第5C圖為一種本地快閃驅動器形式因子掃描儀器的區塊圖,繪示在其內之用於履行根據某些實作的測試/掃描/抽取之功能元件。此版本可包括用於直接耦合到USB插槽的USB插頭585,而避免在其本身與此主機處理器之間的電纜的需要。其亦可含有記憶體590(內建或可移除式)以致能上傳已儲存的測試計劃及/或測試應用軟體至本地計算構件或平台或自其下載。在上傳情況中,可在工廠或倉庫於***測試位置前預先載入測試計劃檔案及/或一些或全部的測試軟體及/或資料。相反地,也可從記憶體所***的本地構件下載或重新載入新的測試計劃檔案或測試軟體(包括從經由網路遠端連接的伺服器所接收到者)到這種記憶體。這種載入可在和作為準備步驟的測試不同的時間發生。這支援掃描儀器之高可攜性及靈活性,且亦使測試計劃得以簡單手持輸送到無網路存取之本地測試站。此外,若預先載有測試應用軟體,其可上傳至任何插
入式本地構件,如PC,其可提供任何這種本地構件,即使從未以測試軟體初始化過,而例如可立即變成能夠掃描目標裝置。此方式可用來往返PC在任一方向中輸送軟體、測試資訊、及目標資料。
第6圖為繪示根據一或更多所揭露的實作在掛接中的各個層級之示範JTAG除錯掃描程序的圖,包括在遠端伺服器、掃描儀器、及目標電路之應用處理。此圖描繪遠端伺服器602程序,其發動一給定安裝614(例如,實例J)來經由網路使用其之掃描控制器儀器614程序來履行韌體驗證抽取。此多重掃描程序可應用於安裝中之一或更多個電路(例如,電路號碼CIR到LAST_CIR),其每一個的韌體待驗證。轉而,每一個電路可具有在這種驗證中將加以收集及包括的一或更多個非連續區塊的韌體內容(非依電性(如快閃)或依電性(如RAM))。將結合這種區塊(每一個具有一給定區塊大小),各在一特定記憶體位址開始,以產生供上鏈的其特定電路之簽章。抽取會以至少一個到多達大塊(chunk)計數的字之遞增發生,來以每最小目標停止/運行週期從目標收集。針對與目標之每一個互動(發送命令、存放資料、或抽取資料),儀器將履行若干位元位移的一或更多個JTAG掃描。
如此所示,一種示範驗證程序,可從存在於遠端構件或伺服器之初始非掃描狀態602開始。當觸發至安裝/驗證程序的開始時604,遠端伺服器透過網路610或伺服器與其他系統元件間的通訊鏈結發出一發動驗證指令606。
接著傳送612該發動命令到掃描儀器,其可處於驗證程序的初始狀態614中。當接收到發動命令616,掃描儀器識別並選擇電路620,將對其履行第一掃描/分析。接下來,掃描儀器判定待讀取和驗證的位址622,包括識別或載入履行那個特定掃描所需之目標位址區塊的列表及CPU節點資訊。每一個區塊包含一起始位址及待抽取之連續數量的字,橫跨相關的區塊大小計數。將區塊抽取分段成一或更多字之大塊,各會需要某時間片持續時間,取決於掃描率及目標特徵。每一個這種大塊時間片與正常CPU應用碼執行的顯著時期交插,具有選定成最小化性能衝擊的比例。重複多個零散大塊計數字抽取直到已抽取所有的區塊。在此,且在隨後的整個測試序列中,掃描儀器可組態成傳送JTAG掃描向量625到待測試的電路。
回到第6圖中所示的代表程序,針對待履行的每一大塊的抽取,儀器掃描一停止命令626以在目標CPU的目前指令執行後停頓其。在所示範例中,在給定CPU運行其應用碼630的同時,將此命令掃描到給定CPU的除錯(JTAG)埠628。在此,例如,當傳送各種除錯命令633時,比如當掃描進停止命令634時,CPU可能已正在執行某一應用指令632。在接收到時,CPU在目前正在進行者之後停頓應用指令的執行636,如第7圖中所示。
再參照第6圖,掃描儀器接著於應用處理的瞬間停止中獲得CPU上下文的一或更多字640,通常係包含在裝置暫存器中。在此,可依據是否將從非依電性或依電性記憶
體存取或提升資料來進行數管齊下的碼獲取。例如從相關的RAM位置存取並保存可執行資料字646。若將存取非依電性碼,則例如從快閃記憶體存取並保存資料字644。在從依電性或非依電性記憶體獲得資料後,復原CPU上下文648並掃描進運行命令,使得應用的CPU處理可返回到運行狀態650。針對被傳送之各種其他除錯命令655,回應於目標電路的哪個CPU返回到正常操作,例如,提取處理應用指令的客製迴路中之下一個指令638,目標電路將接收此運行命令654。
一旦復原正常CPU操作,掃描儀器確認最後掃描的位址是否為待分析之電路的待讀取之最終位址658。若否(若有要掃描的額外位址),則掃描儀器組態自己以掃描測試序列中之主體電路的下一個位址660。在此,一旦載入/組態測試序列中的下一個位址以供掃描,則掃描儀器返回到開始CPU停頓及資料收集常式程序中之區塊大小調整的步驟624,以藉此獲得那個下一個位址測試序列的資料。履行此更新待掃描位址660並履行已更新位址之停頓及收集常式的迴路直到收集到所識別之位址的所有希望之資料。一旦收集到經掃描的位址之每一個子構件或希望的總位址之最終資料,掃描儀器可接著計算有關於所有收集到的待驗證資料的資訊662,比如簽章,以經由網路傳輸664。
一旦掃描了特定電路的所有位址,掃描儀器確認最後掃描的電路是否為目前測試程序之待讀取的最終電路668
。若否(若有要掃描的額外電路),掃描儀器則啟動掃描在被履行之測試程序中的下一個電路之程序670。在此,一旦驗證了欲掃描的下一個電路,掃描儀器返回到確認待掃描之位址的步驟622,之後開始履行每一個位址及/或其區塊的CPU停頓及資料收集常式的整體迴路程序,藉此獲得必要的資料來完成測試程序。若在688經掃描的電路卻認為目前測試程序的待掃描之最後一個電路,掃描儀器返回到保持狀態614以等待下一個發動命令的接收612來開始後續的測試程序。
一旦接收到一或更多個簽章672,可履行簽章比較操作674來判定接收到的簽章是否驗證受掃描的電路具備希望的組態。雖此驗證程序繪示在第6圖中的伺服器上下文中,也可在掃描儀器履行這種驗證程序,如本文他處所提出。
若簽章成功驗證電路具備希望的組態,則遠端計算構件或伺服器可記錄一標籤及/或產生被驗證的電路或安裝具有正確/希望的組態之指示676。相反地,若簽章驗證不正確的組態或操作,則遠端計算構件或伺服器可記錄一標籤或產生被驗證的電路或安裝沒有展現正確/希望的組態之指示678。最後,遠端計算構件或伺服器確認受測安裝是否為要掃描的最終安裝680。若否,則遠端構件或伺服器判定待測試之下一個安裝682並進至驗證狀態/開始事件是否發生之步驟,其中接著啟動發動下一個安裝之驗證的命令606。若在680確認剛驗證過的安裝為待處理之最
後一個安裝,則遠端構件或伺服器返回到初始閒置狀態602以等待下一個排程的驗證時間。
如上所示,附接儀器可根據JTAG IEEE-1149.1、IEEE-1149.4、IEEE-1149.5、IEEE-1149.6、IEEE-1149.7、或類似的協定藉由使用位移的信號型樣來傳達行為控制序列以操作內部處理器(CPU)的除錯埠特徵。此外,在此協定之菊鏈架構前提下,既定電路及/或系統中的若干這種電路之多個埠可電線鏈接在一起,以少數幾個信號提供對它們的每一個之序列存取。藉由此方式,所連的儀器可注入CPU命令及參數,同時與每一個微電腦的其他應用輸入/輸出埠無關且並行地抽取狀態及資料。在此,針對此目的可用來控制內部處理器(CPU)的一些示範除錯埠動作包括:(1)在指令之間停止應用程式運行時間執行;(2)抽取CPU上下文(比如暫存器值);(3)讀取定址的韌體位置回到測試/掃描儀器;(4)復原CPU上下文(比如暫存器值);及(5)繼續已停止的指令之後的應用運行時間執行。
因此,外部掃描儀器可命令每一個微電腦在指令之間停止應用;讀取並保存目前的微電腦上下文;讀取傳達至外部儀器以供收集之某些可見位置的內容(尤其係程式貯存之一或更多字);並從停止點以復原的上下文繼續運行應用韌體。藉由這種技術,外部掃描儀器可遞增地存取並獲取韌體貯存,同時允許應用執行大部分的時間無阻礙地運行。對經驗證電路的一個衝擊係處理器執行在兩個接續
指令之間停止一段短暫的除錯間隔時間片。
第7圖為顯示根據一所揭露的實作之示範韌體抽取及時序特徵的示意圖。參照第7圖,顯示繪示相對於CPU應用處理所映射之時序及韌體抽取的態樣之圖(在X方向中於時間中前進)。第7圖描繪一顯示在停頓及讀取程序之前及期間的目標CPU處理狀態之CPU程序710。如所示,CPU程序710描繪CPU處理的諸週期,包括標準CPU應用運行操作712的狀態還有當CPU在接收到停止命令時暫停714時的狀態。後者可稀疏地在(於應用運行週期之間)提供短期操作空隙之插置停止/運行時間片間隔中開始。這種命令引發零散的目標不活動(dead)/潛伏週期,其致能希望資料之遞增獲取而無整體程式/系統操作的實質中斷。此外,時間片716在此可被視為標記「抽取週期」的開始,其係指從第一CPU停止狀態714A的起效開始;繼續經過CPU應用處理712的一個週期;並在下一個CPU停止狀態714B開始時結束的一個循環。
每一個CPU停止狀態714構成CPU不活動潛伏時間的片722,在此期間會發生在第7圖底部所提出之根據一所揭露的實作之測試掃描特徵。如第7圖中所示,每一片722可包含發生在第一應用指令N 720及後續之應用指令N+1 728之間的複數個掃描724及726。在一實作中,複數個掃描可由針對像是停止或開始CPU及保存或復原各個暫存器之上下文的負擔任務之負擔(overhead)掃描724,及針對抽取韌體(快閃或RAM)內容的大塊數量的
位元組之酬載掃描726所構成。每一個掃描週期亦可包括,藉由多個JTAG掃描位元的位移,在掃描儀器742與目標JTAG除錯埠之間的相應資訊掃描740的關聯通訊。在第7圖中所示的實作中,一示範時間片722可包括:一或更多個第一負擔掃描724A,其包含停止CPU並從暫存器抽取上下文的命令及資料;一或更多個酬載掃描726,其包含抽取韌體內容之大塊數量的位元組之命令及資料;及一或更多個額外的負擔掃描724B,其包含復原上下文至暫存器並重新啟動CPU運行狀態的命令及資料。
與本發明一致的CPU停止/運行間隔可在一些情況中引發目標電路或CPU中的零散不活動/潛伏週期。這種不活動點或延遲的一個衝擊在於精準的即時行為可能會稍微被變更。零散不活動/潛伏週期的衝擊很大程度上取決於目標及目標應用的架構及功能。最小衝擊出現在例如包含在隨機時間共享CPU的多個並行任務之應用中。另一方面,最大衝擊可能會在對即時處理回應性敏感的應用上。然而,在此,可利用目標之詳細知識來克服或因應這些問題。例如,可依照硬體限制調整演算法之工作循環及停止/運行週期以最小化潛伏及性能衝擊。考慮到不活動/潛伏間隔可能降格中斷處置器常式進入回應。這係因為外部即時事件或計時器信號在這種停止狀態期間以某程度上延遲的方式影響程序反應。此外,實作可組態成包括最壞情況所得程序延期來避免無法被接受的影響。根據本發明的一些實施例,使用選定參數之示範停止/運行潛伏週期可約
為1毫秒。在此,「選定參數」係指藉由最大化JTAG SCL時脈率(與目標及掃描儀器能力一致)、最小化上下文保存/復原資訊、及最小化大塊抽取計數來減少不活動時間潛伏。其亦包括優化抽取停止/運行對整體週期時間的比例來減少性能衝擊,同時使整體簽章循環時間不會變得不切實際的長。在一實際的示範實作中,可以每循環約128位元組大塊的率/量來獲取被掃描的資料。與這種實施例一致地,可有用地採用每停止/運行大塊約30毫秒的間介抽取週期。
這種停止週期,無論多麼短暫,在即時流的潛在變更下仍可能產生待解決的問題。這種考量可包括於已停止間隔期間流逝之處理器外部的隨機程序的影響,包括計時器事件。這些可能持續產生中斷,其之回應因已停止狀態而推遲,延遲進入處置器常式。要解決這種問題,本發明可仰賴於電路的密切知識及關聯的演算法來最小化由停止/運行工作循環所控制之對運行時間應用的反響。例如,最小化負擔時間包括最大化掃描率(較快速的SCL時脈)及最小化大塊大小,同時增加抽取週期以降低性能衝擊(以整體簽章創造時間作為代價)。另外,可採用特定停止/運行工作循環演算法來停頓並存取資料作為微電腦及整體系統、特徵、及/或功能之函數。
在其他實施例中,根據上述目標性能顧慮,可在廣泛分佈的週期上僅保持目標微電腦停止短暫的間隔來最小化前景執行衝擊。在此,停止/運行時間對抽取週期時間工
作循環演算法可與整體韌體收集循環的性能率作為取捨交換。例如,較不具侵入及中斷性的目標抽取演算法會導致較長簽章產生及上傳時間,這將被交換掉。據此,實作這種發明的掃描儀器及/或關聯演算法之工程及製造可包括將相對的已停止間隔時間與完成驗證之最小時間的不利影響納入考量之優化程序。
本發明在許多情況下與JTAG所支援的傳統硬體測試相容。因此,在此之系統及方法可包括這種延伸的電路驗證。例如,可掃描鏈結於鏈中的不含微電腦除錯埠但包括邊界掃描硬體JTAG存取之電路。因此,不露出微電腦JTAG除錯埠的電路可包括在鏈中的其他非微電腦構件。一般而言,JTAG鏈可鏈結具有包括微電腦除錯埠及一般數位裝置的元件組合之電路板、構件、及系統。
可由JTAG協定在任何點序列地集中於所有鏈元件,無論微電腦除錯埠或具有傳統JTAG特徵的其他構件。在一些實作中,包括這種可掃描非除錯元件也致能自動硬體完整性檢查,亦即,超出韌體驗證之在此的主要應用。
此後者延伸的活動(傳統邊界掃描測試)通常需將裝置置於專用非工作的測試狀態中,其致能任意接腳連接的信號型樣設定及感測。這開啟JTAG能力的整個世界,比如檢查信號開路/短路、工作/已安裝的裝置、載入/上傳可編程裝置(EEPROM、CPLD、PLD、快閃記憶體、等等)
,而無牽涉在目標上之任何微電腦執行。這種增進的能力係包括在本發明的某些態樣中,例如,當可禁能目標應用功能時。額外的JTAG一般測試,超出主體韌體驗證方案,也可包括CPU除錯埠方法,藉此在仿真模式中操作目標處理器。這包括外部掃描控制器,在主機指揮下,命令CPU操作以廣泛測試主體電路板,包括具有所有可見資源之i/o活動、以全速運行碼(比傳統的JTAG邊界掃描更快速)、暫時運行下載的測試常式(有或無嵌入式韌體的輔助)、及在可定址CPU空間中之可編程裝置的編程或上傳。
額外的實施例可涉及由一給定電路的微電腦除錯不支援不同的非JTAG協定(如,BDM、SPI、MDIO、或RS-232)之系統。在此,與本發明一致的特定裝置協定變化系統可利用一儀器,其具有根據其之需求來操作之介面。使用適當變更的位移型樣(相較於JTAG),可因應序列命令協定的這種變化以旅行上述驗證程序的韌體抽取。可操作它們來以類似序列旅行CPU時間片抽取。在此,儀器可連同其他儀器類型(如上述的JTAG類型)分別且並行地連接到網路,當遠端伺服器必須驗證此所連電路時由遠端伺服器依次操作。例如,可在網路上藉由根據每一個這種儀器的獨特網路位址(如網際網路IP位址)來區別它們而操作並控制這種儀器。因此,可實現一套為不同類
型的掃描儀器來因應整體上驗證完整電路組所需之替代的除錯埠類型,各電路具有適當連接的儀器。具有支援鏈接掛接(與上述JTAG類似)的協定之那些埠可接線在一起來共享一給定儀器,而其他者會具有其自己專用的附接儀器。
除了驗證嵌入式電路韌體來確保其之無訛誤的完整性外,本發明還支援在安裝站的可疑電路操縱之檢測。在此,可感測到這種電路之無授權的處置和竄改,例如作為可能的韌體訛誤工夫的一部分。例如,這種系統及方法可涉及回應於非預期情況(如,使這種電路自其正常可操作組態設定斷電、移除、或禁能等等)的特徵,且亦可包括與潛在變更企圖有關的發信或通訊的態樣。在一些實作中,這些特徵可在驗證循環之間操作,有效地監測每一個電路的操作中狀態來支援警報系統。藉由利用這種操作中特徵,在此之系統及方法致能感測方案,其允許確認希望的電路系統將會根據排程的運行時間間隔在感興趣的已安裝電路內持續運行或「保持活動」。
可與運行應用操作並行實作的一些示範程序包括履行已安裝電路的特殊掃描,經由其之JTAG鏈,例如以確認它們的存在及可操作狀態。在JTAG鏈的情況中,例如,可由遠端伺服器命令所連鏈之協定標準基礎設施掃描來實現所有這種所連且可操作電路之迅速且方便的檢測。此監
測不導致正在進行中的應用之中斷,因為基礎設施掃描不與裝置應用接腳互動。針對非JTAG協定,可實作與微電腦除錯埠之類似的非中斷性互動來達成類似結果。
待驗證的嵌入式韌體可由電路上之整個記憶體儲存資源或其之某些子集所構成。在此,例如,伺服器可向儀器識別待驗證之感興趣的位址區域,並從這種掃描排除的那些。因此,可識別並避免這種儲存媒體之未編程、不在乎、或運行時間變更的區段,允許僅集中在具有靜態相關型樣的資料儲存區。據此,驗證程序/循環可組態成覆蓋這種儲存裝置內的依據永久區域之位址區塊的一序列。儘管不連續,在此,簽章或散列的產生仍提供序連成值之單一系列的這種區塊的有意義確認,因為結果可重複。在一些實作中,可採用僅以固定有序值的一給定系列為基之散列碼演算法,因為這些演算法總是產生給定結果,無論位址群集如何。
在本說明中,術語構件、模組、序列、及功能單元可指可以各種方式實作之任何類型的邏輯及功能程序或區塊。例如,各種區塊的功能可互相結合成任何其他數量的模組。每一個模組可實作為儲存在有形記憶體(如,隨機存取記憶體、唯讀記憶體、CD-ROM記憶體、硬碟驅動機)上之軟體程式,由中央處理單元讀取來實作本發明的功能。或者,模組可包含經由傳輸載波傳送到通用電腦或到圖
形處理硬體的編程指令。並且,可將模組實作成實作由本發明所涵蓋的功能之硬體邏輯電路。最後,可使用特殊目的指令(SIMD指令)、現場可編程邏輯陣列、或提供希望等級的性能及成本之上述的任何混合來實作模組。
如在此所揭露,可透過電腦-硬體、軟體、及/或韌體實現本發明之實施例及特徵。例如,在此揭露的系統及方法可以各種形式體現,包括,例如,如電腦之資料處理器,其還包括資料庫、數位電子電路系統、韌體、軟體、或它們的組合。此外,雖然所揭露的一些實作描述例如軟體之構件,可以硬體、軟體、及/或韌體的任何組合實作與本發明一致的系統及方法。此外,可在各種環境中實作本發明之上述特徵及其他態樣和原理。這種環境及相關應用可特別建構來履行根據本發明的各種程序及操作或者它們可包括由碼選擇性啟動或重新組態之通用電腦或計算平台來提供必要的功能。在此所揭露的程序非本質上有關於任何特定的電腦、網路、架構、環境、或其他設備,且可藉由硬體、軟體、及/或韌體的適當組合加以實作。例如,可與根據本發明之教示所撰寫的程式一起使用各種通用機器,或者建構特殊設備或系統來履行所需之方法及技術可能較為方便。
可將本文所述的方法及系統之態樣實作為編程成任何各種電路系統之功能,電路系統包括如現場可編程閘陣列(FPGA)之可編程邏輯裝置(PLD)、可編程陣列邏輯(PAL)裝置、電性可編程邏輯、記憶體裝置、及標準行動
為基的裝置,還有特殊應用積體電路。實作態樣的一些其他可能性包括:記憶體裝置、具有記憶體(如EEPROM)之微控制器、嵌入式微處理器、韌體、軟體、等等。此外,態樣可體現在具有軟體為基的電路仿真之微處理器、離散邏輯(序列及結合式)、客製裝置、模糊(神經)邏輯、量子裝置、及任何上述裝置類型的混合。可以各種構件類型提供基礎裝置技術,例如,像是互補式金氧半導體(CMOS)之金氧半導體場效電晶體(MOSFET)技術、像是射極耦合的邏輯(ECL)之雙極技術、聚合物技術(例如,矽共軛聚合物及金屬共軛聚合物-金屬結構)、混合類比及數位、及諸如此類。
也應注意到在可使用任何數量的硬體、韌體、及/或包含在各種機器可讀取或電腦可讀取媒體中之資料及/或指令的組合,以其之行為、暫存器輸送、邏輯構件、及/或其他特性來說明此所揭露之各種功能的。可包括這種格式化資料及/或指令的電腦可讀取媒體包括,但不限於,具有各種形式之非依電性儲存媒體(如光學、磁性、或半導體儲存媒體)及可透過無線、光學、或有線發信媒體來輸送這種格式化資料及/或指令的載波、或上述的任何組合。有載波輸送這種格式化資料及/或指令的範例包括,但不限於,透過網際網路及/或經由一或更多種資料輸送協定(如HTTP、FTP、SMTP、及諸如此類)的其他電腦網路之輸送(上傳、下載、電子郵件、等等)。
除非上下文清楚另有所指,在整個說明及專利範圍中
,字彙「包含」等等應以包括性含意而非排他或窮舉含意做解釋;換句話說,以「包括但不限於」的含意做解釋。使用單數或複數的字彙也分別包括複數或單數。另外,字彙「本文/在此」、「在此於下」、「於上」、「於下」、及類似意義的字彙以整體方式參照此申請案且不指此申請案的任何特定部分。當參考兩或更多個物件的列表使用字彙「或」時,那個字涵蓋該字之所有下列解釋:該列表中之任何的物件、該列表中之所有物件、及該列表中之物件的任何組合。
熟悉此技藝人士在考量過在此揭露的本發明之規範及實行後可顯見本發明之其他實施例。規範及範例應僅視為示範性,而本發明的真實範圍及精神係由上述揭露結合敘述於下之本發明的一或更多個實施例的範圍的後面的段落所指。
可實作在此所揭露的系統及方法為電腦程式產品,亦即,包含在資訊載體中(例如,在機器可讀取儲存媒體或元件中或在傳播信號中)之電腦產品,以供由資料處理設備(例如,可編程處理器、電腦、或多個電腦)執行或控制其之操作。可以任何形式的編程語言撰寫電腦程式,包括編譯及解譯的語言,且可以任何形式加以佈署,包括作為獨立程式或作為模組、構件、子常式、或適合用於計算環境中的其他單元。可佈署電腦程式以在一台電腦或在一個站或跨多個站所分佈並藉由通訊網路互連之多台電腦上執行。
可了解到上述說明意在說明且非限制本發明之範圍,其係由所附之申請專利的範圍所界定。其他實施例係在下列申請專利的範圍內。
100‧‧‧系統
110‧‧‧目標
115‧‧‧機箱機櫃殼體
115‧‧‧介面或連接器
120‧‧‧掃描設備
120A‧‧‧掃描儀器
120B‧‧‧掃描儀器
120C‧‧‧掃描儀器
120D‧‧‧掃描儀器
122‧‧‧鏈結或連結
122‧‧‧韌體
130‧‧‧計算構件
132‧‧‧顯示/GUI/瀏覽器子構件
134‧‧‧測試構件
136‧‧‧驅動器及埠/連接性相關構件
139‧‧‧其他測試掃描構件
138‧‧‧核心掃描儀器硬體
140‧‧‧乙太網路
140‧‧‧本地構件
150‧‧‧遠端網站伺服器
152‧‧‧程式庫
154‧‧‧其他軟體
156‧‧‧使用者介面
230‧‧‧介面
240‧‧‧控制邏輯
310A‧‧‧測試安裝
310B‧‧‧測試安裝
310C‧‧‧測試安裝
315‧‧‧簽章
320‧‧‧網路
330A‧‧‧待驗證電路
330B‧‧‧待驗證電路
340‧‧‧程式庫
350A‧‧‧目標電路
350B‧‧‧目標電路
350C‧‧‧目標電路
350D‧‧‧目標電路
360A‧‧‧連結及埠
360B‧‧‧連結及埠
360C‧‧‧連結及埠
370‧‧‧本地用戶
480‧‧‧行動裝置
570‧‧‧積體處理器
580‧‧‧記憶體
585‧‧‧USB插頭
590‧‧‧記憶體
710‧‧‧暫存器
對附圖做參照,圖中具有相同參考標示的元件代表全部圖中的類似元件且其中:第1圖繪示在根據一實作的示範驗證安裝掛接中的各種構件之基本系統。
第2A及2B圖為分別根據某些實作之電路掃描系統及掃描儀器之區塊圖。
第3圖為繪示根據某些實作之各種示範元件及網路連結的區塊圖,其包括目標除錯埠及用戶伺服器連結。
第4圖為根據某一實作之一個不同的遠端掃描系統及儀器的圖,其顯示若干介面置換之一。
第5A圖為根據某些實作的示範本地分明計算元件之區塊圖,其顯示至掃描儀器的若干標準埠介面之一。
第5B圖為根據某些實作的示範本地獨立型掃描儀器之區塊圖,其顯示儀器中用於履行掃描的功能元件。
第5C圖為根據一實作的一種本地快閃驅動器形式因子掃描儀器的區塊圖。
第6圖為繪示根據某些實作在伺服器層級、儀器層級、及目標層級連同層級互動之示範掃描處理的圖。
第7圖為顯示根據某些實作之示範韌體抽取及時序特
徵的示意圖。
120A、120B、120C、120D‧‧‧掃描儀器
310A、310B、310C‧‧‧測試安裝
150‧‧‧遠端網站伺服器
315‧‧‧簽章
320‧‧‧網路
330‧‧‧受驗證電路
340‧‧‧程式庫
350A、350B、350C、350D‧‧‧目標電路
360A、360B、360C‧‧‧連結及埠
360D‧‧‧CPU非JTAG診斷埠
370‧‧‧本地用戶
Claims (53)
- 一種遠端驗證在運行的目標上之記憶體內容的方法,包含:將至少一個掃描儀器與包括該運行的目標之本地微電腦系統的一或更多個診斷除錯埠關聯;經由該至少一個掃描儀器,經由透過該一或更多個診斷除錯埠的與該運行的目標關聯的至少一個儲存元件之存取,履行不同於邊界掃描程序之掃描程序,以在該運行的目標上操作的應用之操作期間獲得系統資料,該掃描程序包括:暫時止住在該運行的目標上操作之該(些)應用;及從不同於邊界掃描程序之該掃描程序中的該至少一個儲存元件讀取關於該(些)應用的內容以獲得測試資料;傳送有關於該測試資料的資訊至遠端站;及在該遠端站驗證該資訊以確認希望的系統組態及/或操作。
- 如申請專利範圍第1項所述之方法,其中該至少一個儲存元件包括非依電性儲存裝置。
- 如申請專利範圍第1項所述之方法,其中該至少一個儲存元件包括依電性儲存裝置。
- 如申請專利範圍第3項所述之方法,進一步包含驗證包括儲存在該依電性儲存裝置中的可執行指令之資訊。
- 如申請專利範圍第1項所述之方法,其中該掃描程序進一步包括累積有關於該測試資料的資訊作為在該些暫時止住期間所抽取之複數片段。
- 如申請專利範圍第1項所述之方法,其中該暫時止住該(些)運行的應用包括:命令該運行的目標在指令之間停止該(些)運行的應用之執行;讀取並保存當前的目標上下文;收集儲存在該至少一個儲存元件內的希望位置之資料值;復原該些當前的目標上下文;及開始該(些)運行的應用之執行。
- 如申請專利範圍第1項所述之方法,進一步包含:在該至少一掃描儀器,產生經由該掃描程序所累積的測試資料之一或更多個簽章,其中傳送該些簽章至該遠端站。
- 如申請專利範圍第1項所述之方法,其中藉由和遠端下載的參考型樣相比,本地驗證從該目標所掃描的資訊來確認希望的系統組態或操作。
- 如申請專利範圍第1項所述之方法,其中在該至少一個掃描儀器處理該些複數片段以提供該些經掃描的微電腦元件之獨特的簽章表示。
- 如申請專利範圍第9項所述之方法,其中接著傳送該些複數片段至遠端位置以與正確的表示作比較來確認 希望的電路組態/操作。
- 如申請專利範圍第9項所述之方法,其中從該遠端位置傳送預期的參考型樣,並將其與該測試資料或簽章本地比較來確認希望的電路組態/操作。
- 如申請專利範圍第9項所述之方法,其中接著傳送該獨特的簽章表示至遠端位置以與正確的表示作比較來確認希望的電路組態/操作。
- 如申請專利範圍第9項所述之方法,其中從該遠端位置傳送經抽取的資料片段之該預期的正確簽章表示,並將其與該獨特簽章本地比較來確認希望的電路組態/操作。
- 如申請專利範圍第1項所述之方法,進一步包含存取有關於一或更多個電路安裝的資訊之程式庫來獲得資料或測試序列以驗證待測試之該電路。
- 如申請專利範圍第1項所述之方法,進一步包含存取有關於多重電路安裝的資訊之程式庫來獲得待測試之該電路的正確驗證簽章。
- 如申請專利範圍第1項所述之方法,進一步包含:直接操作性連接多重掃描儀器至網路;及透過網路控制該些多重掃描儀器;其中該些掃描儀器具有額外介面,其與待驗證之多重電路的該診斷除錯埠通訊。
- 如申請專利範圍第1項所述之方法,進一步包含:各藉由專用埠直接操作性連接多重掃描儀器至本地用 戶電腦;及經由該本地用戶電腦控制該些多重掃描儀器;其中該些多重掃描儀器的一或更多者各具有一額外的介面,致能與待驗證之多重電路的該診斷除錯埠通訊。
- 如申請專利範圍第1項所述之方法,其中該至少一個掃描儀器包括具有經由標準埠連接到多重其他掃描儀器之專用埠的本地用戶電腦,並操作性連接到該網路以透過該網路實現對該些掃描儀器的通訊可見性。
- 如申請專利範圍第1項所述之方法,其中該待驗證的目標包含:一或更多個待測試之電路;以電路本地組態之微電腦;及於該一或更多個電路中並可由該微電腦讀取之不受信任的韌體及碼型樣;其中該掃描儀器連接到該微電腦之診斷除錯埠以致能在運行期間最小破壞韌體存取。
- 如申請專利範圍第19項所述之方法,進一步包含抽取並驗證來自含有不受信任的韌體碼及該些碼型樣之該一或更多個電路的韌體碼及/或型樣的一或兩者,其中組態該一或更多個電路而無用於因應及/或參與該抽取/驗證或與有關於該抽取/驗證的任何其他處理相關的電路系統或命令。
- 如申請專利範圍第1項所述之方法,進一步包含,在其中該本地微電腦系統包括將可執行區段從快閃記 憶體或其他來源轉移到RAM之目標CPU,且其中該些區段的特徵在於具有已建立的狀態並在該整個抽取序列的持續期間維持完全穩定於該些已建立的狀態中之系統中,集合地橫跨所有遞增抽取步驟。
- 如申請專利範圍第1項所述之方法,其中該掃描儀器調適成經由不可鏈組態之診斷除錯埠與該目標的微電腦通訊。
- 如申請專利範圍第1項所述之方法,其中該掃描儀器調適成經由連接作為到單一儀器測試埠之鏈的診斷除錯埠與複數目標及在該些目標內的關聯電路微電腦通訊。
- 如申請專利範圍第23項所述之方法,其中該掃描儀器組態成經由實質上遵守JTAG IEEE-1149.1、IEEE-1149.4、IEEE-1149.5、IEEE-1149.6、或IEEE-1149.7或衍生的協定之診斷除錯埠與該(些)目標微電腦通訊,致能這種微電腦之外部測試操作。
- 如申請專利範圍第1項所述之方法,其中該掃描儀器組態成經由遵守非JTAG序列協定之診斷除錯埠與多重目標微電腦通訊,致能這種微電腦之外部測試操作。
- 如申請專利範圍第1項所述之方法,其中一或更多個掃描儀器組態成經由鏈連接及/或非鏈連接的除錯埠支援目標內的微電腦之混合,其中每一個儀器分開連接到該網路環境。
- 如申請專利範圍第1項所述之方法,其中該掃描儀器組態成: 在該運行目標中操作診斷除錯埠;經由該診斷除錯埠抽取儲存在該目標的電路系統內之記憶體片段;當該(些)運行的應用被暫時止住時,命令該微電腦返還該些記憶體片段;及命令該微電腦繼續該(些)運行的應用之執行;其中抽取並收集該些記憶體片段而不實質變更該微電腦之正常定序,除了在當該(些)運行的應用被暫時止住時之停止時間間隔中。
- 如申請專利範圍第27項所述之方法,其中該些記憶體片段包括程式資料及/或相關碼。
- 如申請專利範圍第27項所述之方法,其中該掃描儀器組態成經由該網路傳送該些收集到的碼片段到遠端伺服器。
- 如申請專利範圍第27項所述之方法,其中該掃描儀器組態成本地比較收集到的碼片段與遠端下載的參考型樣。
- 如申請專利範圍第27項所述之方法,其中該掃描儀器組態成根據預定的演算法處理/計算從這種抽取收集到的韌體碼衍生出來的簽章表示,並經由該網路傳達這種簽章到該遠端伺服器。
- 如申請專利範圍第27項所述之方法,其中該掃描儀器組態成本地比較該已產生的簽章與遠端下載的參考型樣。
- 如申請專利範圍第1項所述之方法,進一步包含藉由在該遠端站的伺服器管理該抽取/收集,包括:開始抽取包括韌體之測試資料的操作,及於該掃描儀器與該伺服器之間,傳送與該韌體關聯之資訊,其包括該抽取出的韌體之代表性簽章。
- 如申請專利範圍第1項所述之方法,進一步包含藉由在該遠端站的伺服器管理該抽取/收集,包括:開始抽取包括韌體之測試資料的操作;及履行這種資料對其之希望的組態或操作之本地驗證。
- 如申請專利範圍第1項所述之方法,進一步包含藉由遠端伺服器管理該掃描儀器,其包括檢測電力狀態及/或所連電路之狀態。
- 如申請專利範圍第1項所述之方法,進一步包含藉由遠端伺服器管理該掃描儀器,其包括檢測附接的電路是否安裝在可操作的安裝中,以實現保持活動狀態檢查,致能禁能或竄改該些電路之無授權嘗試的感測。
- 如申請專利範圍第1項所述之方法,進一步包含藉由遠端伺服器管理該掃描儀器,其包括履行JTAG基礎架構掃描來檢測主體電路之該可操作存在及/或安裝狀態。
- 如申請專利範圍第1項所述之方法,進一步包含藉由遠端伺服器管理該掃描儀器,其包括支援施加至非該些診斷除錯埠的裝置及電路之共同JTAG邊界掃描功能,其中該些裝置或該些電路接線在該本地微電腦系統的連結鏈之中。
- 如申請專利範圍第1項所述之方法,進一步包含:經由由遠端伺服器所提供之隨機值或時間戳型樣的內含物來修改該測試資料;計算從該已修改的測試資料所衍生而來的簽章表示碼;及使用預定的演算法來產生該簽章表示碼的每一實例之所得結果的可驗證變異。
- 如申請專利範圍第39項所述之方法,其中該測試資料包括抽取出的韌體碼。
- 如申請專利範圍第1項所述之方法,其中由其中設有該電路之裝配內的安裝/設在被驗證之該電路上的電子構件提供該掃描程序的至少部分。
- 如申請專利範圍第1項所述之方法,其中由安裝在與該本地微電腦系統關聯之用戶電腦上或與該用戶電腦一起設置之電子裝配提供該掃描程序的至少部分,其中該電子裝配提供與網路環境之通訊鏈結及該掃描儀器的遠端可見性。
- 一種組態成驗證在運行的目標上之記憶體內容的掃描儀器,包含:組態成與包括該運行的目標之本地微電腦系統的一或更多個診斷除錯埠連結之一或更多個介面;組態成透過該一或更多個介面履行與該運行的目標關聯的至少一個儲存元件之不同於邊界掃描程序的掃描程序之一或更多個構件,以在該運行的目標上操作的應用之操 作期間獲得系統資料,該掃描程序包括:暫時止住在該運行的目標上操作之該(些)應用;及從不同於邊界掃描程序之該掃描程序中的該至少一個儲存元件讀取關於該(些)應用的內容以獲得測試資料;及傳送該資訊或其衍生的簽章表示至遠端站;其中驗證該傳送的資訊以確認該目標之希望的系統組態或操作。
- 如申請專利範圍第43項所述之掃描儀器,其中該至少一個儲存元件包括非依電性儲存裝置。
- 如申請專利範圍第43項所述之掃描儀器,其中該至少一個儲存元件包括依電性儲存裝置。
- 如申請專利範圍第43項所述之掃描儀器,其中該掃描程序進一步包括累積有關於該測試資料的資訊作為在該些暫時止住期間所抽取之複數片段。
- 如申請專利範圍第43項所述之掃描儀器,其中該掃描儀器組態成,經由與該遠端站之通訊,驗證該資訊以確認該目標之希望的系統組態或操作。
- 一種驗證在運行的目標上之記憶體內容的系統,包含:掃描儀器,其包括:組態成與包括該運行的目標之本地微電腦系統的一或更多個診斷除錯埠連結之一或更多個介面; 組態成透過該一或更多個介面履行與該運行的目標關聯的至少一個儲存元件之不同於邊界掃描程序的掃描程序之一或更多個構件,以獲得在該運行的目標上操作的應用之操作期間的系統資料,該掃描程序包括:暫時止住在該運行的目標上操作之該(些)運行應用;及從不同於邊界掃描程序之該掃描程序中的該至少一個儲存元件讀取關於該(些)應用的內容以獲得測試資料;及傳送該資訊或其衍生的簽章表示至遠端位置;及經由網路耦合到該掃描儀器並組態成驗證該資訊以確認該目標之希望的系統組態或操作之遠端計算構件。
- 如申請專利範圍第48項所述之系統,其中該至少一個儲存元件包括非依電性儲存裝置。
- 如申請專利範圍第48項所述之系統,其中該至少一個儲存元件包括依電性儲存裝置。
- 如申請專利範圍第48項所述之系統,其中該掃描程序進一步包括累積有關於該測試資料的資訊作為在該些暫時止住期間所抽取之複數片段。
- 一種驗證在運行的目標上之記憶體內容的方法,包含:將至少一個掃描儀器與包括該運行的目標之本地微電腦系統的一或更多個診斷除錯埠關聯;經由該至少一個掃描儀器,經由透過該一或更多個診 斷除錯埠的與該運行的目標關聯的至少一個儲存元件之存取,履行不同於邊界掃描程序之掃描程序,以獲得在該運行的目標上操作的應用之操作期間的系統資料,該掃描程序包括:暫時止住在該運行的目標上操作之該(些)應用;及從不同於邊界掃描程序之該掃描程序中的該至少一個儲存元件讀取關於該(些)應用的內容以獲得測試資料;從遠端位置傳送有關於與該測試資料相關的預期參考型樣之資訊到該本地微電腦系統;及本地比較該資訊與該測試資料以確認希望的電路組態及/或操作。
- 如申請專利範圍第52項所述之方法,進一步包含:在該至少一掃描儀器,產生經由該掃描程序所累積的該測試資料之一或更多個簽章,其中比較該些簽章及從該遠端位置所傳送的該資訊,其中從該遠端位置所傳送的該資訊包含相應於該預期的參考型樣或該測試資料的簽章。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161484587P | 2011-05-10 | 2011-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201312575A TW201312575A (zh) | 2013-03-16 |
TWI557746B true TWI557746B (zh) | 2016-11-11 |
Family
ID=47139509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101113963A TWI557746B (zh) | 2011-05-10 | 2012-04-19 | 實施微電腦為基的電路之內容驗證的系統及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8700957B2 (zh) |
EP (1) | EP2707735B1 (zh) |
CA (1) | CA2835093C (zh) |
ES (1) | ES2805334T3 (zh) |
PL (1) | PL2707735T3 (zh) |
TW (1) | TWI557746B (zh) |
WO (1) | WO2012154398A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8661303B2 (en) * | 2011-06-23 | 2014-02-25 | Texas Instruments Incorporated | Mechanism to instantiate a JTAG debugger in a browser |
US9703950B2 (en) | 2012-03-30 | 2017-07-11 | Irdeto B.V. | Method and system for preventing and detecting security threats |
US8671319B2 (en) * | 2012-06-19 | 2014-03-11 | Texas Instruments Incorporated | Dynamic device identification for making a JTAG debug connection with a internet browser |
US8656236B2 (en) * | 2012-06-20 | 2014-02-18 | Hewlett-Packard Development Company, L.P. | Remote boundary scanning |
US8880948B2 (en) * | 2012-06-28 | 2014-11-04 | Hughes Network Systems Llc | Terminal diagnosis self correction method and system |
US9197315B2 (en) | 2012-06-28 | 2015-11-24 | Hughes Network Systems, Llc | Peer group diagnosis detection method and system |
US8923753B2 (en) | 2012-06-28 | 2014-12-30 | Hughes Network Systems, Llc | Problem signature terminal diagnosis method and system |
US8954000B2 (en) | 2012-11-01 | 2015-02-10 | Hughes Network Systems, Llc | Real-time signal validation method and system |
EP2972877B1 (en) * | 2013-03-15 | 2021-06-16 | Power Fingerprinting Inc. | Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems |
US9749067B2 (en) * | 2015-01-06 | 2017-08-29 | Hughes Network Systems, Llc | Systems and methods for satellite noise and interference calibration using terminal measurements |
US10091079B2 (en) * | 2015-05-06 | 2018-10-02 | Marvell World Trade Ltd. | Apparatus and method for remotely testing memory-mapped devices of a system-on-chip via an ethernet interface |
US9268938B1 (en) | 2015-05-22 | 2016-02-23 | Power Fingerprinting Inc. | Systems, methods, and apparatuses for intrusion detection and analytics using power characteristics such as side-channel information collection |
CN106445544A (zh) * | 2016-10-08 | 2017-02-22 | 中国科学院微电子研究所 | 一种对可编程逻辑器件进行配置或更新的装置和方法 |
US10268170B2 (en) | 2017-01-03 | 2019-04-23 | General Electric Company | Validation of control command in substantially real time for industrial asset control system threat detection |
JP7249968B2 (ja) * | 2020-03-09 | 2023-03-31 | 株式会社東芝 | 情報処理装置およびストレージ |
CN114116366A (zh) * | 2020-08-26 | 2022-03-01 | 宸展光电(厦门)股份有限公司 | 一种检测存储器安装状态的方法、装置及*** |
US20220187788A1 (en) * | 2020-12-12 | 2022-06-16 | Microchip Technology Incorporated | Automatic Assignment of Device Debug Communication Pins |
EP4279930A1 (en) * | 2022-05-18 | 2023-11-22 | B/E Aerospace, Inc. | Boundary scan for real-time status monitoring |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
US20040216061A1 (en) * | 2003-04-28 | 2004-10-28 | International Business Machines Corporation | Embeddable method and apparatus for functional pattern testing of repeatable program instruction-driven logic circuits via signal signature generation |
US20080034334A1 (en) * | 2004-02-17 | 2008-02-07 | Oussama Laouamri | Integrated Circuit Chip with Communication Means Enabling Remote Control of Testing Means of Ip Cores of the Integrated Circuit |
US20090070887A1 (en) * | 2007-09-06 | 2009-03-12 | Knowles Gareth J | Integrated laser Auto-Destruct System for Electronic Components |
US20090177830A1 (en) * | 2002-11-18 | 2009-07-09 | Arm Limited | Handling interrupts in data processing |
US20090210763A1 (en) * | 2008-02-16 | 2009-08-20 | International Business Machines Corporation | Automated System and Processing for Expedient Diagnosis of Broken Shift Registers Latch Chains Using JTAG |
US20090307546A1 (en) * | 2005-06-28 | 2009-12-10 | David Dunn | Providing trusted access to a jtag scan interface in a microprocessor |
US20100180169A1 (en) * | 2009-01-15 | 2010-07-15 | La Fever George B | Systems and methods of implementing remote boundary scan features |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5070448A (en) | 1982-12-09 | 1991-12-03 | International Business Machines Coproration | Method for testing a microprogrammed input/output interface using steal techniques |
US20040250150A1 (en) | 1987-06-02 | 2004-12-09 | Swoboda Gary L. | Devices, systems and methods for mode driven stops notice |
US5325368A (en) | 1991-11-27 | 1994-06-28 | Ncr Corporation | JTAG component description via nonvolatile memory |
US5621651A (en) | 1994-03-09 | 1997-04-15 | Texas Instruments Incorporated | Emulation devices, systems and methods with distributed control of test interfaces in clock domains |
US5488688A (en) | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
US5558014A (en) | 1995-04-05 | 1996-09-24 | Lindemann Recycling Equipment, Inc. | Method and apparatus for baling loose materials |
US5706297A (en) * | 1995-08-24 | 1998-01-06 | Unisys Corporation | System for adapting maintenance operations to JTAG and non-JTAG modules |
US5799022A (en) * | 1996-07-01 | 1998-08-25 | Sun Microsystems, Inc. | Faulty module location in a fault tolerant computer system |
GB9626401D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
US6314530B1 (en) * | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6393591B1 (en) | 1999-02-12 | 2002-05-21 | Xilinx, Inc. | Method for remotely testing microelectronic device over the internet |
US6766305B1 (en) | 1999-03-12 | 2004-07-20 | Curl Corporation | Licensing system and method for freely distributed information |
US6578167B2 (en) | 1999-08-06 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Digital Component test Apparatus, an apparatus for testing electronic assemblies and a method for remotely testing a peripheral device having an electronic assembly |
US6931572B1 (en) * | 1999-11-30 | 2005-08-16 | Synplicity, Inc. | Design instrumentation circuitry |
GB9930145D0 (en) | 1999-12-22 | 2000-02-09 | Kean Thomas A | Method and apparatus for secure configuration of a field programmable gate array |
IES20000160A2 (en) | 2000-02-29 | 2001-10-17 | Internat Test Technologies | A Method and system for testing microprocessor-based boards in a manufacturing environment |
US7095718B1 (en) | 2000-04-29 | 2006-08-22 | Hewlett-Packard Development Company, L.P. | Client/server scan software architecture |
WO2002005283A1 (en) | 2000-07-07 | 2002-01-17 | Mosaid Technologies Incorporated | Method and apparatus for synchronization of row and column access operations |
US7191373B2 (en) | 2001-03-01 | 2007-03-13 | Syntest Technologies, Inc. | Method and apparatus for diagnosing failures in an integrated circuit using design-for-debug (DFD) techniques |
US6721687B2 (en) | 2001-05-30 | 2004-04-13 | Texas Instruments Incorporated | Electronic device evaluation system |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
FR2831969B1 (fr) | 2001-11-08 | 2004-01-16 | Schneider Automation | Systeme de telechargement et de telemaintenance d'une carte electronique |
US7047462B2 (en) * | 2002-01-04 | 2006-05-16 | Hewlett-Packard Development Company, Lp. | Method and apparatus for providing JTAG functionality in a remote server management controller |
US20030217306A1 (en) | 2002-05-17 | 2003-11-20 | Harthcock Jerry D. | Self-programmable microcomputer and method of remotely programming same |
US7089467B2 (en) | 2002-08-21 | 2006-08-08 | Freescale Semiconductor, Inc. | Asynchronous debug interface |
US7017081B2 (en) | 2002-09-27 | 2006-03-21 | Lucent Technologies Inc. | Methods and systems for remotely controlling a test access port of a target device |
US7366955B2 (en) | 2003-01-29 | 2008-04-29 | Sun Microsystems, Inc. | Automated test execution framework with central management |
US20040158784A1 (en) | 2003-02-06 | 2004-08-12 | Transwitch Corporation | Microprocessor based self-diagnostic port |
US7463652B2 (en) | 2003-06-21 | 2008-12-09 | Avaya, Inc. | System and method for notification of internet users about faults detected on an IP network |
US7539900B1 (en) | 2003-07-29 | 2009-05-26 | Altera Corporation | Embedded microprocessor for integrated circuit testing and debugging |
US7376917B1 (en) | 2003-08-25 | 2008-05-20 | Xilinx, Inc. | Client-server semiconductor verification system |
US7543275B2 (en) | 2004-01-29 | 2009-06-02 | Sun Microsystems, Inc. | Mechanism for executing test suites written for different harnesses under one test execution harness |
US7287190B2 (en) | 2004-01-29 | 2007-10-23 | Sun Microsystems, Inc. | Simultaneous execution of test suites on different platforms |
JP2005261089A (ja) | 2004-03-11 | 2005-09-22 | Zexel Valeo Climate Control Corp | ブラシレスモータ |
US20050216895A1 (en) | 2004-03-23 | 2005-09-29 | Tran Hieu T | Method and apparatus for remote debugging of kernel and application software |
US7188330B2 (en) | 2004-05-18 | 2007-03-06 | Lsi Logic Corporation | Handling of unused coreware with embedded boundary scan chains to avoid the need of a boundary scan synthesis tool during custom instance creation |
US7558966B2 (en) | 2004-06-09 | 2009-07-07 | Intel Corporation | Notifying remote administrator of platform integrity determination |
US7295618B2 (en) * | 2004-06-16 | 2007-11-13 | International Business Machines Corporation | Automatic adaptive equalization method and system for high-speed serial transmission link |
KR100626663B1 (ko) | 2004-12-14 | 2006-09-25 | 한국전자통신연구원 | 인터넷 전화용 시스템온칩 개발 및 검증 장치 |
US7442583B2 (en) | 2004-12-17 | 2008-10-28 | International Business Machines Corporation | Using electrically programmable fuses to hide architecture, prevent reverse engineering, and make a device inoperable |
US7251763B2 (en) | 2005-03-07 | 2007-07-31 | Motorola, Inc. | Boundary scan testing system |
US7237161B2 (en) | 2005-03-30 | 2007-06-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Remote integrated circuit testing method and apparatus |
US7739517B2 (en) | 2005-03-31 | 2010-06-15 | Intel Corporation | Hardware-based authentication of a software program |
US7429915B2 (en) | 2005-04-20 | 2008-09-30 | Honeywell International Inc. | System and method for detecting unauthorized access to electronic equipment or components |
US8508607B2 (en) | 2005-09-06 | 2013-08-13 | Its-7 | Method and system for a programmable camera for configurable security and surveillance systems |
US20070291906A1 (en) | 2006-06-15 | 2007-12-20 | Motorola, Inc. | A Test System and Method of Operation |
CN101529426A (zh) | 2006-10-16 | 2009-09-09 | 汤姆逊许可公司 | 现场可编程门阵列(fpga)的容错***内编程 |
US20080098380A1 (en) | 2006-10-18 | 2008-04-24 | Toby Klusmeyer | System, method, and device for updating programmable electronic equipment with a transport device from a deployment server via the internet or other communication medium |
US7801050B2 (en) | 2006-12-12 | 2010-09-21 | Cisco Technology, Inc. | Remote testing of an electronic device via network connection |
KR101432718B1 (ko) | 2008-01-07 | 2014-08-21 | 삼성디스플레이 주식회사 | 타이밍 콘트롤러, 그의 에러 검출 방법 및 이를 구비하는표시 장치 |
US7979759B2 (en) | 2009-01-08 | 2011-07-12 | International Business Machines Corporation | Test and bring-up of an enhanced cascade interconnect memory system |
-
2012
- 2012-04-19 TW TW101113963A patent/TWI557746B/zh active
- 2012-04-24 ES ES12782825T patent/ES2805334T3/es active Active
- 2012-04-24 WO PCT/US2012/034735 patent/WO2012154398A1/en active Application Filing
- 2012-04-24 US US13/454,165 patent/US8700957B2/en active Active
- 2012-04-24 PL PL12782825T patent/PL2707735T3/pl unknown
- 2012-04-24 CA CA2835093A patent/CA2835093C/en active Active
- 2012-04-24 EP EP12782825.9A patent/EP2707735B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
US20090177830A1 (en) * | 2002-11-18 | 2009-07-09 | Arm Limited | Handling interrupts in data processing |
US20040216061A1 (en) * | 2003-04-28 | 2004-10-28 | International Business Machines Corporation | Embeddable method and apparatus for functional pattern testing of repeatable program instruction-driven logic circuits via signal signature generation |
US20080034334A1 (en) * | 2004-02-17 | 2008-02-07 | Oussama Laouamri | Integrated Circuit Chip with Communication Means Enabling Remote Control of Testing Means of Ip Cores of the Integrated Circuit |
US20090307546A1 (en) * | 2005-06-28 | 2009-12-10 | David Dunn | Providing trusted access to a jtag scan interface in a microprocessor |
US20090070887A1 (en) * | 2007-09-06 | 2009-03-12 | Knowles Gareth J | Integrated laser Auto-Destruct System for Electronic Components |
US20090210763A1 (en) * | 2008-02-16 | 2009-08-20 | International Business Machines Corporation | Automated System and Processing for Expedient Diagnosis of Broken Shift Registers Latch Chains Using JTAG |
US20100180169A1 (en) * | 2009-01-15 | 2010-07-15 | La Fever George B | Systems and methods of implementing remote boundary scan features |
Non-Patent Citations (2)
Title |
---|
Anonymous: "Joint Test Action Group - Wikipedia, the free encyclopedia", , 18 December 2010 (2010-12-18), http://en.wikipedia.org/w/index.php? title=Joint Test Action_Group&oldid=403093499 * |
Lyle Pittroff: "JTAG: Tutorial: The Role of JTAG in system debug & test throughout the embedded system development lifecycle", April 2010, http://boundaryscan.blogspot.de/2010/04/tutorial- role-of-stag-insystem-debug.html * |
Also Published As
Publication number | Publication date |
---|---|
US20120331348A1 (en) | 2012-12-27 |
EP2707735A1 (en) | 2014-03-19 |
WO2012154398A1 (en) | 2012-11-15 |
PL2707735T3 (pl) | 2020-09-21 |
CA2835093A1 (en) | 2012-11-15 |
EP2707735A4 (en) | 2014-10-22 |
ES2805334T3 (es) | 2021-02-11 |
US8700957B2 (en) | 2014-04-15 |
TW201312575A (zh) | 2013-03-16 |
EP2707735B1 (en) | 2020-04-15 |
CA2835093C (en) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI557746B (zh) | 實施微電腦為基的電路之內容驗證的系統及方法 | |
US9747192B2 (en) | Automated operating system installation on multiple drives | |
CA2807323C (en) | Integrated circuit with programmable logic analyzer, enhanced analyzing and debugging capabilities and method | |
JP6171386B2 (ja) | コントローラ、情報処理装置およびプログラム | |
CN101853173A (zh) | 一种分布式***的可编程逻辑器件的软件升级方法和设备 | |
US20140236997A1 (en) | Controller, information processing apparatus, and recording medium | |
CN107678949B (zh) | 实现嵌入式设备不同通信方式的自动化测试方法 | |
Grokhotkov | ESP8266 arduino core documentation | |
BR112013004233B1 (pt) | Circuito integrado incluindo um analisador de lógica programável configurável para análise e depuração | |
US9542304B1 (en) | Automated operating system installation | |
CN104125504B (zh) | 一种基于持续集成的部署方法、装置及*** | |
CN107992407A (zh) | 使用u盘对安卓终端设备调试的***及方法 | |
CN108287780A (zh) | 一种监控服务器cpld状态的装置及方法 | |
CN110196726B (zh) | 一种基于cpu+cpld实现fpga程序远程升级加载的方法 | |
US9069895B2 (en) | Analyzing concurrent debugging sessions | |
CN105224453A (zh) | ***兼容性的自动测试方法及装置 | |
KR100880592B1 (ko) | 무선 프로그램 다운로더 및 무선 프로그램 다운로더 일체형임베디드 장치 | |
WO2020049481A2 (en) | Wifi programmer and debugger for microcontroller and method thereof | |
US10216525B1 (en) | Virtual disk carousel | |
US20130346815A1 (en) | Remote boundary scanning | |
JP2020101889A (ja) | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 | |
CN116562203A (zh) | 一种调试***中数据的处理方法、装置、设备及存储介质 | |
CN118426808A (zh) | 一种fpga程序远程升级方法及设备 | |
Challa et al. | CAN based Boot Loader using PSoC 5 | |
JP2012168693A (ja) | モニタシステム、モニタ方法、マイクロコンピュータ |