一、cmake 编译
hello world 测试
打开示例工程 hello world
cd ~/zephyrproject/zephyr/samples/hello_world
新建 build 目前,用于存放临时文件目录,并进入该目录
mkdir -p build && cd build
通过 cmake 指令 生成 gd32f450z 工程的 makefile 文件
cmake -DBOARD = gd32f450z_eval ..
gd32f450z 在哪里找? 在 boards/gd/ 文件下,或者输入指令 west boards
west boards
支持 menuconfig 配置,输入指令
make BOARD=gd32f450z_eval menuconfig
编译指令
make
生成的可执行文件在 build/zephyr/ 目录下
下载到开发板,效果如下:
二、west 编译
进入目录
cd ~/zephyrproject/zephyr/
输入指令
west build -p auto -b gd32f450z_eval samples/hello_world/
报错,信息如下:
-- west build: generating a build system
CMake Error: The source "/home/user/zephyrproject/zephyr/samples/hello_world/CMakeLists.txt" does not match the source "/home/user/zephyrproject/zephyr/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
FATAL ERROR: command exited with status 1: /usr/bin/cmake -DWEST_PYTHON=/home/user/zephyrproject/.venv/bin/python3 -B/home/user/zephyrproject/zephyr/build -GNinja -DBOARD=gd32f450z_eval -S/home/user/zephyrproject/zephyr/samples/hello_world
解决办法:删除 ~/zephyrproject/zephyr/ 目录下的 build 目录
rm -rf build/
删除后,重新输入 west build -p auto -b gd32f450z_eval samples/hello_world/ 指令,信息如下:
进入 ~/zephyrproject/zephyr/build/zephyr 目录下,查看编译后的可执行文件,如下:
将程序下载到开发板,效果如下:
指示灯闪烁示例,输入指令
west build -p auto -b gd32f450z_eval samples/basic/blinky
编译完,将执行文件下载到开发板。效果如下,可以看到指示灯在闪烁同时打印信息:
参考:
https://docs.zephyrproject.org/latest/develop/west/build-flash-debug.html
https://docs.zephyrproject.org/latest/develop/west/zephyr-cmds.html#west-boards
https://blog.bruceou.cn/2020/09/2-zephyr-compilation-environment-setup-linux/237/
https://blog.csdn.net/My_CSDN_IT/article/details/118180074