ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Zephyr RTOS免硬件10分钟上手:在QEMU里看到第一行输出

Zephyr RTOS免硬件10分钟上手:在QEMU里看到第一行输出 Zephyr RTOS免硬件10分钟上手在QEMU里看到第一行输出【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr装了三遍SDK缺依赖、缺工具链只想在芯片上打一行字却卡在环境配置里。Zephyr RTOS实时操作系统给嵌入式设备用的轻量内核提供一条捷径不用买板子QEMU开源的硬件模拟器就能跑。Zephyr RTOS写给资源受限设备的实时内核Zephyr 是面向物联网和可穿戴设备的开源实时操作系统。你写一份代码选定目标板后编译它就变成那颗芯片上能跑的固件。最小内核配置占用 RAM 不到 10 KB绝大多数 MCU 装得下覆盖 ARM、x86、RISC-V、Xtensa、ARC、SPARC、MIPS 共 7 大架构族19 块 QEMU 虚拟板开箱即用完整列表见 boards/qemu/index.rst官方文档doc/index.rst 项目说明README.rst三步装好环境跑通第一个程序获取源码克隆仓库并进入目录git clone https://gitcode.com/GitHub_Trending/ze/zephyr cd zephyr激活环境。zephyr-env.sh把 westZephyr 的构建命令行工具加入 PATH再装齐 Python 依赖source zephyr-env.sh pip3 install -r scripts/requirements.txt编译。指定 qemu_x86 虚拟板产物落在 build/ 目录west build -b qemu_x86 samples/hello_world运行。执行west build -t runQEMU 自动启动控制台先打印内核启动横幅随后出现Hello World! x86。想关掉 QEMU在窗口内按CtrlA再按X。Hello World 里到底打印了什么samples/hello_world/ ├── CMakeLists.txt # 告诉构建系统编译 src/main.c ├── prj.conf # 内核配置本例留空 └── src/ └── main.c # 整个程序两个核心文件值得看一眼CMakeLists.txtfind_package(Zephyr)找到内核本体target_sources登记 main.c。就这 6 行有效代码完成应用与 Zephyr 的对接。main.c只有 1 条 printf参数CONFIG_BOARD_TARGET来自 Kconfig内核的编译期配置系统构建时被展开成目标板名不需要运行时查询。内核先完成启动和串口初始化才把执行权交给main。三个动手实验实验一换一块目标板。同一个示例改为 ARM Cortex-M3 架构重新编译运行west build -b qemu_cortex_m3 samples/hello_world -t run预期QEMU 启动横幅变为 ARM 风格最后打印Hello World! qemu_cortex_m3。实验二不改任何文件开一个 shell。构建时用--追加配置west build -b qemu_x86 samples/hello_world -- -DCONFIG_SHELLy -t run预期启动后控制台出现shell提示符输入help能列出可用命令。实验三确认增量编译真的省时间。对比一次干净重建west build -p -b qemu_x86 samples/hello_world -t run预期耗时明显长于实验一里的增量构建但输出完全一致。四个高频坑三行一个现象west: command not found。 原因当前 shell 没加载环境脚本west 不在 PATH 里。 修复source zephyr-env.sh现象pip3 install -r scripts/requirements.txt中途报错。 原因系统 Python 的打包工具链版本过旧。 修复python3 -m pip install -U pip setuptools wheel现象改动不生效或报出莫名其妙的错。 原因build 目录缓存了过期状态。 修复rm -rf build west build -b qemu_x86 samples/hello_world现象程序跑完了QEMU 窗口却不退。 原因west build -t run不会在程序结束后自动退出模拟器。 修复在 QEMU 窗口内按CtrlA再按X。跑通之后往哪走想理解线程、调度这些内核对象doc/kernel/index.rst想给某块芯片写驱动100 余类驱动可参考drivers/想做联网应用从示例入手samples/net/本文基于 Zephyr v4.4 编写不同版本行为可能有差异。【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表