色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

嵌入式開(kāi)發(fā)中調(diào)試器的技巧與竅門(mén)

工程師兵營(yíng) ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-07-17 08:59 ? 次閱讀

從只有幾千字節(jié)存儲(chǔ)空間的簡(jiǎn)單 8 位控制器,到現(xiàn)在先進(jìn)的 32 位控制器,雖然微控制器經(jīng)歷了諸多演變,但是許多開(kāi)發(fā)人員仍在使用老舊的工具,拖慢了開(kāi)發(fā)周期。

設(shè)計(jì)人員若要適應(yīng)當(dāng)今快速發(fā)展且復(fù)雜多變的開(kāi)發(fā)環(huán)境,則需要確保擁有合適的工具才能應(yīng)對(duì)。他們需要嵌入式工具,以便監(jiān)視芯片并查看其軟件是否按照預(yù)期方式運(yùn)行;他們還需要可指出錯(cuò)誤或優(yōu)化代碼規(guī)模的工具,以降低其 BOM 成本。

現(xiàn)在有許多工具可以幫助他們降低整體開(kāi)發(fā)成本,加快調(diào)試過(guò)程,從而縮短上市時(shí)間。本文將介紹一些這樣的工具,然后說(shuō)明如何通過(guò)它們獲得最大收益。

利用專(zhuān)業(yè)調(diào)試器節(jié)省時(shí)間和金錢(qián)

開(kāi)發(fā)人員編寫(xiě)的軟件程序第一次試運(yùn)行就正常工作非常少見(jiàn)。因此軟件開(kāi)發(fā)需要調(diào)試,所以對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō),最重要的工具就是調(diào)試器。利用調(diào)試器,開(kāi)發(fā)人員可以將應(yīng)用程序加載到目標(biāo)微控制器上,逐步檢查代碼,查看存儲(chǔ)器和其他寄存器,并操縱硬件。

問(wèn)題是,許多專(zhuān)業(yè)開(kāi)發(fā)人員通常使用的調(diào)試器是其低成本開(kāi)發(fā)板所附帶的。這些調(diào)試器方便、便宜,而且在演示時(shí)表現(xiàn)完美。但是,在開(kāi)發(fā)專(zhuān)業(yè)軟件時(shí),可能會(huì)出現(xiàn)以下限制:

  • 斷點(diǎn)有限

  • 時(shí)鐘速率降低

  • 缺乏跟蹤功能

  • 功能極少

換言之,有時(shí)真是一分錢(qián)一分貨:附送的簡(jiǎn)化工具集可能不是快速有效地開(kāi)發(fā)和調(diào)試軟件的最佳方式。

專(zhuān)業(yè)級(jí)調(diào)試器具有許多功能,可提高工程師的生產(chǎn)力,例如無(wú)限制的斷點(diǎn)。許多調(diào)試器只能使用微控制器的內(nèi)部比較器來(lái)設(shè)置斷點(diǎn),而在大多數(shù)情況下只有兩個(gè)可用。在有數(shù)萬(wàn)行代碼的復(fù)雜程序中,只有兩個(gè)可用的斷點(diǎn)可能會(huì)導(dǎo)致開(kāi)發(fā)人員把時(shí)間浪費(fèi)斷點(diǎn)切換上,也可能會(huì)導(dǎo)致開(kāi)發(fā)人員錯(cuò)過(guò)軟件中的關(guān)鍵點(diǎn),從而錯(cuò)過(guò)潛伏的漏洞。這樣一來(lái),可能會(huì)導(dǎo)致編碼時(shí)間更長(zhǎng),反而增加了開(kāi)發(fā)成本并影響了上市時(shí)間。

專(zhuān)業(yè)級(jí)調(diào)試器提供的算法不僅可以使用硬件斷點(diǎn),還可以使用軟件和閃存斷點(diǎn),為開(kāi)發(fā)人員提供了更多的靈活性,而且用來(lái)評(píng)估代碼的斷點(diǎn)數(shù)量幾無(wú)限制。

當(dāng)然專(zhuān)業(yè)級(jí)調(diào)試器不便宜。它們的價(jià)格可以輕松標(biāo)到幾百到幾千美元。但它們?yōu)殚_(kāi)發(fā)人員帶來(lái)了不可計(jì)算的投資回報(bào),并能使用多年,無(wú)需升級(jí)或更換。選擇調(diào)試器時(shí),開(kāi)發(fā)人員應(yīng)該問(wèn)自己幾個(gè)問(wèn)題:

  • 調(diào)試器的斷點(diǎn)數(shù)是否無(wú)限制?

  • 這是一款可以與幾乎所有工具鏈和微控制器配合使用的第三方調(diào)試器嗎?

  • 五年后這個(gè)調(diào)試器還能使用嗎?

  • 這個(gè)調(diào)試器有很好的生態(tài)系統(tǒng)嗎?

  • 調(diào)試器的能力可以擴(kuò)展嗎?

