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

posted @   cogitoergosum  阅读(72)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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源码
点击右上角即可分享
微信分享提示