在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

嵌入式硬件的軟件開發工具趨勢

djelje ? 2022-12-28 09:51 ? 次閱讀

都說手里只有錘子的人,看什么都像釘子。為正確的工作使用正確的工具對于任何技術職業的有效性和效率都是至關重要的。嵌入式系統開發也不例外。也就是說,直到最近,針對嵌入式開發的工具還缺乏針對桌面、Web 和移動開發人員的開發工具中的改進和現代功能集。此外,對微控制器FPGA 進行編程歷來需要相當昂貴的硬件編程器/調試器和專有軟件許可證。最近對更多開源生態系統(例如,RISC-V 微處理器、Arduino IDE 等)的推動,可以說對許多嵌入式開發工具的穩健性和用戶友好性產生了積極影響。

集成開發環境 (IDE):許多開發人員喜歡使用簡單的文本編輯器進行編碼,尤其是 Linux 上的 Vim 或 Nano。它們是輕量級的,默認情況下幾乎可以在每個 Linux 發行版中找到。然而,現代代碼編輯器和 IDE 提供了更多的功能,這使得它們對嵌入式開發人員非常有吸引力。此外,許多嵌入式硬件制造商提供特定于其各種微控制器系列的定制 IDE。以制造商為中心的 IDE 提供了許多優勢,例如訪問外部組件的支持庫、多個微控制器的模板以及幫助開發人員開始使用新硬件的示例。

版本控制工具:如果不是連續的,軟件開發就什么都不是。此外,很少有單個開發人員開發現代嵌入式系統?;蛘咧辽?,嵌入式開發人員必須與移動或 Web 開發人員合作,因為嵌入式系統往往是更大軟件生態系統的一部分。Git 等版本控制工具提供了在整個開發周期中管理源代碼迭代的能力。GitHub 和 GitLab 是兩個流行的基于云的源代碼和其他設計文件存儲庫。版本控制、發布管理和錯誤報告只是使用版本控制工具的部分好處。但是,也有一些缺點。主要是它們已成為網絡安全攻擊鏈的一部分,因為開發人員有時會不小心留下用戶名、密碼、或他們推送到公開可用存儲庫的提交中的加密密鑰。然后,不良行為者會搜索這些存儲庫以查找該信息并將其整合到他們的惡意軟件攻擊中。

調試器:從歷史上看,調試微控制器意味著昂貴的硬件。在線仿真器 (ICE) 是插入更廣泛系統的微控制器插座的設備。它們允許實時執行固件,同時還提供調試功能,例如寄存器和內存訪問、條件斷點和跟蹤緩沖區。更常見且更便宜的是在線調試器 (ICD)。通常,設備位于開發人員工作站和目標微控制器之間,并允許通過在線串行編程 (ICSP) 協議進行調試。某些現代微控制器開發板甚至內置調試 ICSP 硬件,并通過直接連接目標開發板和開發人員工作站的 USB 電纜進行訪問。

Linter:當我們寫文章或報告時,我們通過拼寫和語法檢查工具運行最終草稿。linter 是一個類似的概念,但用于源代碼。linter 靜態地查看源代碼(即,在編譯之前,而不是在機器代碼在目標設備上運行時),并且可以檢測由風格錯誤、配置錯誤、項目結構錯誤、庫依賴性錯誤引起的問題。這些錯誤會影響從可讀性到阻止成功編譯的任何事情。

GitHub Copilot:幾十年來,自動完成一直是許多代碼編輯器的一個功能。自動完成通過在開發人員輸入源代碼時為關鍵字和變量名稱提供實時智能建議來幫助開發人員提高效率。GitHub 的 Copilot 是一種基于 AI 的代碼完成工具(Visual Studio Code 的插件),它將自動完成的理念提升到了一個全新的水平。Copilot 將檢查開發人員編寫的函數名稱,并推薦執行該函數所需的全部源代碼。例如,假設您編寫以下內容:

float calculateVolume

Copilot 將完成函數聲明如下:

float calculateVolume(float radius) {

return (4.0/3.0) * PI * radius * radius * radius;

}

Copilot 本質上是一位 AI 同事,他可以通過至少提供函數定義的起點來幫助開發代碼。但是,與任何自動化工具一樣,它并不能取代人工審查并在必要時更正 Copilot 生成的代碼的需要。

