chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

使用專業(yè)的嵌入式開發(fā)工具來降低成本并加快上市速度

電子設(shè)計(jì) ? 2017-11-10 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

斷點(diǎn)有限

時(shí)鐘速率降低

缺乏跟蹤功能

功能極少

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

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

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

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

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

這是一款可以與幾乎所有工具鏈和微控制器配合使用的第三方調(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ù)開發(fā)人員的需求,Segger J-Link 可提供不同的版本。其中包括 J-Link Base Unit、J-Link Plus、J-Link Ultra Plus 和 J-Link Trace(圖 1)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用商業(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 平臺規(guī)格書中顯示了這一點(diǎn)(圖 4)。

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

CPU工具鏈時(shí)鐘迭代時(shí)間(秒)CoremarkDK-S7G2GCC240 MHz1000021.93456GCC200 MHz1000026.32380GCC160 MHz1000029.39340GCC80 MHz600034.59173IAR240 MHz1000014.79676IAR200 MHz1000017.75563IAR160 MHz1000019.18521IAR80 MHz600022.61265DK-S3A7GCC48 MHz1000096.34104GCC24 MHz10000187.3153IAR48 MHz1000063.66157IAR24 MHz10000124.1881DK-S124GCC32 MHz10000199.1750IAR32 MHz10000125.9979

圖 4:Renesas Synergy 平臺 CoreMark? 結(jié)果。Coremark 值越大,性能越好。(來源:Renesas SSP 1.0.0 規(guī)格書)

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

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

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

代碼分析功能,如分支檢測

軟件復(fù)雜性測量

高效生成代碼

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

技術(shù)支持

集成到驅(qū)動程序庫和框架

結(jié)論

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

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

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

    關(guān)注

    18

    文章

    1145

    瀏覽量

    50114
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MIKROE與瑞薩簽署多年MCU嵌入式開發(fā)工具支持協(xié)議

    2026年1月28日: 作為一家通過提供基于成熟標(biāo)準(zhǔn)的創(chuàng)新式硬件、軟件產(chǎn)品大幅縮短開發(fā)時(shí)間的嵌入式解決方案公司,MIKROE與總部位于東京的全球半導(dǎo)體解決方案提供商瑞薩電子簽署了一項(xiàng)為期多年
    發(fā)表于 01-28 12:04 ?271次閱讀
    MIKROE與瑞薩簽署多年MCU<b class='flag-5'>嵌入式開發(fā)工具</b>支持協(xié)議

    嵌入式開發(fā)常用函數(shù)速查表

    嵌入式開發(fā)中,掌握常用函數(shù)的用法可以大大提高開發(fā)效率。無論是單片機(jī)初學(xué)者還是有一定經(jīng)驗(yàn)的工程師,熟悉函數(shù)庫和調(diào)用方式都是必備技能。今天,我們?yōu)榇蠹艺硪环?b class='flag-5'>嵌入式開發(fā)常用函數(shù)速查表,覆蓋GPIO
    的頭像 發(fā)表于 01-19 09:06 ?299次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>常用函數(shù)速查表

    什么是嵌入式應(yīng)用開發(fā)

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開發(fā)工具和技術(shù) 嵌入式開發(fā)過程中常用的工具包括: · ?集成開發(fā)環(huán)境(IDE)?:用于編寫、編譯和調(diào)試代碼。 · ?編譯器?:將高級
    發(fā)表于 01-12 16:13

    恩智浦嵌入式HMI應(yīng)用開發(fā)工具GUI Guider 1.10.1全新上線

    恩智浦嵌入式HMI應(yīng)用開發(fā)工具GUI Guider 1.10.1全新上線啦!新版本重點(diǎn)聚焦性能提升、工具鏈升級、多點(diǎn)觸控體驗(yàn)以及開發(fā)板適配,進(jìn)一步優(yōu)化IDE界面,增強(qiáng)功能穩(wěn)定性,
    的頭像 發(fā)表于 12-28 09:45 ?1567次閱讀

    C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用

    三、winAMS工具的核心功能與優(yōu)勢 winAMS是一款專業(yè)嵌入式C語言單元測試工具,針對嵌入式開發(fā)的特殊需求提供了全面解決方案。其主要
    發(fā)表于 12-18 11:46

    分享一個(gè)嵌入式開發(fā)學(xué)習(xí)路線

    法,這些語法在嵌入式開發(fā)中至關(guān)重要。 2. 技能進(jìn)階期(2-3個(gè)月) 從51單片機(jī)過渡到主流的ARM Cortex-M系列(嵌入式就業(yè)核心平臺),學(xué)會使用STM32單片機(jī),掌握嵌入式開發(fā)的“標(biāo)準(zhǔn)
    發(fā)表于 12-04 11:01

    嵌入式開發(fā)工具版本的選擇策略

    今天,我們就來結(jié)合嵌入式常見的幾個(gè)軟件(如Keil / IAR、VS Code 、Source Insight、VMware、Git等),簡單講一講嵌入式開發(fā)工具軟件版本選擇策略。 開發(fā)團(tuán)隊(duì)軟件
    發(fā)表于 11-25 06:11

    嵌入式開發(fā)的關(guān)鍵點(diǎn)介紹

    。 嵌入式系統(tǒng)的應(yīng)用非常廣泛,例如:智能家居、智能手表、智能手機(jī)、智能汽車等等。嵌入式開發(fā)需要開發(fā)人員具備深入的硬件知識和編程經(jīng)驗(yàn),但是也有一些嵌入式開發(fā)工具可以幫助
    發(fā)表于 11-13 08:12

    嵌入式開發(fā)工具的現(xiàn)狀和發(fā)展簡史

    集成開發(fā)環(huán)境(IDE)正在經(jīng)歷深刻變革。傳統(tǒng)意義上披著“圖形界面”外衣的編譯器,已不再能滿足當(dāng)今的需求。隨著嵌入式系統(tǒng)變得越來越強(qiáng)大,而且AI開始融入幾乎所有設(shè)計(jì)中,開發(fā)者需要的是能夠理解開發(fā)
    的頭像 發(fā)表于 11-11 09:49 ?1185次閱讀

    嵌入式軟件測試與專業(yè)測試工具的必要性深度解析

    環(huán)節(jié)。隨著嵌入式系統(tǒng)在汽車、醫(yī)療、軍工等關(guān)鍵領(lǐng)域的廣泛應(yīng)用,專業(yè)測試工具的投資將帶來顯著的質(zhì)量提升和風(fēng)險(xiǎn)降低,是嵌入式開發(fā)過程中不可或缺的重
    發(fā)表于 09-28 17:42

    新一代嵌入式開發(fā)平臺 AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構(gòu)想到部署落地。 2025.1 版嵌入式軟件
    的頭像 發(fā)表于 08-20 09:15 ?3970次閱讀

    嵌入式開發(fā)就業(yè)還有前景嗎?

    嵌入式的發(fā)展前景如何呢?隨著科技的飛速發(fā)展,嵌入式開發(fā)在各個(gè)領(lǐng)域的應(yīng)用越來越廣泛,因此嵌入式開發(fā)的就業(yè)前景也備受關(guān)注。以下將從智能家居、醫(yī)療設(shè)備、工業(yè)控制、汽車電子、航空航天等方面,探討嵌入式
    發(fā)表于 07-16 10:47

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    : 單片機(jī)嵌入式開發(fā)環(huán)境相對簡單,通常使用C語言或匯編語言進(jìn)行編程,開發(fā)工具包括Keil、IAR等。 Linux嵌入式開發(fā)環(huán)境較
    發(fā)表于 06-20 09:46

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用
    發(fā)表于 05-15 09:29

    嵌入式開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開發(fā)的門檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語言寫個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正的嵌入式開發(fā)是硬件與軟件深度融合的系統(tǒng)性工程,需跨越三重壁壘
    的頭像 發(fā)表于 04-09 11:06 ?979次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>:高門檻的系統(tǒng)性工程與 996 的行業(yè)困局