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

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

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

嵌入式集成開發(fā)工具該如何讓其更好地服務(wù)于設(shè)計(jì)?

5RJg_mcuworld ? 來源:電子發(fā)燒友網(wǎng) ? 作者:工程師譚軍 ? 2018-07-09 17:42 ? 次閱讀

嵌入式開發(fā)過程中會(huì)使用到各種工具,包括IDE環(huán)境、編譯工具、軟硬件調(diào)試工具、操作系統(tǒng)等。根據(jù)項(xiàng)目的需求,往往會(huì)選擇來自不同廠商的工具進(jìn)行組合。如果能非常方便地將這些不同廠商的開發(fā)環(huán)境無縫地配合起來,則可以大大減少不必要的工作,這對于開發(fā)人員而言很重要。下面就細(xì)數(shù)一下嵌入式工程師常用到的開發(fā)工具!

始于51單片機(jī)Keil軟件

從接觸MCS 51單片機(jī)開始,很多工程師就會(huì)知道Keil軟件。在開發(fā)單片機(jī)時(shí),要使用C語言或者匯編語言,但這兩種語言都不能直接輸入到單片機(jī),所以需要一個(gè)軟件,把C語言或者匯編語言編譯生成單片機(jī)可執(zhí)行的二進(jìn)制代碼。Keil公司(現(xiàn)在是ARM 公司的一個(gè)公司)的軟件恰好提供這樣的功能,并且它還有很多優(yōu)點(diǎn),比如工程易于管理、自動(dòng)加載啟動(dòng)代碼,集編輯、編譯、仿真一體,調(diào)試功能強(qiáng)大等。因此,不管是單片機(jī)愛好者,還是經(jīng)驗(yàn)豐富的工程師,都喜歡使用這些軟件。

嵌入式工程師常用的Keil公司旗下的軟件開發(fā)工具

有μVision、RealView、MDK、Keil C51。μVision是一個(gè)集成開發(fā)環(huán)境(IDE),和Eclipse類似。它包括工程管理、源代碼編輯、編譯設(shè)置、下載調(diào)試和模擬仿真等功能,有μVision2、μVision3 、μVision4、μVision5 和μVision6 等幾個(gè)版本,它提供一個(gè)環(huán)境,讓開發(fā)者易于操作,但并不提供具體的編譯和下載功能,需要軟件開發(fā)者添加。RealView是一系列開發(fā)工具集合的稱呼,包括RVD(RealView Debugger),RVI(RealView ICE),RVT(Real-View Trace),RVDS(RealView Development Suite),RVMDK(RealView Microcontroller Development Kit)這些產(chǎn)品。

MDK (Microcontroller Development Kit),即KeilMDK、RealView MDK或者Keil for ARM。ARM 公司現(xiàn)在統(tǒng)一使用MDK ARM,MDK 的設(shè)備數(shù)據(jù)庫中有很多廠商的芯片,是專為微控制器開發(fā)的工具,為滿足基于MCU 進(jìn)行嵌入式軟件開發(fā)的工程師需求而設(shè)計(jì),支持ARM7、ARM9、Cortex M3/M1、Cortex R0/R4等ARM微控制器內(nèi)核。

Keil C51是基于μVision的IDE,支持絕大部分51內(nèi)核微控制器開發(fā)工具;Keil C166為基于μVision的 IDE,支持絕大部分XC16x、C16x和ST10等系列微控制器開發(fā)工具;Keil C251基于μVision 的IDE,支持絕大部分基于251核的微控制器開發(fā)工具。

IAR從獨(dú)立走向與客戶融合

IAR Embedded Workbench是IAR Systems公司開發(fā)的一套用于編譯和調(diào)試嵌入式系統(tǒng)應(yīng)用程序的開發(fā)工具,支持匯編、C和C++語言。它能夠提供完整的集成開發(fā)環(huán)境,包括工程管理器、編輯器、編譯鏈接工具和CSPY調(diào)試器。每個(gè)C/C++編譯器不僅包含一般全局性的優(yōu)化,也包含針對特定芯片的低級優(yōu)化,可以充分利用所選芯片的所有特性,確保較小的代碼尺寸。IAR EmbeddedWorkbench能夠支持由不同的芯片制造商生產(chǎn)且種類繁多的8位、16位或32位芯片。

近期,IAR公司就與瑞薩電子合作,將IAR C/C++Complier集成到瑞薩電子e2 studio開發(fā)環(huán)境中。RenesasSynergy Platform 開發(fā)工程師可減少應(yīng)用代碼占用的內(nèi)存空間,提高了代碼執(zhí)行速度,并且能夠?yàn)镾ynergy微控制器增加更多功能。除此之外,IAR編譯器生成的代碼執(zhí)行速度快,這樣就能使MCU 較長時(shí)間地處于低功耗模式,可延長電池壽命,特別適合物聯(lián)網(wǎng)設(shè)備。IAR Systems與瑞薩合作,用戶可直接在e2 studio環(huán)境中使用IAR C/C++ Compiler,同時(shí)仍可選擇繼續(xù)使用面向RenesasSynergy IDE的專有IAR Embedded Workbench IDE。

意法半導(dǎo)體開發(fā)工具為MCU安全保駕護(hù)航

意法半導(dǎo)體中國微控制器事業(yè)部市場及應(yīng)用總監(jiān)曹錦東概括了MCU 未來面臨的三個(gè)方向:更高的性能;更強(qiáng)的通信能力;更高的安全性,因?yàn)橹灰?lián)網(wǎng)就會(huì)涉及到安全的問題。針對安全性問題,ST 推出了一款基于ArmCortex M33的STM32產(chǎn)品,支持Trust Zone技術(shù)。通過Trust Zone可以實(shí)現(xiàn)更高的安全性,且不僅是在微控制器里的安全性,而且還可以提供更多的安全性方面的服務(wù)。

要保證系統(tǒng)的安全,光靠硬件是不夠的,還需要做到系統(tǒng)性的安全分析,分析可能會(huì)出現(xiàn)哪些威脅或漏洞。意法半導(dǎo)體提供物聯(lián)網(wǎng)安全工具箱,實(shí)現(xiàn)了可擴(kuò)展的嵌入式安全功能,如STM32Trust.CodeProtect,保證用戶代碼安全且完整地寫入可信的STM32產(chǎn)品,包括安全安裝、安全編程;STM32Trust.DataProtect,保護(hù)有價(jià)值的數(shù)據(jù)不被竊取,包括數(shù)據(jù)保護(hù)、關(guān)鍵存儲(chǔ)保護(hù);STM32Trust.ExecutionProtect,將應(yīng)用程序分為可信和不可信兩部分,包括代碼執(zhí)行隔離。

助力嵌入式工程師提高效率的工具

(1) Source Insight

Source Insight是一個(gè)面向項(xiàng)目開發(fā)的程序編輯器和代碼瀏覽器,擁有內(nèi)置的對C/C++、C#Java等程序的分析,能分析源代碼并在工作的同時(shí)動(dòng)態(tài)維護(hù)它自己的符號數(shù)據(jù)庫,并自動(dòng)顯示有用的上下文信息。

Source Insight不僅僅是一個(gè)強(qiáng)大的程序編輯器,還能顯示reference trees,class inheritance diagrams和calltrees。Source Insight提供了最快速的對源代碼的導(dǎo)航和任何程序編輯器的源信息,還提供了快速和革新的訪問源代碼和源信息的能力。

(2) UltraEdit

在嵌入式軟件開發(fā)中不可避免需要查看一些原始數(shù)據(jù),包括不可顯示的字符,UltraEdit的HEX 顯示查看功能能夠很好地解決這個(gè)問題,同時(shí),對大文件(比如壓力測試時(shí)的log問題)支持也是遠(yuǎn)遠(yuǎn)好于記事本和寫字板。

UltraEdit是一套功能強(qiáng)大的文本編輯器,可以編輯文本、十六進(jìn)制、ASCII 碼,完全可以取代記事本,內(nèi)建英文單詞檢查、C++ 及 VB 指令突顯,可同時(shí)編輯多個(gè)文件,而且即使開啟很大的文件,速度也不會(huì)慢。

(3) Beyond Compare

Beyond Compare是一款功能強(qiáng)大的內(nèi)容對比工具,可以比較的內(nèi)容有以下這三種:電腦上兩個(gè)目錄的內(nèi)容;電腦上的目錄和FTP地址的內(nèi)容;兩個(gè)文本檔案的內(nèi)容(包括 UTF 8、html、Delphi源程序等文本檔案)。

Beyond Compare有內(nèi)建的HTML檔案瀏覽器,還有支援壓縮包的功能。這些特別的功能可以讓用戶作跨媒體之間進(jìn)行比較,例如:把現(xiàn)時(shí)網(wǎng)站的內(nèi)容與一個(gè)儲(chǔ)存在光碟上的壓縮備份檔案作比較。

(4) TortoiseSVN

