欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式軟件調(diào)試世界正在發(fā)生變化

PCB線路板打樣 ? 來源:LONG ? 2019-08-13 16:33 ? 次閱讀

嵌入式系統(tǒng)縮小到我們現(xiàn)在在單個芯片上擁有完整系統(tǒng)的尺寸。您在上一個項目中成功使用的許多調(diào)試技術(shù)可能無法適應新技術(shù)。您不能再依靠可靠的邏輯分析儀或在線仿真器(ICE)來公開您最新設計的所有內(nèi)部工作原理。高時鐘頻率,隱藏的探測點和實時軟件只是可能破壞您的調(diào)試工作并讓您撓頭的一些問題。但是,您可以調(diào)整目標嵌入式系統(tǒng)的設計,以簡化調(diào)試工作。盡早參與項目并提出可簡化調(diào)試的硬件或軟件結(jié)構(gòu)。您的建議可能會影響內(nèi)存配置,I/O要求,處理器速度,機械布局,處理器架構(gòu)和實時規(guī)范的設計。您的早期參與將確保您不會遇到笨拙的調(diào)試設置或資源太少而無法滿足您的日程安排。

例如,應用程序存儲的類型會對調(diào)試產(chǎn)生深遠的影響。如果目標應用程序代碼駐留在ROM中,請確??梢蕴鎿Q等效的讀/寫內(nèi)存進行調(diào)試。否則,您必須為每個程序更新創(chuàng)建ROM版本。此外,除非您的處理器具有片上調(diào)試功能,否則不能在基于ROM的代碼中引入斷點。許多最近的項目選擇閃存用于應用程序存儲,因為它易于更新以進行調(diào)試,并且具有簡單且可能遠程的現(xiàn)場修訂的額外好處。

更快的處理器,似乎是每個新項目的規(guī)范,也創(chuàng)建調(diào)試噩夢。當總線速度接近100 MHz時,您將失去仿真器和邏輯分析儀的實時狀態(tài)顯示功能。即使在邊緣速度區(qū)域,調(diào)試連接也可以改變電路阻抗特性,足以引入自己的錯誤。在選擇最新和最好的處理器之前,確保您的項目確實需要額外的速度。

隱藏的引腳

即使有合理的時鐘頻率,目標硬件的物理接口也會令人沮喪調(diào)試工作。封裝引腳可能會阻止探測,因為它們太精細或者隱藏在芯片下面。大規(guī)模ASIC甚至可能無法將所需的總線信號帶到外部引腳。這些情況可能會強制您創(chuàng)建與生產(chǎn)單元不匹配的離散組件調(diào)試目標。然后,您可以花費數(shù)小時追逐甚至可能不會出現(xiàn)在生產(chǎn)硬件中的錯誤。機械接口問題的另一個解決方案是購買轉(zhuǎn)換器件,將芯片引腳分配轉(zhuǎn)換為與仿真器或邏輯分析器探頭兼容的東西。這些易碎的適配器可能會為目標硬件調(diào)試預算增加1000美元。

處理器架構(gòu)也會影響嵌入式系統(tǒng)調(diào)試。例如,完全在片上高速緩存中執(zhí)行的程序循環(huán)不會出現(xiàn)在外部總線引腳上。是的,您可以對處理器進行編程以顯示外部總線上的所有活動,但是會丟失緩存性能增強功能。 RISC處理器存在類似的調(diào)試問題,包括用于并行指令執(zhí)行的多個執(zhí)行單元。如果您的軟件設計依賴于這些處理器功能才能正常運行,則無法看到所有處理器活動。

除硬件外,選擇最佳開發(fā)和操作系統(tǒng)軟件以節(jié)省調(diào)試時間。您最難忘的調(diào)試問題可能包括實時軟件問題。異步中斷,多處理器或多任務操作系統(tǒng)可以隱藏無法檢測的交互錯誤。尋找可以處理系統(tǒng)面臨的實時問題的調(diào)試工具和操作軟件。

您最常使用的調(diào)試軟件工具 - 主機調(diào)試器 - 為您提供目標系統(tǒng)代碼可見性和執(zhí)行控制。主機調(diào)試器將大部分調(diào)試軟件集中在通用桌面PC上,并具有到目標的通信通道。您可以在顯示寄存器,堆棧內(nèi)容和CPU狀態(tài)時啟動,停止,單步或斷點代碼。通過編譯器提供的程序信息,您可以訪問源代碼,變量名稱和位置。一個好的調(diào)試器應該能夠在幾個調(diào)試環(huán)境之間切換,例如目標監(jiān)視器,ICE,指令模擬器和片上調(diào)試。調(diào)試器供應商包括Mentor Graphics,Green Hills軟件,軟件開發(fā)系統(tǒng)和Wind River Systems。