因?yàn)榉仙鲜鰳?biāo)準(zhǔn)而變得非常受歡迎的一款第三方調(diào)試器是 Segger J-Link。根據(jù)開(kāi)發(fā)人員的需求,Segger J-Link 可提供不同的版本。其中包括 J-Link Base Unit、J-Link Plus、J-Link Ultra Plus 和 J-Link Trace(圖 1)。

Segger J-Link 調(diào)試器型號(hào)比較圖片

圖 1:Segger J-Link 調(diào)試器型號(hào)比較。(來(lái)源:Segger)

使用調(diào)試器跟蹤和分支檢測(cè)來(lái)揪出潛藏的錯(cuò)誤

高級(jí)調(diào)試器(通常也是最昂貴的)配備 ETM 跟蹤連接器,可以獲得大量跟蹤數(shù)據(jù),這是使用 JTAG 或 SWD 的標(biāo)準(zhǔn)跟蹤無(wú)法實(shí)現(xiàn)的。

使用高級(jí)跟蹤功能,開(kāi)發(fā)人員可以將調(diào)試器與商業(yè)工具鏈(如適用于 ARMKeil MDK-PRO)連用,來(lái)監(jiān)視系統(tǒng)中的每一行代碼在測(cè)試期間是否得到執(zhí)行。如下例所示,針對(duì) ARM 的 Keil MDK-PRO 與跟蹤調(diào)試器一并運(yùn)行,檢測(cè)到了那些代碼行在測(cè)試期間得到執(zhí)行(圖 2)。這種跟蹤對(duì)于需要 100% 測(cè)試覆蓋的安全關(guān)鍵型系統(tǒng)非常有用。在未測(cè)試代碼之處,可能會(huì)潛藏錯(cuò)誤并在以后導(dǎo)致問(wèn)題。

在調(diào)試模式下運(yùn)行的用于 ARM 的 Keil MDK-PRO 圖片

圖 2:在調(diào)試模式下運(yùn)行并對(duì)軟件執(zhí)行分支分析的用于 ARM 的 Keil MDK-PRO。左側(cè)的綠色塊表示在測(cè)試期間得到執(zhí)行的代碼行。(圖片來(lái)源:Keil)

如果開(kāi)發(fā)人員不想購(gòu)買(mǎi)成熟的跟蹤工具,則可以使用 SWD 進(jìn)行跟蹤。在這種情況下,開(kāi)發(fā)人員可以選擇使用如 Segger 的 SystemView 或 Percepio 的 Tracelyzer 之類(lèi)軟件工具將跟蹤信息流傳輸?shù)皆?PC 上執(zhí)行的應(yīng)用程序。這些跟蹤系統(tǒng)通常在 RTOS 中工作,并且需要幾行代碼來(lái)設(shè)置跟蹤任務(wù)、捕獲數(shù)據(jù)并將其發(fā)送到調(diào)試器,然后再發(fā)送到 PC 上。

顯示軟件跟蹤的輸出示例(圖 3)。開(kāi)發(fā)人員可以使用這些工具來(lái)檢測(cè)諸如優(yōu)先級(jí)轉(zhuǎn)換、死鎖、線程饑餓以及許多在復(fù)雜系統(tǒng)中可能遇到的其他問(wèn)題。每個(gè)任務(wù)都有一條生命線,顯示其何時(shí)就緒、何時(shí)執(zhí)行、何時(shí)完成,以及在此期間可能發(fā)生的任何事件,例如發(fā)出和接收信號(hào)。

專(zhuān)業(yè)開(kāi)發(fā)人員需要這樣的細(xì)節(jié),同樣地,也要求他們使用的調(diào)試工具能夠檢索這類(lèi)信息。

Percepio 的 Tracealyzer 圖片

