Zephyr OS 學習筆記0-3:Zephyr環(huán)境配置(原生方法)

一、Windows 10下的環(huán)境配置

1.安裝Chocolatey

管理員身份打開CMD,執(zhí)行以下命令:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

等待安裝完成

2.禁用全局設置

CMD輸入

choco feature enable -n allowGlobalConfirmation

3.安裝CMake

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'

4.安裝工具鏈剩下的組件

choco install git python ninja dtc-msys2 gperf

5.安裝west

關(guān)掉管理員身份運行的CMD,以非管理員身份再打開CMD,輸入以下命令

pip3 install west

注意:一定是非管理員身份,否則系統(tǒng)會報pip3不存在的錯

6.下載Zephyr源碼

west init zephyrproject

7.更新Zephyr源碼

cd zephyrproject
west update

8.安裝Python依賴

pip3 install -r zephyr/scripts/requirements.txt

9.安裝編譯調(diào)試工具鏈

由于Windows平臺沒有像Zephyr-SDK這種一鍵安裝包,所以只能根據(jù)單片機的型號單獨安裝工具鏈,且設置環(huán)境變量時只能設置一種

(1)arm內(nèi)核

下載arm工具鏈
將解壓后的文件移動到C盤
set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
set GNUARMEMB_TOOLCHAIN_PATH=C:\gcc-arm-none-eabi-7-2018-q2-update-win32

(2) x86內(nèi)核

https://docs.zephyrproject.org/latest/getting_started/toolchain_3rd_party_x_compilers.html

10.運行zephyrproject\zephyr文件夾下的zephyr-env.cmd

zephyrproject文件夾在你運行第6步時的目錄下

11.命令行編譯

cd samples/hello_world
mkdir build && cd build
cmake -GNinja -DBOARD=nrf52_pca10040 ..

可能出現(xiàn)Error: could not find CMAKE_PROJECT_NAME in Cache

這是build沒有清空的原因,刪除build文件夾即可

重啟后可能出現(xiàn)No CMAKE_C_COMPILER could be found

這是因為該CMD會話沒有運行過zephyr-env.cmd,每次重新打開CMD都要運行zephyr-env.cmd。

ninja

可能出現(xiàn)arm-none-eabi-objcopy.exe: zephyr.hex 64-bit address 0x4b4fa300000000 out of range for Intel Hex file

這是由于安裝了ARM最新的工具鏈,最新版有Bug,使用前一個版本是沒問題的,見第9步

12.下載Eclipse

https://mirrors.tuna.tsinghua.edu.cn/eclipse/technology/epp/downloads/release/

13.轉(zhuǎn)換例子工程為Eclipse工程

cd samples/hello_world
mkdir build && cd build
cmake -G"Eclipse CDT4 - Ninja" -DBOARD=nrf52_pca10040 ..

14.Eclipse安裝GNU MCU Eclipse插件

1.png

2.png

二、Linux下的環(huán)境配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容