您的編譯器也會影響調(diào)試效率。如果編譯器優(yōu)化代碼,則源文件不一定與目標代碼匹配,因為編譯器可以重新排列指令或刪除不必要的代碼。您可以關(guān)閉優(yōu)化以進行調(diào)試,但您的系統(tǒng)性能 - 以及可能的可見錯誤 - 將會發(fā)生變化。當然,答案是編寫完美優(yōu)化的代碼,以便您不需要編譯器的幫助。

線程挑戰(zhàn)調(diào)試

實時操作系統(tǒng)(RTOS)揭示了一個新的調(diào)試挑戰(zhàn)的世界。您調(diào)試共享重入代碼的多個程序線程。您必須能夠暫停或單步執(zhí)行一個線程并讀取寄存器而不停止其他線程。但要注意,這個專長會導致其他線程的性能受到影響,因為斷點會調(diào)用處理程序來確定活動線程。異步中斷和消息傳遞也會在實時調(diào)試問題列表中排名很高。

目標硬件和軟件并不是影響調(diào)試計劃和預算的唯一因素。您的調(diào)試配置定義了所需的設備,并確定何時可以開始使用。例如,如果您懷疑目標硬件有延遲,則可能需要使用指令集模擬器開始調(diào)試。模擬器是大多數(shù)工具供應商提供的低成本選項,它們應該與您用于實際硬件調(diào)試的調(diào)試器一起使用(圖1a)。您可以單步執(zhí)行并跟蹤應用程序代碼的一部分,以發(fā)現(xiàn)許多邏輯和靜態(tài)錯誤。大多數(shù)嵌入式應用程序都是I/O密集型的,因此您還需要外設模擬器功能。指令集模擬器的主要缺點是其模擬速度低。您可能必須修改代碼的程序時間敏感區(qū)域以使仿真工作。

許多低預算的嵌入式項目使用圖1b中所示的配置啟動調(diào)試過程。您可以在臺式PC上準備,編譯和鏈接應用程序軟件,然后使用目標代碼對EPROM或一次性可編程(OTP)設備進行編程并將其插入目標。調(diào)試包括觀察操作并重復編輯 - 編譯 - 更新循環(huán),直到獲得所需的性能。您可以通過添加示波器或內(nèi)置LED可以觀察到的僅調(diào)試輸出指令來獲得洞察力。這種調(diào)試技術(shù)可能適用于簡單的軟件項目,但它通常演變?yōu)楦娴姆椒ㄖ唬邕壿嫹治銎鞣椒?,以找到微妙的軟件錯誤。

如果您的嵌入式系統(tǒng)硬件可以節(jié)省I/O端口和應用程序空間,可以在代碼中添加一個簡單的目標監(jiān)視器進行調(diào)試(圖1c)。您可以讀取寄存器,單步執(zhí)行,并在駐留在讀/寫內(nèi)存中的任何應用程序代碼中引入斷點。雖然基于主機的調(diào)試器是可選的,但它的使用將減少所需的目標應用程序空間。目標監(jiān)視器通過跳轉(zhuǎn)到目標監(jiān)視器來替換每個斷點或單步位置處的指令來執(zhí)行運行控制。當程序執(zhí)行到達斷點時,監(jiān)視器將恢復斷點指令,顯示當前寄存器狀態(tài),并等待下一個命令。目標監(jiān)視器的缺點是您犧牲了系統(tǒng)資源,無法調(diào)試基于ROM的代碼,并且您沒有實時的程序跟蹤功能。

因為大多數(shù)嵌入式設計中缺少額外的資源,您可能需要升級到ROM仿真器來調(diào)試系統(tǒng)(圖1d)。 ROM仿真器用RAM替換目標ROM,并提供到主機調(diào)試器的通信路徑。此調(diào)試設置為您提供與目標監(jiān)視器相同的功能,而無需在目標中使用不必要的資源。另一個優(yōu)點是您可以通過通信路徑輕松更新代碼。您將有一個更短的編輯,重新編譯,下載和調(diào)試周期。 ROM仿真器適用于大多數(shù)基于ROM的設計,即使您選擇了不同的處理器,也可以在下一個項目中使用它。 Applied Microsystems的NetROM仿真器支持各種調(diào)試器,包括網(wǎng)絡連接(圖2)。

在ICE上放置錯誤

傳統(tǒng)上,ICE是軟件調(diào)試的首選工具。 ICE的成本可高達25,000美元,但它是最強大,最有效的調(diào)試工具之一。您可以獲得實時程序跟蹤以及所有標準調(diào)試器功能。 ICE探針插入目標系統(tǒng)并模擬處理器,ROM和RAM的功能(圖1e)。您可以在事件之前和之后指定復雜的觸發(fā)點并捕獲總線數(shù)據(jù)。由于大多數(shù)ICE供應商都包含專有調(diào)試器,因此您可能需要學習兩個系統(tǒng)才能在調(diào)試配置之間切換。在目標硬件可用之前,ICE還可以用作高速模擬器。 Huntsville Microsystems的SPS-1000系列仿真器支持Motorola 5xx/6xx和IBM 4xx PowerPC處理器。

盡管ICE可能是您發(fā)現(xiàn)微妙實時問題的門票,但該技術(shù)已經(jīng)達到極限。提高處理器總線速度現(xiàn)在正在挑戰(zhàn)許多仿真器的功能。與任何其他調(diào)試工具一樣,ICE可以加載高速信號并引入與工具相關(guān)的錯誤。嵌入復雜ASIC的處理器內(nèi)核的趨勢也使得ICE的使用變得不切實際。

邏輯分析儀,長期以來是硬件工程師的最愛,是其他有效的軟件調(diào)試工具(圖1f)?;驹O置是將邏輯分析儀探頭連接到目標硬件的各個引腳。然后,定義一個靠近問題區(qū)域的觸發(fā)點,并在觸發(fā)前的數(shù)千個時鐘周期內(nèi)捕獲總線和I/O數(shù)據(jù)。分析跟蹤地址和數(shù)據(jù)應該會導致您遇到軟件錯誤。雖然這種方法聽起來很簡單,但邏輯分析儀很難設置。較舊的邏輯分析儀要求您輸入觸發(fā)點作為絕對地址,這些分析儀不顯示源代碼信息。此外,缺少外部信號和隱藏的表面安裝引腳可能無法連接到處理器地址和數(shù)據(jù)總線。與ICE一樣,邏輯分析儀也會隨著時鐘速率的增加而面臨帶寬限制。盡管存在這些限制并且由于項目預算縮減,但發(fā)現(xiàn)自己坐在邏輯分析儀前調(diào)試軟件并不會感到驚訝。

即使存在ICE和邏輯分析儀的問題,儀器制造商也沒有放棄了。事實上,他們繼續(xù)推進產(chǎn)品功能。 ICE和邏輯分析儀開始合并。較新的邏輯分析器可以從主機下載源文件或符號表,以啟用源代碼調(diào)試。泰克TLA 720系列邏輯分析儀包括主機調(diào)試器,可以對處理器進行運行控制并下載軟件更新。

硅片上調(diào)試

增加缺乏外部探測點和更高的總線速度迫使處理器制造商開發(fā)片上調(diào)試技術(shù)。將少量寄存器和串行端口添加到處理器的芯片中可實現(xiàn)遠程執(zhí)行控制,而無需使用任何目標內(nèi)存資源或I/O(圖1g)。您可以通過串行鏈路單步執(zhí)行,設置斷點,設置或讀取內(nèi)存和寄存器到外部調(diào)試器。由于片上調(diào)試芯片通過硬件比較檢測地址,因此您可以在基于ROM的代碼中插入斷點。您可以在沒有其他調(diào)試技術(shù)所需的所有外部連接的情況下查看處理器。片上調(diào)試的另一個優(yōu)點是,很少有目標硬件可以開始調(diào)試。如果可以為處理器供電,片上通信鏈路可能會工作。

制造商參考通過接口類型進行片上調(diào)試。摩托羅拉使用BDM(后臺調(diào)試模式),而其他處理器廠商稱之為JTAG(聯(lián)合行動測試組)調(diào)試。雖然處理器之間的細節(jié)不同,但BDM和JTAG接口將調(diào)試引腳與通用I/O引腳復用,以最大限度地減少片上調(diào)試的影響。 IEEE 1149.1定義了JTAG接口,設計人員將其設想為復雜IC邊界掃描測試的訪問端口。到目前為止,調(diào)試軟件供應商已經(jīng)成功地處理了處理器供應商之間片上調(diào)試特性的差異。但是,正在努力使串行接口標準化并指定最低功能。