HTTP 和 API 檢查工具:嵌入式設備(即物聯網設備)不通過網絡通信的情況越來越少,即使不是互聯網本身。不幸的是,Web 應用程序開發人員很可能正在(與嵌入式開發工作)并行創建軟件。Postman 等工具允許嵌入式開發人員獨立檢查和測試 HTTP 請求方法(例如,PUT、POST、GET)和 API 請求并在將它們提交到固件之前。因此,故障排除與嵌入式硬件無關,確保 API 的任何問題都完全是因為 API 本身,而不是固件或嵌入式硬件。

數據包檢查工具:雖然面向開發的 HTTP 和 API 檢查工具非常適合高級調試,但有時需要在數據包級別進行檢查,或者可能需要檢查不同的協議,例如 Zigbee。在這些情況下,有必要使用 Wireshark 等數據包檢測工具。Wireshark 可以記錄和檢查許多基于數據包的通信協議。

基于軟件的邏輯分析儀:開發人員越來越普遍地使用基于軟件的工具來調試他們的設備,而不是擺滿笨重的基于硬件的示波器和邏輯分析儀。通常,基于軟件的工具通過 USB 電纜連接到個人計算機,界面以桌面應用程序的形式提供。流行的入門級/中級邏輯分析儀是 Saleae 邏輯分析儀。這些基于軟件的工具對現場技術人員來說非常有吸引力。通過將傳統上基于實驗室的分析帶到現場,他們可以更有效地檢查和排除已部署設備的故障。基于軟件的分析器的一個重要優勢是,除了支持的默認協議(例如 I2C、SPI、串行)之外,還可以為自定義通信協議編寫您自己的協議分析器。

安全外殼 (SSH) 終端客戶端:對于運行操作系統并提供 shell 訪問以進行遠程管理的更強大的嵌入式系統,可能需要通過 SSH 連接到設備以執行特定的維護任務。或者可能需要遠程登錄多個物聯網設備與之通信的服務器,并對后端服務進行更改。無論如何,遠程訪問系統的能力至關重要,而 Termius 等 SSH 終端客戶端使之成為可能?,F代客戶端中的其他有用功能包括通過單擊鼠標創建、存儲和運行 bash 代碼片段。它們還提供一次訪問多個終端的能力。最后,一些客戶端還提供安全文件傳輸 (SFTP) 功能,用于將文件傳輸到本地計算機或從遠程設備傳輸文件。

審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5119

    文章

    19403

    瀏覽量

    312256
