window 编译zephyr
1、stm32f103_mini编译
cd zephyrproject\zephyr
west build -b stm32f103_mini samples/hello_world
2、qemu_cortex_m3编译
cd mysource\zephyrproject\zephyr
west build -b qemu_cortex_m3 samples/hello_world
west build -t run
3、调试
set PATH=F:\software_install\SEGGER\JLink;%PATH%
west flash --runner jlink
west debug --runner jlink
west debug --runner jlink -f build_stm32f103_0704\zephyr\zephyr.elf
west flash --runner jlink -f build_stm32f103_0704\zephyr\zephyr.bin --reset-after-load
4、vscode搭建调试zephyr
5、0704调试
6、gpio函数使用
https://blog.csdn.net/bjbz_cxy/article/details/119575487
添加新board及文件说明:
https://docs.panchip.com/pan1080dk-doc/0.8.0/04_dev_guides/zephyr_board_guidance.html
west build -b stm32f103_0704 samples/hello_world -d build_stm32f103_0704
menuconfig:
west build -b stm32f103_0704 samples/test -d build_stm32f103_0704
west build -t menuconfig -d build_stm32f103_0704
7、gcc 和 armgcc的设备树引用编译
cd /D F:\stm32\zephyrproject\mytest && F:\stm32\zephyrproject\zephyr-sdk-0.16.8\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe main.c -o main -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -IF:\stm32\zephyrproject\mytest
cd /D F:\stm32\zephyrproject\mytest && F:\stm32\zephyrproject\zephyr-sdk-0.16.8\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe main.c -o main -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -DCONFIG_ARM -lm -lc --specs=nosys.specs
1、生成预处理文件
cd /D F:\stm32\zephyrproject\mytest && F:\stm32\zephyrproject\zephyr-sdk-0.16.8\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -E main.c -o main.i -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -DCONFIG_ARM -lm -lc --specs=nosys.specs
F:\software_install\Keil_v5\ARM\ARMCC\bin
2、汇编代码
cd /D F:\stm32\zephyrproject\mytest && F:\stm32\zephyrproject\zephyr-sdk-0.16.8\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -S main.c -o main.s -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -DCONFIG_ARM -lm -lc --specs=nosys.specs
3、目标文件
cd /D F:\stm32\zephyrproject\mytest && F:\stm32\zephyrproject\zephyr-sdk-0.16.8\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -c main.c -o main.o -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -DCONFIG_ARM -lm -lc --specs=nosys.specs
使用keil自身的编译器编译
cd /D F:\stm32\zephyrproject\mytest && F:\software_install\Keil_v5\ARM\ARMCC\bin\armcc.exe -E main.c -o main.i -IF:\stm32\zephyrproject\zephyr-3.7.0\include\ -IF:/stm32/zephyrproject/zephyr-3.7.0/build_stm32f103_0704/zephyr/include/generated/ -DCONFIG_ARM -D__ARMCOMPILER_VERSION -D__LITTLE_ENDIAN__ -D__CHAR_BIT__=8 -D__SIZEOF_LONG__=4 -D__SIZEOF_LONG_LONG__=8
#include <stdio.h> // #include <device.h> #include <zephyr/device.h> // #include <zephyr/init.h> // #include <zephyr/linker/sections.h> // #include <zephyr/pm/state.h> // #include <zephyr/sys/device_mmio.h> // #include <zephyr/sys/iterable_sections.h> // #include <zephyr/sys/util.h> // #include <zephyr/toolchain.h> #define APPRUNLED DT_ALIAS(runled) #define RUNLEDPIN DT_PHA_BY_IDX(APPRUNLED, gpios, 0, pin) #define RUNLEDFLAG DT_PHA_BY_IDX(APPRUNLED, gpios, 0, flags) int main(void) { printf("pin:%d\n", RUNLEDPIN); printf("regaddr:%08x\n",DT_REG_ADDR(DT_NODELABEL(gpiof))); return 0; }
参考链接:
zephry 环境搭建: https://blog.csdn.net/weixin_42443946/article/details/124398691
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2020-08-11 使用Ubuntu编译OpenWRT源码