如何在Windows上手動(dòng)安裝和配置功能強(qiáng)大的Zephyr RTOS環(huán)境
0. 介紹
你好!本文是在Windows上手動(dòng)安裝Zephyr RTOS的分步指南。
Zephyr是一個(gè)現(xiàn)代的開源RTOS,已經(jīng)在工業(yè)設(shè)備和物聯(lián)網(wǎng)系統(tǒng)中使用。它支持?jǐn)?shù)十種微控制器,包括STM32和ESP32-S3,非常適合那些想要超越Arduino并了解實(shí)時(shí)系統(tǒng)如何工作的人。
我們的目標(biāo)是創(chuàng)建一個(gè)完全可控和隔離的開發(fā)環(huán)境。
1. 準(zhǔn)備-下載所有必要的組件
在本節(jié)中,讓我們下載所需的所有內(nèi)容。我們不會(huì)安裝任何東西,只是下載。
在進(jìn)入Zephyr的世界之前,我們需要準(zhǔn)備我們的工具包,比如Git和Python。如果你已經(jīng)有了,那太好了!如果沒有,這里有下載鏈接。
1.1. 下載軟件
我將在括號(hào)中指出我使用的程序的版本,但您的版本可能會(huì)有所不同。
?Python(3.12.10):用于Zephyr構(gòu)建腳本的編程語言。
?Git(2.51.0):版本控制系統(tǒng)(west需要)。
?7-Zip(24.09):解壓SDK的歸檔器。
?CMake(4.1.1):一個(gè)強(qiáng)大的軟件構(gòu)建系統(tǒng)。
?忍者(1.13.1):一個(gè)專注于速度的小型構(gòu)建系統(tǒng)。
?OpenOCD(0.12.0):微控制器的調(diào)試器。
?VS Code(1.105.0):支持調(diào)試的代碼編輯器。
不要讓這個(gè)列表嚇到你——這些都是標(biāo)準(zhǔn)的、輕量級(jí)的工具,在Zephyr之外也會(huì)派上用場(chǎng)。
1.2. 下載Zephyr SDK
Zephyr SDK(0.17.4):我們的編譯器集。下載最小SDK,僅適用于STM32和ESP32-S3,但可以隨意下載您計(jì)劃使用的任何其他微控制器的工具鏈。
最小的SDK包含基本的基礎(chǔ)架構(gòu),但不包含所有編譯器——我們將手動(dòng)添加必要的編譯器,以節(jié)省空間并加快安裝速度。
導(dǎo)航到Zephyr頁面,找到Zephyr SDK(Windows)安裝部分,然后單擊Download the Zephyr SDK bundle鏈接。這將帶您到最新版本的官方GitHub存儲(chǔ)庫。
下載Windows x86-64的三個(gè)存檔文件:Minimal、arm-zephyr-eabi、xtensa-espressif_esp32s3_zephyr-elf。
2. 設(shè)置沙盒環(huán)境
2.1. 安裝主軟件
安裝Python、Git、VS Code、7-Zip和CMake。
重要:從安裝程序安裝時(shí),請(qǐng)確保選中“Add to PATH”框(如果有這樣的選項(xiàng)),或者手動(dòng)將可執(zhí)行文件的路徑添加到PATH變量中。
2.2. 創(chuàng)建文件夾結(jié)構(gòu)
讓我們創(chuàng)建Zephyr車間。我將使用D:\Zephyr,但您可以選擇任何方便的位置(例如,C:\Projects\Zephyr)。
轉(zhuǎn)到D:\Zephyr目錄,創(chuàng)建一個(gè)名為tools的文件夾。
將Ninja和OpenOCD存檔的內(nèi)容解壓縮到工具中,每個(gè)工具都放入自己的子文件夾中。
接下來,從zephyr-sdk-0.17.4_windows-x86_64_minimal.7z歸檔文件中,將其內(nèi)容解壓縮到tools文件夾中。
工具中將出現(xiàn)一個(gè)名為zephyr-sdk-0.17.4的文件夾,為方便起見,我們將其重命名為zephyr-sdk。
轉(zhuǎn)到zephyr-sdk文件夾并解壓剩下的兩個(gè)歸檔文件toolchain_windows-x86_64_arm-zephyr-eabi.7z和toolchain_windows-x86_64_xtensa-espressif_esp32s3_zephyr-elf.7z。
文件夾結(jié)構(gòu)應(yīng)該如下所示。
2.3創(chuàng)建Python虛擬環(huán)境
打開終端,檢查Python的安裝和配置:
如果您得到一個(gè)版本號(hào),說明一切都配置正確。
現(xiàn)在讓我們?yōu)閆ephyr Python腳本創(chuàng)建一個(gè)獨(dú)立的空間。這被稱為虛擬環(huán)境,是避免庫版本沖突的最佳實(shí)踐。打開終端,導(dǎo)航到D:\Zephyr,然后運(yùn)行命令:
在這個(gè)階段,您應(yīng)該有。Venv和工具文件夾。
2.4. 創(chuàng)建并激活啟動(dòng)器腳本
前面,我提到需要將所有可執(zhí)行文件的路徑添加到PATH變量中,以便Windows知道它們的位置,但是這可以通過當(dāng)前會(huì)話的批處理文件在本地完成。
我們不修改系統(tǒng)的全局環(huán)境變量,而是創(chuàng)建一個(gè)方便的zephyr-env。在D:\Zephyr文件夾中的cmd腳本,它將“動(dòng)態(tài)”配置我們的整個(gè)環(huán)境。
zephyr-env。cmd腳本將激活Python虛擬環(huán)境并為當(dāng)前終端會(huì)話設(shè)置變量ZEPHYR_BASE, ZEPHYR_SDK_INSTALL_DIR, ZEPHYR_TOOLCHAIN_VARIANT和其他變量。
您可以向此腳本添加任何環(huán)境變量。
文件夾結(jié)構(gòu)應(yīng)如下所示:
2.5. 檢查啟動(dòng)程序腳本
zephyr-env.cmd運(yùn)行。您應(yīng)該在終端中看到以下內(nèi)容:
現(xiàn)在讓我們確保所有的工具都就位了。依次輸入以下命令。回答應(yīng)該類似于下面的答案(版本可能會(huì)有所不同):
如果所有命令都顯示版本號(hào)-太棒了!環(huán)境設(shè)置正確。如果沒有找到命令,請(qǐng)檢查腳本中的PATH和路徑。
2.6. 下載Zephyr源代碼
太好了,所有的工具都到位了!現(xiàn)在,保持在相同的終端(D:\Zephyr),讓我們安裝Zephyr源代碼本身:
?Install west:這是Zephyr的“項(xiàng)目經(jīng)理”。在我們的虛擬環(huán)境中安裝它:
?初始化工作空間:下面的命令將創(chuàng)建zephyrproject主文件夾,并將Zephyr核心下載到其中:
?下載所有模塊:這個(gè)命令就像一個(gè)編排器,以正確的版本拉入幾十個(gè)相關(guān)的項(xiàng)目(HAL模塊,庫,引導(dǎo)加載程序):
?配置IDE集成:這允許CMake自動(dòng)加載構(gòu)建Zephyr應(yīng)用程序所需的樣板代碼:
?安裝Python依賴項(xiàng):現(xiàn)在我們有了所有的源代碼,讓我們安裝構(gòu)建它所需的Python庫:
?最后一步-下載Wi-Fi和藍(lán)牙在ESP32上工作所需的文件:
最終的文件夾結(jié)構(gòu)應(yīng)該如下:
重要:運(yùn)行zephyr-env。每次想要使用Zephyr RTOS時(shí),都要打開cmd。
3. 配置Visual Studio代碼
我們的開發(fā)環(huán)境差不多準(zhǔn)備好了!剩下的就是配置VS Code以舒適地使用Zephyr。
3.1. 安裝所需的擴(kuò)展
我們將只安裝四個(gè)擴(kuò)展,這將使使用Zephyr盡可能方便——從語法高亮顯示到代碼自動(dòng)完成。
啟動(dòng)VS Code并打開擴(kuò)展面板(Ctrl+Shift+X)。在“搜索擴(kuò)展”字段中,輸入擴(kuò)展名并單擊“安裝”按鈕進(jìn)行安裝。對(duì)上圖中所示的所有擴(kuò)展重復(fù)此操作。
3.2. 配置CMake工具
剩下一個(gè)擴(kuò)展要配置- CMake工具。
默認(rèn)情況下,它會(huì)在每次打開或修改文件時(shí)自動(dòng)配置項(xiàng)目。這與西風(fēng)建造系統(tǒng)產(chǎn)生了沖突。讓我們禁用這些自動(dòng)操作。
打開VS Code設(shè)置(文件→首選項(xiàng)→設(shè)置或按Ctrl+,)。
在擴(kuò)展→CMake工具部分,找到并禁用三個(gè)選項(xiàng),如圖所示。
高級(jí)用戶的替代方案:
打開設(shè)置。json (Ctrl+Shift+P→“Open Settings json”),并添加以下行:
完成了!VS Code已經(jīng)配置好,可以使用Zephyr了。
4. 結(jié)論
恭喜你!現(xiàn)在,您不僅安裝了Zephyr,還擁有了自己的完全可控的開發(fā)實(shí)驗(yàn)室,用于實(shí)驗(yàn)微控制器。
代碼
本文編譯自hackster.io