嵌入式調(diào)試方法包括簡單的,有時是免費的模擬器,以及價格超過25,000美元的仿真器/調(diào)試器組合。因此,為了最有效地利用您的時間和預算,您應該在項目的早期計劃調(diào)試。您在設計階段的輸入可以簡化調(diào)試,甚至無需昂貴的測試設備。此外,您應該注意新的調(diào)試方法。處理器供應商不斷尋求新的調(diào)試技術(shù),這些技術(shù)將通過快速時鐘速率和深度嵌入式內(nèi)核證明是有效的(參見附文“下一代調(diào)試”)。你可以打賭,調(diào)試世界將繼續(xù)改變。

下一代調(diào)試

制造商已將片上調(diào)試功能集成到當今許多復雜處理器和內(nèi)核的芯片中。簡單的串行接口和遠程軟件產(chǎn)生令人印象深刻的調(diào)試系統(tǒng)。但是,這些串行調(diào)試系統(tǒng)缺少連接在線仿真器或邏輯分析儀時的實時跟蹤功能。捕獲的程序流跟蹤是一個很好的工具,用于跟蹤錯誤的實時應用程序中的錯誤。

盡管如此,您可能沒有多久等待片上調(diào)試芯片帶來回到那些實時痕跡。最近推出的AMD的élanSC520微控制器包含一個256位緩存,可實時記錄程序分支。利用此信息和源代碼,主機調(diào)試軟件可以重建并顯示程序跟蹤(圖A)??蛇x的并行軟件調(diào)試接口僅在特殊的綁定部分提供,可在處理器和主機軟件之間進行更高速的命令和數(shù)據(jù)交換。

泄漏你的膽量

調(diào)試工具需要花費數(shù)百美元甚至數(shù)千美元,但設計師必須經(jīng)常用很少的信息做出購買決策。是的,他們有大量的供應商文獻,廣告和白皮書,但這些信息遠非客觀。您可以提供幫助。

您對嵌入式系統(tǒng)調(diào)試工具的體驗和挫折可能會使其他EDN讀者免于無法安排的日程安排和浪費的項目資金。所以,繼續(xù)讓世界知道你的感受。訪問EDN針對嵌入式調(diào)試工具的新讀者評論在線存儲庫。您的意見可能會讓設計師受益,或者只是防止另一個錯誤。無論哪種方式,EDN讀者都會感謝您的意見。