圖 3:使用如 Percepio 的 Tracealyzer 之類(lèi)工具檢查軟件操作,并查看執(zhí)行時(shí)間和時(shí)間長(zhǎng)短。(圖片來(lái)源:Digi-Key

最大限度利用調(diào)試器的技巧與竅門(mén)

調(diào)試工具有很多功能,但有時(shí)可能受限于為應(yīng)用選擇的微控制器。開(kāi)發(fā)人員需要了解其調(diào)試器的功能,并要將其與微控制器正確配對(duì)?,F(xiàn)今的許多調(diào)試器都可與 ARM? Cortex?-M 微控制器配合使用,開(kāi)發(fā)人員在調(diào)試這些系統(tǒng)時(shí)應(yīng)考慮以下幾個(gè)因素:

  • 避免通過(guò) UART 進(jìn)行 printf。而應(yīng)使用 ITM 端口來(lái)獲得更好的性能

  • 不要逐條查看代碼,使用高級(jí)斷點(diǎn)來(lái)提高調(diào)試效率

  • 選擇一個(gè)通過(guò)服務(wù)器控制的調(diào)試器,以便為多個(gè)應(yīng)用提供調(diào)試數(shù)據(jù),即自定義分析儀、跟蹤、調(diào)試環(huán)境等等。

  • 調(diào)整調(diào)試器使用的默認(rèn)時(shí)鐘速率,因該速率通常比最大值慢得多

  • 在開(kāi)發(fā)周期的早期階段設(shè)置跟蹤,以建立比較基準(zhǔn)

  • 使 SWO 能夠從系統(tǒng)獲取更多信息

  • 在硬件、軟件和閃存斷點(diǎn)之間進(jìn)行選擇性選擇,以最小化實(shí)時(shí)性能影響

使用這些技巧可以幫助開(kāi)發(fā)人員從調(diào)試器及其調(diào)試會(huì)話(huà)中獲取更多信息。

使用商業(yè)編譯器降低成本

GCC 是一款極受歡迎且大獲成功的編譯器。它與商業(yè)工具相比有一個(gè)優(yōu)點(diǎn)就是免費(fèi)!免費(fèi)并不意味著編譯器的質(zhì)量和輸出將產(chǎn)生與商業(yè)工具同等的可執(zhí)行代碼。事實(shí)上,在許多情況下,將 GCC 與商業(yè)編譯器(如用于 ARM 的 Keil MDK-PRO 或 IAR Embedded Workbench)進(jìn)行比較,得出的結(jié)果是,GCC 使用的代碼規(guī)模更大,占用的 RAM 空間更多。Renesas 甚至在他們的 Synergy 平臺(tái)規(guī)格書(shū)中顯示了這一點(diǎn)(圖 4)。

在圖中,Renesas 使用 EEMBC CoreMark? 對(duì)其編譯器進(jìn)行了基準(zhǔn)測(cè)試,顯示了 IAR 編譯的代碼比 GCC 編譯的代碼更快。

基準(zhǔn)測(cè)試還顯示,使用商業(yè)級(jí)編譯器可以顯著減少代碼規(guī)模。乍一看,開(kāi)發(fā)人員可能會(huì)認(rèn)為購(gòu)買(mǎi)諸如用于 ARM 的 Keil MDK-PRO 之類(lèi)工具不值得投資,而應(yīng)該使用 GCC。但是,當(dāng)開(kāi)發(fā)人員使用包含 128 KB 代碼空間的微控制器(如 NXP MK20DX128)并發(fā)現(xiàn)使用 GCC 應(yīng)用程序需要 132 KB 時(shí),會(huì)發(fā)生什么?

若發(fā)生這種情況,開(kāi)發(fā)團(tuán)隊(duì)就被迫要尋找一個(gè)具有足夠內(nèi)存但卻更為昂貴的引腳兼容器件,如 NXP MKD20DX256。如果該公司只能生產(chǎn)適量的產(chǎn)品,那么每年花在 MCU 上的成本可能會(huì)超過(guò)最初投資于商業(yè)編譯器上的成本。

使用商業(yè)編譯器也有其他優(yōu)勢(shì),有助于降低成本,例如:

  • 代碼分析功能,如分支檢測(cè)

  • 軟件復(fù)雜性測(cè)量

  • 高效生成代碼

  • 卓越的調(diào)試工具和功能

  • 技術(shù)支持

  • 集成到驅(qū)動(dòng)程序庫(kù)和框架

結(jié)論

開(kāi)發(fā)人員當(dāng)然可以使用免費(fèi)或便宜的開(kāi)發(fā)工具。然而問(wèn)題在于,這些低成本工具在大多數(shù)情況下并非是適合這種工作的最佳工具。它們往往缺乏每個(gè)開(kāi)發(fā)人員所需的高級(jí)功能,不能節(jié)省時(shí)間和金錢(qián),而且常常會(huì)導(dǎo)致項(xiàng)目延遲并增加成本。

購(gòu)買(mǎi)好的專(zhuān)業(yè)調(diào)試器和工具鏈?zhǔn)且豁?xiàng)投資,可以在未來(lái)幾年節(jié)省大量時(shí)間和金錢(qián),并大幅提高開(kāi)發(fā)團(tuán)隊(duì)的工作效率和績(jī)效。

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

    關(guān)注

    134

    文章

    9104

    瀏覽量

    367777
  • 嵌入式
    +關(guān)注

    關(guān)注

    5085

    文章

    19137

    瀏覽量

    305672
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    305

    瀏覽量

    23755
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    哪些專(zhuān)業(yè)適合學(xué)習(xí)嵌入式開(kāi)發(fā)?

    哪些專(zhuān)業(yè)適合學(xué)習(xí)嵌入式開(kāi)發(fā)? 在傳統(tǒng)行業(yè)不斷被取代的當(dāng)下,對(duì)于大學(xué)生、從業(yè)者而言,選擇一個(gè)熱門(mén)主流的職業(yè)方向,是未來(lái)發(fā)展的關(guān)鍵因素之一。 嵌入式作為當(dāng)下高薪崗位之一,轉(zhuǎn)行、轉(zhuǎn)專(zhuān)業(yè)的人群已經(jīng)占據(jù)求職
    發(fā)表于 01-03 13:44

    嵌入式開(kāi)發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢(xún)命令(上)觸覺(jué)智能出品

    實(shí)用干貨!嵌入式開(kāi)發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢(xún)命令(上)關(guān)注觸覺(jué)智能持續(xù)為大家?guī)?lái)更多嵌入式開(kāi)發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?95次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>必備-RK3562演示Linux常用系統(tǒng)查詢(xún)命令(上)觸覺(jué)智能出品

    嵌入式工程師常用的開(kāi)發(fā)工具有哪些?

    。此外,ARM 公司的編譯也備受青睞,針對(duì) ARM 架構(gòu)的微控制進(jìn)行了深度優(yōu)化,能夠生成高效的代碼。 三、調(diào)試工具 調(diào)試嵌入式開(kāi)發(fā)過(guò)程中
    發(fā)表于 12-20 15:29

    如何使用 RISC-V 進(jìn)行嵌入式開(kāi)發(fā)

    RISC-V是一種開(kāi)源的指令集架構(gòu)(ISA),它允許任何人設(shè)計(jì)、制造和銷(xiāo)售基于RISC-V的處理,這為嵌入式開(kāi)發(fā)提供了極大的靈活性和創(chuàng)新空間。以下是使用RISC-V進(jìn)行嵌入式開(kāi)發(fā)的基本步驟: 一
    的頭像 發(fā)表于 12-11 17:32 ?543次閱讀

    基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南

    電子發(fā)燒友網(wǎng)站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-10 15:31 ?2次下載

    零基礎(chǔ)嵌入式開(kāi)發(fā)學(xué)習(xí)路線

    是一種集成了處理、內(nèi)存、輸入輸出接口等功能的微型電路板,它是嵌入式開(kāi)發(fā)的基礎(chǔ)硬件設(shè)備。學(xué)習(xí)單片機(jī)可以讓你了解硬件的基本原理和操作方法,比如如何連接電源、如何配置引腳、如何編寫(xiě)驅(qū)動(dòng)程序等。目前應(yīng)用最多
    發(fā)表于 10-25 15:55

    嵌入式開(kāi)發(fā)常見(jiàn)問(wèn)題排查

    嵌入式開(kāi)發(fā)問(wèn)題排查很多人認(rèn)為嵌入式開(kāi)發(fā)很難,主要是因?yàn)樵谶@個(gè)過(guò)程中常常會(huì)遇到各式各樣的問(wèn)題。這些問(wèn)題的復(fù)雜性和多樣性使得許多人感到困惑和無(wú)所適從。然而,如果將這些問(wèn)題逐一拆解,實(shí)際上大部分都可以
    的頭像 發(fā)表于 09-22 08:04 ?346次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>常見(jiàn)問(wèn)題排查

    嵌入式開(kāi)發(fā)常用軟件有哪些?

    用于編寫(xiě)、編譯和調(diào)試嵌入式系統(tǒng)軟件。它提供了一個(gè)集成的開(kāi)發(fā)環(huán)境(IDE),包括代碼編輯、編譯、調(diào)試器
    發(fā)表于 09-09 15:22

    AWFlow:內(nèi)置豐富的功能節(jié)點(diǎn),簡(jiǎn)化嵌入式開(kāi)發(fā)流程

    AWFlow突破傳統(tǒng)C語(yǔ)言限制的嵌入式開(kāi)發(fā)框架,通過(guò)封裝硬件驅(qū)動(dòng)和系統(tǒng)平臺(tái),集成通用軟件功能與通信協(xié)議,助力開(kāi)發(fā)者專(zhuān)注于核心業(yè)務(wù),提升效率,縮短周期,迅速適應(yīng)市場(chǎng)變化。在傳統(tǒng)的嵌入式軟件開(kāi)發(fā)
    的頭像 發(fā)表于 08-09 08:25 ?303次閱讀
    AWFlow:內(nèi)置豐富的功能節(jié)點(diǎn),簡(jiǎn)化<b class='flag-5'>嵌入式開(kāi)發(fā)</b>流程

    聚焦嵌入式開(kāi)發(fā)的合規(guī)性工具、項(xiàng)目管理工具、版本迭代工具應(yīng)用

    ,就嵌入式開(kāi)發(fā)與管理領(lǐng)域的最新趨勢(shì)、工具選擇以及DevSecOps實(shí)踐應(yīng)用等方面展開(kāi)了深入探討。 本期對(duì)話(huà)龍智資深DevSecOps顧問(wèn)徐晨暉, 分享嵌入式開(kāi)發(fā)的合規(guī)性工具、項(xiàng)目管理和版本管理的工具選擇,以及DevSecOps
    的頭像 發(fā)表于 07-29 15:15 ?561次閱讀

    嵌入式開(kāi)發(fā)前景怎么樣?

    嵌入式開(kāi)發(fā)前景非常廣闊,這主要得益于物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個(gè)領(lǐng)域的廣泛應(yīng)用。以下是對(duì)嵌入式開(kāi)發(fā)前景的詳細(xì)分析
    的頭像 發(fā)表于 07-10 09:00 ?2742次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>前景怎么樣?

    如何提升嵌入式編程能力?

    、SPI、CAN、WIFI、MQTT等多種通信協(xié)議。 4. 使用開(kāi)發(fā)工具:熟練掌握嵌入式開(kāi)發(fā)工具,如編譯調(diào)試器、仿真和實(shí)時(shí)操作系統(tǒng)(R
    發(fā)表于 06-21 10:01

    嵌入式開(kāi)發(fā)就業(yè)前景怎么樣?

    。在智能家居領(lǐng)域,嵌入式開(kāi)發(fā)的主要工作是開(kāi)發(fā)各種智能化設(shè)備和系統(tǒng),如智能照明、智能安防、智能家電等。嵌入式開(kāi)發(fā)人員需要掌握相關(guān)的硬件和軟件技術(shù),如處理、傳感
    發(fā)表于 06-07 14:51

    fpga是嵌入式開(kāi)發(fā)

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)與嵌入式開(kāi)發(fā)之間確實(shí)存在一定的關(guān)聯(lián),但它們?cè)诒举|(zhì)上是兩個(gè)不同的領(lǐng)域。
    的頭像 發(fā)表于 03-15 14:18 ?1061次閱讀

    嵌入式自學(xué)好書(shū)推薦

    令、編輯VI、編譯GCC、調(diào)試器GDB以及Make項(xiàng)目管理工具、Shell和Makefile腳本編寫(xiě)等知識(shí),并搭建嵌入式開(kāi)發(fā)環(huán)境。推薦書(shū)籍:《Linux從入門(mén)到精通》。 無(wú)論從就
    發(fā)表于 01-11 15:13
    主站蜘蛛池模板: 蜜臀AV精品久久无码99| 99热这里只有 精品| 欧美色偷偷亚洲天堂bt| 深夜草逼逼| 在野外被男人躁了一夜动图| 古风一女N男到处做高H| 李亚男三级| 亚洲精品国偷拍电影自产在线| my pico未删减在线观看| 精品视频在线播放| 甜性涩爱免费下载| 99视频全部看免费观| 精品午夜久久福利大片免费| 色综合欧美色综合七久久| 亚洲免费在线观看| 成人国产在线不卡视频| 麻豆第一区MV免费观看网站| 秋霞鲁丝片Av无码| 伊人久久电影院| 耽肉高h喷汁呻吟| 麻生希第一部快播| 亚洲精品一线二线三线无人区| 二级片免费看| 欧洲美女高清一级毛片| 中文字幕在线观看国产| 好看AV中文字幕在线观看| 男人插曲女人的视频| 亚洲一日韩欧美中文字幕在线| chinese国语露脸videos| 久久精品亚洲国产AV涩情| 青青视频国产色偷偷| 1024人成网站色www下载| 成人动漫百度影音| 美女洗澡脱得一二干净| 伊人精品视频直播| 国精产品一区二区三区四区糖心| 男女作爱在线播放免费网页版观看| 特级做A爰片毛片免费69| qvod快播在线观看| 男人团apk| 6080yy亚洲久久无码|