之前介紹了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頻道