TortoiseSVN是開源可視化的集中式代碼版本管理,是Subversion版本控制系統(tǒng)的一個(gè)免費(fèi)開源客戶端,可以超越時(shí)間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務(wù)器,可以將文件恢復(fù)到過去的版本,并且可以通過檢查歷史知道數(shù)據(jù)做了哪些修改,誰做的修改。這就是為什么許多人將 Subversion 和版本控制系統(tǒng)看作一種“時(shí)間機(jī)器”。

(5) Wireshark

Wireshark是一款強(qiáng)大的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)報(bào)文分析工具,也是深入學(xué)習(xí)各種網(wǎng)絡(luò)協(xié)議必不可少的利器。這是一個(gè)網(wǎng)絡(luò)封包分析軟件,其擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換。網(wǎng)絡(luò)封包分析軟件的功能可想像成“電工技師使用電表來量測電流、電壓、電阻”的工作,只是將場景移植到網(wǎng)絡(luò)上,并將電線替換成網(wǎng)絡(luò)線。

(6) SSH Secure Shell Client

SSH Secure Shell Client是一種強(qiáng)大安全遠(yuǎn)程登錄工具,如果使用虛擬器的方式開發(fā)AndroidLinux系統(tǒng),建議使用該工具,避免在圖形界面操作Linux系統(tǒng),減少PC的負(fù)載。SSH可以解決口令在網(wǎng)上明文傳輸?shù)膯栴},把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣“中間人”這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙。

嵌入式開發(fā)工具作為開發(fā)環(huán)節(jié)的核心裝備,其使用程度直接決定產(chǎn)品的研發(fā)效率。

很多開發(fā)人員局限于使用嵌入式開發(fā)工具的基本功能,卻不懂得如何深層次地使用開發(fā)工具以實(shí)現(xiàn)高效的開發(fā)與調(diào)試。例如,許多開發(fā)人員在命令行下使用GDB,痛苦地調(diào)試嵌入式Linux應(yīng)用程序,卻不知道基于Eclipse可以搭建圖形化的源碼級調(diào)試環(huán)境;又如,用大量的時(shí)間一遍遍跟蹤執(zhí)行目標(biāo)代碼來定位變量被預(yù)期之外的代碼修改的問題,殊不知使用數(shù)據(jù)斷點(diǎn)即可定位故障點(diǎn);再如,為了調(diào)試Linux內(nèi)核,安裝了大量開源調(diào)試工具,卻發(fā)現(xiàn)沒有幾樣真正有效。最后不得不在代碼中增加大量輸出信息,試圖使用窮舉的方式定位問題,卻不知道使用JTAG調(diào)試器結(jié)合通用的IDE,就可以實(shí)現(xiàn)Linux內(nèi)核的可視化源碼級調(diào)試。

導(dǎo)致工具使用不夠深入的原因包括:一是不少應(yīng)用級開發(fā)人員過于把目光集中在問題解決上,寧愿花大量時(shí)間使用開發(fā)工具的基本功能進(jìn)行低效率的開發(fā),卻不愿花時(shí)間深入研究開發(fā)工具所蘊(yùn)含的高效手段或探究高效的分析方法,實(shí)際上,許多開發(fā)工具的高級技巧在其文檔中都有體現(xiàn),只是許多技術(shù)人員忽略了文檔;二是多數(shù)開發(fā)人員僅僅看到嵌入式開發(fā)工具的基本功能,而沒有意識到其實(shí)現(xiàn)機(jī)制更值得深入研究,導(dǎo)致無法深入地使用工具。反觀那些系統(tǒng)級開發(fā)人員,尤其是涉及操作系統(tǒng)底層開發(fā)的高級人員,則能較深刻地理解開發(fā)工具的運(yùn)作機(jī)制,并能深入運(yùn)用。

很多情況下,開發(fā)工具的潛在能力可以提升數(shù)十倍工作效率。如果開發(fā)人員在工作中僅會(huì)使用嵌入式開發(fā)工具的基本功能,則是對工具潛在能力的巨大浪費(fèi)。因此,能夠深入研究嵌入式開發(fā)工具背后的機(jī)制并將之熟練運(yùn)用,標(biāo)志著開發(fā)人員的技術(shù)水平達(dá)到了較高的程度。

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

    關(guān)注

    5085

    文章

    19138

    瀏覽量

    305732
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5704

    瀏覽量

    123721
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1213

    瀏覽量

    166946

