• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):從瀏覽器中調(diào)試微控制器
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):從瀏覽器中調(diào)試微控制器

嵌入式開發(fā):從瀏覽器中調(diào)試微控制器

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:29℃        返回列表

  任何嵌入式軟件開發(fā)人員面臨的首要挑戰(zhàn)之一是安裝和配置他們的開發(fā)環(huán)境和工具鏈。工具鏈版本、芯片供應(yīng)商庫、Windows 與

Linux、調(diào)試配置、IDE

設(shè)置和環(huán)境變量只是現(xiàn)代嵌入式開發(fā)人員工作區(qū)的幾個(gè)組成部分。所有這些復(fù)雜性的結(jié)果是一個(gè)脆弱的、難以復(fù)制的工作空間,用于關(guān)鍵系統(tǒng)中經(jīng)常使用的軟件。我們認(rèn)為這種開發(fā)者體驗(yàn)等同于折磨,并認(rèn)為這是從進(jìn)入市場(chǎng)中獲取價(jià)值。


  如果開發(fā)環(huán)境可以完全打包并從開發(fā)人員那里抽象出來,他們將能夠更快地開始應(yīng)用程序開發(fā)。遠(yuǎn)程管理的工具鏈還有助于提高團(tuán)隊(duì)合作的效率。


  既定的方式


  消除工具鏈難題的傳統(tǒng)方法通常是通過使用集成開發(fā)環(huán)境 (IDE)。

然而,這些包通常被鎖定到特定的芯片供應(yīng)商或編譯器,可能有付費(fèi)墻來公開高級(jí)功能,并且在功能可用性方面可能受到限制。多年來,我們的“黃金標(biāo)準(zhǔn)”如下:


  Ubuntu 虛擬機(jī)

  Eclipse

  GNU MCU Eclipse 工具

  來自 VM 的 USB Passthrough 用于調(diào)試板


  現(xiàn)代網(wǎng)絡(luò)選項(xiàng)


  VS Code、容器化、Microsoft

的調(diào)試協(xié)議和語言服務(wù)器協(xié)議等技術(shù)結(jié)合在一起,實(shí)現(xiàn)了變革性的開發(fā)人員體驗(yàn)。當(dāng)前將這些技術(shù)結(jié)合到市場(chǎng)上的大多數(shù)方法都是建立在 VS Code

的一些變體之上的。每個(gè)解決方案都在爭(zhēng)相利用 VS Code 在瀏覽器中運(yùn)行的能力,就像它在本地機(jī)器上運(yùn)行一樣無縫。


  一種選擇是 Github 代碼空間。哪個(gè)選項(xiàng)要求用戶使用付費(fèi)計(jì)劃,不專注于嵌入式開發(fā),并且使用閉源的閉源服務(wù)器。另一種選擇是

Keil Studio。 Keil Studio 針對(duì)基于 ARM

的微控制器的嵌入式開發(fā)進(jìn)行了優(yōu)化,定價(jià)和路線圖尚未確定。它不提供終端訪問,并提供有限數(shù)量的嵌入式目標(biāo)來使用。




  為什么選擇 Gitpod


  值得注意的是 Gitpod 的全功能免費(fèi)套餐。他們每月提供 50 小時(shí)的運(yùn)行工作空間,無需付款詳情。五十小時(shí)足以讓您了解

Zephyr 和 Golioth 生態(tài)系統(tǒng)。最后,Gitpod 是開源的,使開發(fā)人員能夠根據(jù)他們的需求優(yōu)化他們的工作區(qū)。


  我們的目標(biāo)嵌入式云開發(fā)人員體驗(yàn)將是開發(fā)人員實(shí)例化云開發(fā)環(huán)境并且具有零本地工具依賴性的體驗(yàn)。

然后,他們可以將他們的調(diào)試硬件從任何可以訪問互聯(lián)網(wǎng)的地方插入任何機(jī)器并進(jìn)行開發(fā)。 我們當(dāng)前的實(shí)現(xiàn)需要三個(gè)本地工具來促進(jìn)使用 Gitpod 軟件和 VS Code

的當(dāng)前狀態(tài)進(jìn)行調(diào)試的功能。 Gitpod 提供了一個(gè) Gitpod Local Companion,它允許本地主機(jī)訪問遠(yuǎn)程工作區(qū)中的任何 TCP

端口。本地所需的第二個(gè)軟件是 SSH。SSH 是在 Gitpod 實(shí)例和本地機(jī)器之間建立 ssh 隧道所必需的。在本地機(jī)器上運(yùn)行的最終軟件是

JlinkGDBServerCL。


  目前技術(shù)水平


  促進(jìn)基于云的開發(fā)的技術(shù)已經(jīng)到來,它將顯著提高生產(chǎn)力和開發(fā)人員體驗(yàn)。不幸的是,我們?nèi)匀挥斜镜匾蕾図?xiàng),并且在當(dāng)前狀態(tài)下,還沒有針對(duì)通過

Internet 使用進(jìn)行優(yōu)化。步驟調(diào)試已完成,但嵌入式云開發(fā)與本地開發(fā)環(huán)境競(jìng)爭(zhēng)仍有一些工作要做。


  為了正確執(zhí)行此操作,我們將向嵌入式開發(fā)人員瀏覽器提供兼容 MS DAP 的調(diào)試服務(wù)器(例如 Probe.rs),并使用

webUSB 將其連接到目標(biāo)板。存在的一個(gè)挑戰(zhàn)是缺乏用 Javascript 或 WebAssembly 編寫的開源微控制器調(diào)試器。從 C 代碼到

WebAssembly 的轉(zhuǎn)換并不簡(jiǎn)單,而且容易出錯(cuò)。但是,確實(shí)存在 Rust 到 WebAssembly 的有效翻譯器,Probe.rs 是一個(gè)用 Rust

編寫的開源調(diào)試器。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部