要輸入您的意見,請訪問我們的嵌入式系統(tǒng)網(wǎng)頁,并點擊讀者評論鏈接。只需訪問該網(wǎng)站,選擇您使用的產(chǎn)品,然后輸入您的體驗的簡短摘要。我們將嘗試通過一些簡單的規(guī)則來保持民事。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21856
  • 華強PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27972
  • 華強pcb線路板打樣
    +關(guān)注

    關(guān)注

    5

    文章

    14629

    瀏覽量

    43194
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式硬件調(diào)試軟件調(diào)試

    相對于軟件調(diào)試而言,使用硬件調(diào)試器可以獲得更強大的調(diào)試功能和更優(yōu)秀的調(diào)試性能。硬件調(diào)試器的基本原
    發(fā)表于 03-10 10:44

    采用AD604級聯(lián)方式放大小信號輸入信號頻率發(fā)生變化時輸出信號幅度也發(fā)生變化

    大家好,麻煩問一個問題,希望得到解答:1、我采用AD604級聯(lián)方式放大小信號,但是我發(fā)現(xiàn)我的輸入信號頻率發(fā)生變化時,我的輸出信號幅度也發(fā)生變化。。604的-3DB是40MHZ的啊,好無奈。。大神幫忙看看希望得到解答。。
    發(fā)表于 09-05 14:32

    ADE7858校準儀表的過程中之前校準過的數(shù)據(jù)發(fā)生變化

    在校準完電壓電流時,不確定的發(fā)生電流大幅度變化,比如,我在校準b相或者C相電流時,A相的電流發(fā)生變化,或者OffSet校準時A相的電流發(fā)生變化,但是E2里的數(shù)據(jù)是校準后的好的值。什么情
    發(fā)表于 12-14 14:55

    AD7124-4供電電壓發(fā)生變化

    我采用4線制測PT電阻,采用STC8位5V單片機來控制AD7124-4,單片機沒有焊接里,給AD7124-4供電的1.8V和3.3V正常,焊上單片機后,AD7124供電電壓發(fā)生變化,為4.25V,請問這是什么 問題?如何解決。在些附件圖。
    發(fā)表于 01-02 11:25

    反時限過電流保護其動作時間隨電流的大小是如何發(fā)生變化

    反時限過電流保護其動作時間隨電流的大小是如何發(fā)生變化的?接地電阻測量儀主要由哪幾部分組成的?諧波電流在感應電度表計量中的影響是什么?
    發(fā)表于 09-15 07:16

    采用AD604級聯(lián)方式放大小信號,輸入信號頻率發(fā)生變化時輸出信號幅度也發(fā)生變化的原因?

    大家好,麻煩問一個問題,希望得到解答: 1、我采用AD604級聯(lián)方式放大小信號,但是我發(fā)現(xiàn)我的輸入信號頻率發(fā)生變化時,我的輸出信號幅度也發(fā)生變化。。604的-3DB是40MHZ的啊,好無奈。大神幫忙看看 希望得到解答。
    發(fā)表于 11-21 07:03

    歐洲現(xiàn)行的能效分級制度將繼續(xù)發(fā)生變化

    歐洲現(xiàn)行的能效分級制度將繼續(xù)發(fā)生變化 2009年12月10日 - 今年春季,我寫了篇名為“歐洲現(xiàn)行的能效分級制度將會發(fā)生變化”的博客
    發(fā)表于 01-07 13:05 ?842次閱讀

    貿(mào)易糾紛是美國對華戰(zhàn)略思想發(fā)生變化的產(chǎn)物

    如果美國的對華政策,包括經(jīng)濟政策,發(fā)生了實質(zhì)性變化,我們不能說我們面臨的全球經(jīng)濟環(huán)境、安全環(huán)境沒有發(fā)生變化,不能說我們過去關(guān)于世界的判斷不需要做出調(diào)整。
    的頭像 發(fā)表于 05-02 16:38 ?3108次閱讀

    嵌入式于非嵌入式的區(qū)別

    有無操作系統(tǒng)?! τ跓o操作系統(tǒng)的開發(fā):  1. 應用軟件與驅(qū)動的耦合度過高,一旦硬件發(fā)生變化那么相對應的驅(qū)動也會發(fā)生變化,緊接著應用程序也需要做相應的修改,這樣帶來的后果就是我們應用程序的可移植性
    發(fā)表于 07-12 14:55 ?9193次閱讀

    iOS端淘寶客戶端應用名稱發(fā)生變化 Android客戶端應用名稱尚未更改

    iOS端淘寶客戶端應用名稱發(fā)生變化 Android客戶端應用名稱尚未更改
    發(fā)表于 04-18 15:37 ?952次閱讀

    人工智能時代 世界經(jīng)濟的特征也將隨之發(fā)生變化

    近日,百度創(chuàng)始人、董事長兼 CEO 李彥宏出席印度理工學院馬德拉斯分院舉辦的Shaastra 2020科技節(jié),并發(fā)表了題為“人工智能時代的創(chuàng)新”的演講,聊了聊他眼中的未來10年。在李彥宏看來,未來10年屬于人工智能,我們正在進入一個新的時代——人工智能時代,而世界經(jīng)濟的特
    發(fā)表于 01-07 09:21 ?474次閱讀

    嵌入式軟件的打印調(diào)試信息的方法

    在我們的嵌入式開發(fā)中,常常把printf重定向到MCU的串口外設,再配合上位機界面軟件,通過打印調(diào)試信息的方式來調(diào)試我們的嵌入式
    的頭像 發(fā)表于 04-04 17:35 ?3337次閱讀

    嵌入式軟件的開發(fā)流程_嵌入式軟件調(diào)試

    本文首先介紹了嵌入式軟件的發(fā)展,其次闡述了嵌入式軟件的開發(fā)流程,最后介紹了嵌入式軟件
    發(fā)表于 08-31 16:02 ?6358次閱讀

    電阻在空氣中會發(fā)生變化

    哈嘍~大家好!相信喜歡電學的小伙伴們,一定對于電阻不陌生,它是電學中最常用的單位之一,那么你知道電阻在空氣中會發(fā)生變化嗎?今天Aigtek小科普就為大家揭秘,感興趣的伙伴一起接著往下看吧~
    的頭像 發(fā)表于 07-08 11:22 ?1667次閱讀
    電阻在空氣中會<b class='flag-5'>發(fā)生變化</b>嗎

    IIoT存儲正在發(fā)生變化

      工業(yè)物聯(lián)網(wǎng)存儲即將發(fā)生變化;花園存儲正在讓位于完整的集成解決方案,這些解決方案不僅致力于存儲,還致力于計算、控制、連接和保護關(guān)鍵信息。
    的頭像 發(fā)表于 12-01 16:32 ?706次閱讀