原文標(biāo)題:如何利用嵌入式集成開發(fā)工具,讓其更好地服務(wù)于設(shè)計(jì)?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

    嵌入式工程師常用的開發(fā)工具有哪些? 在嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域中,嵌入式工程師們憑借著一系列強(qiáng)大的工具
    發(fā)表于 12-20 15:29

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備中。這些系統(tǒng)的關(guān)鍵特點(diǎn)是它們與硬件的緊密集成
    的頭像 發(fā)表于 12-09 09:38 ?287次閱讀

    歐時(shí)推介微芯嵌入式控制解決方案

    的產(chǎn)品和服務(wù)。易于使用的開發(fā)工具和全面的產(chǎn)品組合能夠幫助客戶優(yōu)化設(shè)計(jì),降低風(fēng)險(xiǎn),同時(shí)降低系統(tǒng)總成本并縮短上市時(shí)間。微芯(Microchip)的解決方案服務(wù)于工業(yè)、汽車、消費(fèi)品、航空航
    的頭像 發(fā)表于 10-31 10:47 ?216次閱讀

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

    查看源代碼,注釋文檔等非常方便,因?yàn)樗檎遥ㄎ?,彩色顯示等功能非常強(qiáng)大。開發(fā)人員會(huì)當(dāng)成源代碼閱讀工具使用。 4.Keil uVision5 Keil 5 軟件是一款功能強(qiáng)大的嵌入式系統(tǒng)開發(fā)工
    發(fā)表于 09-09 15:22

    七大嵌入式GUI盤點(diǎn)

    的桌面開發(fā)工具工具允許開發(fā)人員在桌面上設(shè)計(jì)GUI并生成GUIX代碼,然后可以將其導(dǎo)出到目標(biāo)。
    發(fā)表于 09-02 10:58

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個(gè)處理器、內(nèi)存、存儲(chǔ)器、輸入/輸出接口等硬件組件,以及一個(gè)基于Linux的操作系統(tǒng)和
    的頭像 發(fā)表于 09-02 09:09 ?407次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    了處理器、存儲(chǔ)器、輸入/輸出接口等硬件資源的嵌入式系統(tǒng)開發(fā)平臺。它通常采用Linux操作系統(tǒng)作為底層軟件平臺,提供了豐富的開發(fā)工具和庫函數(shù),方便開發(fā)者進(jìn)行
    的頭像 發(fā)表于 09-02 09:07 ?404次閱讀

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

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

    服務(wù)于低頻帶5G頻譜以及傳統(tǒng)頻帶的寬帶天線

    本文以 Abracon LLC 的說明性單元為代表,探討了服務(wù)于低頻帶 5G 頻譜以及傳統(tǒng)頻帶的寬帶天線。文中展示了如何使用這種類型的天線(無論是看得見的外置單元還是內(nèi)置的嵌入式單元)來簡化設(shè)計(jì)和物料清單 (BOM),以及在需要時(shí)加快到 5G 的升級安裝。
    的頭像 發(fā)表于 07-18 10:50 ?899次閱讀
    <b class='flag-5'>服務(wù)于</b>低頻帶5G頻譜以及傳統(tǒng)頻帶的寬帶天線

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

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

    飛凌嵌入式Forlinx pinMux,更好用的MPU引腳復(fù)用配置工具

    飛凌嵌入式打造了一款專門針對ARM嵌入式MPU引腳復(fù)用的軟件工具——Forlinx pinMux
    的頭像 發(fā)表于 07-05 10:28 ?1845次閱讀
    飛凌<b class='flag-5'>嵌入式</b>Forlinx pinMux,<b class='flag-5'>更好</b>用的MPU引腳復(fù)用配置<b class='flag-5'>工具</b>

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語言在嵌入式系統(tǒng)開發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解特性和應(yīng)用場景。 4、
    發(fā)表于 07-02 10:10

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

    、SPI、CAN、WIFI、MQTT等多種通信協(xié)議。 4. 使用開發(fā)工具:熟練掌握嵌入式開發(fā)工具,如編譯器、調(diào)試器、仿真器和實(shí)時(shí)操作系統(tǒng)(RTOS)。 5. 閱讀數(shù)據(jù)手冊:仔細(xì)閱讀你所使用的微控制器或
    發(fā)表于 06-21 10:01

    瑞薩Smart Configurator支持SEGGER集成開發(fā)工具

    SEGGER與瑞薩電子(Renesas Electronics)近日宣布達(dá)成重要合作,SEGGER的集成開發(fā)工具Embedded Studio現(xiàn)已無縫融入瑞薩電子的Smart
    的頭像 發(fā)表于 05-10 14:25 ?756次閱讀

    嵌入式片上系統(tǒng)和ARM哪個(gè)更好

    嵌入式片上系統(tǒng)和ARM各有優(yōu)勢,難以直接比較哪個(gè)更好,因?yàn)樗鼈冊诓煌膽?yīng)用場景和需求下都有各自的價(jià)值。
    的頭像 發(fā)表于 03-28 15:14 ?524次閱讀