收藏 人收藏

    評論

    相關推薦

    如何成為一名嵌入式軟件工程師?

    、Java等)和軟件開發工具,還需要對硬件的工作原理有深入的理解。 在團隊中,嵌入式軟件工程師往往扮演著核心角色,他們的工作直接關系到產品的性能、穩定性和用戶體驗。 02掌握核心技
    發表于 04-15 14:37

    IAR發布云端平臺,助力現代嵌入式軟件開發團隊

    該平臺為嵌入式軟件開發人員提供前所未有的自由度與靈活性,助力開發團隊在工具選擇和日常工作流中實現更高效的協作與創新。
    的頭像 發表于 03-12 11:56 ?212次閱讀

    盤點工程師常用的嵌入式開發工具

    嵌入式開發涉及硬件軟件的緊密結合,開發工具的選擇對效率和質量至關重要。以下是嵌入式開發中常用的工具
    的頭像 發表于 02-07 10:06 ?939次閱讀

    嵌入式機器學習的應用特性與軟件開發環境

    設備和智能傳感器)上,這些設備通常具有有限的計算能力、存儲空間和功耗。本文將您介紹嵌入式機器學習的應用特性,以及常見的機器學習開發軟件開發環境。 嵌入式機器學習的應用特性與優勢 由于
    的頭像 發表于 01-25 17:05 ?431次閱讀
    <b class='flag-5'>嵌入式</b>機器學習的應用特性與<b class='flag-5'>軟件開發</b>環境

    最新Simplicity SDK軟件開發工具包發布

    最新的SimplicitySDK軟件開發工具包已經發布!此次更新針對SiliconLabs(芯科科技)第二代無線開發平臺帶來了包括藍牙6.0的信道探測(Channel Sounding
    的頭像 發表于 12-24 09:47 ?561次閱讀

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

    仿真器可以模擬復雜的微控制器和外設,幫助工程師在早期階段進行軟件開發和調試。這大大縮短了開發周期,降低了開發成本。 總之,嵌入式工程師需要熟練掌握這些
    發表于 12-20 15:29

    嵌入式系統開發硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備中。這些系統的關鍵特點是它們與
    的頭像 發表于 12-09 09:38 ?704次閱讀

    一文了解嵌入式軟件開發的對象

    以前應用場景很單一,嵌入式開發可能談不上面向對象開發。但現在,做嵌入式開發,沒有面向對象開發,你就有點落伍了。 本文結合個人經驗和周立功《抽象接口技術和組件
    的頭像 發表于 11-15 10:31 ?641次閱讀
    一文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的對象

    你認為嵌入式軟件開發的盡頭是什么?

    嵌入式軟件開發的“盡頭”是一個富有哲理且多維度的概念,因為它不僅關乎技術發展的極限,還涉及到行業應用、市場需求、技術融合與創新等多個方面。從幾個不同的視角來看
    的頭像 發表于 09-18 09:42 ?643次閱讀
    你認為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>的盡頭是什么?

    嵌入式開發常用軟件有哪些?

    查看源代碼,注釋文檔等非常方便,因為它查找,定位,彩色顯示等功能非常強大。開發人員會當成源代碼閱讀工具使用。 4.Keil uVision5 Keil 5 軟件是一款功能強大的嵌入式
    發表于 09-09 15:22

    嵌入式linux開發板芯片的工作原理

    了處理器、存儲器、輸入/輸出接口等硬件資源的嵌入式系統開發平臺。它通常采用Linux操作系統作為底層軟件平臺,提供了豐富的開發工具和庫函數,
    的頭像 發表于 09-02 09:07 ?626次閱讀

    嵌入式軟件開發與AI整合

    嵌入式軟件開發與AI整合是當前技術發展的重要趨勢之一。隨著人工智能技術的快速發展,嵌入式系統越來越多地集成了AI算法,以實現更復雜的智能功能。以下是關于
    的頭像 發表于 07-31 09:25 ?1113次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發</b>與AI整合

    嵌入式系統怎么學?

    、C++或者Python。這些語言在嵌入式系統開發中都被廣泛應用。 3、微處理器/微控制器架構:學習常見的微處理器和微控制器架構,如ARM、AVR、PIC等,了解其特性和應用場景。 4、嵌入式系統
    發表于 07-02 10:10

    嵌入式硬件VS軟件,到底哪個更難?

    嵌入式系統開發中,硬件軟件是密不可分的兩個方面。但是,究竟是硬件開發更具挑戰性,還是
    的頭像 發表于 06-13 08:10 ?1533次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>硬件</b>VS<b class='flag-5'>軟件</b>,到底哪個更難?

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式
    發表于 05-16 11:00
    主站蜘蛛池模板: 欧美黑粗硬 | 人人艹人人艹 | 五月婷婷久久综合 | 国产999星空传媒在线观看 | 丝袜美腿一区 | 悠悠影院欧美日韩国产 | 免费人成在线观看视频播放 | 在线观看日本免费不卡 | 2019偷偷狠狠的日日 | 天天插天天操天天射 | 久久频这里精品99香蕉久网址 | 国模视频在线 | 天天射夜夜操 | 三级精品在线观看 | 国产精品17p| 亚洲国产午夜精品理论片的软件 | 欧美精品网| 亚洲精品久久婷婷爱久久婷婷 | 闲人综合 | 男人的天堂免费视频 | 欧美色交| 国产资源在线免费观看 | 天天久久 | h视频在线观看免费网站 | 视频在线观看高清免费大全 | 精品久久久久久中文字幕欧美 | 在线免费视频网站 | 国产一级毛片外aaaa | 欧美成人h精品网站 | 思思久久96热在精品不卡 | 一区二区免费视频 | 老师下面很湿很爽很紧 | 日本成人免费在线视频 | 国产99久9在线视频 国产99久久九九精品免费 | 欧美黑粗硬 | 亚洲一区小说区中文字幕 | 成年大片免费播放视频人 | 中文字幕乱码人成乱码在线视频 | 一级一级毛片免费播放 | 久久天天躁狠狠躁夜夜 | 久久羞羞视频 |