一、Windows 10下的环境配置
1.安装Chocolatey
管理员身份打开CMD,执行以下命令:
@"%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
关掉管理员身份运行的CMD,以非管理员身份再打开CMD,输入以下命令
pip3 install west
注意:一定是非管理员身份,否则系统会报pip3不存在的错
6.下载Zephyr源码
west init zephyrproject
7.更新Zephyr源码
cd zephyrproject
west update
8.安装Python依赖
pip3 install -r zephyr/scripts/requirements.txt
9.安装编译调试工具链
由于Windows平台没有像Zephyr-SDK这种一键安装包,所以只能根据单片机的型号单独安装工具链,且设置环境变量时只能设置一种
(1)arm内核
下载arm工具链
将解压后的文件移动到C盘
set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
set GNUARMEMB_TOOLCHAIN_PATH=C:\gcc-arm-none-eabi-7-2018-q2-update-win32
(2) x86内核
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 ..
可能出现Error: could not find CMAKE_PROJECT_NAME in Cache
这是build没有清空的原因,删除build文件夹即可
重启后可能出现No CMAKE_C_COMPILER could be found
这是因为该CMD会话没有运行过zephyr-env.cmd,每次重新打开CMD都要运行zephyr-env.cmd。
ninja
可能出现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.转换例子工程为Eclipse工程
cd samples/hello_world
mkdir build && cd build
cmake -G"Eclipse CDT4 - Ninja" -DBOARD=nrf52_pca10040 ..