2023年4月25日 星期二

在WSL2建立嵌入式系統軟體開發環境

之前介紹了WSL的安裝,

微軟的將WSL的使用對象放在開發人員,

讓開發人員能在Windows中,

使用 Linux 應用程式、公用程式甚至 Bash 命令列工具等

今天就教大家

在WSL2建立嵌入式系統軟體開發環境

在 WSL出現之前,

嵌入式系統的軟體開發建構於虛擬機器,

常見VM工具有 Virtual Box,VMware Workstation,甚至還有微軟自家的 Hyper-V,

現在多了一種選擇: Windows 子系統 Linux 版 ,

也就是最近介紹的 WSL


WSL 不同於 VM  ,

占用的資源很小,

但能做到的事情大多雷同,

要在 WSL 建立開發環境首先要先進行套件的列表更新

sudo apt-get update

接著就是嵌入式系統軟體開發環境需要的套件,

整理如下:(各家系統不同,此處範例安裝的套件大多均可適用)

sudo apt-get install git gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip mtd-utils bc bzip2 u-boot-tools


再來就是最重要的 cross compiler 的安裝,

同時這也是目前大多數的嵌入式系統採取的方式,

在PC上進行編譯,

再將產生的二進制檔刷到機器上


安裝完畢後可以寫個 hello.c ,

簡單做個測試,

讓 cross compiler 能夠正常運作


接著就是安裝除錯軟體工具 minicom,

它能讓開發人員在PC上面觀看機器運行的狀況,

甚至透過它來做刷機的動作,

早期多以 usb to rs232 連接小板進行除錯,

現在常見的多為 usb 轉 uart 的小板,

在 WSL 中同樣都能透過 minicom 來除錯


WSL 很可惜在 USB連接上並未獲得官方的支持,

所以需要透過第三方的軟體來連接 USB 除錯工具

但官方說明有介紹此第三方軟體的安裝方式

也就是得在 WSL 上安裝 USBIPD-WIN 專案,

並且 Windows端與 WSL端都要安裝相關的支援套件


WSL端則需要安裝

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20



最後還需要以管理員在終端機中執行

usbipd wsl attach --busid <busid>

才能正確將 USB裝置接入 WSL中,

如此一來就能在 WSL 中進行嵌入式系統的軟體開發,

最後附上影片教學,

別忘記訂閱支持本站 YouTube頻道





沒有留言: