新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何在 QEMU 中运行 Zephyr 示例应用并检查结果输出

发布时间:2026/9/15 20:20:35来源:尧图网络
如何在 QEMU 中运行 Zephyr 示例应用并检查结果输出
如何在 QEMU 中运行 Zephyr 示例应用并检查结果输出【免费下载链接】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这篇文章解决的问题是不依赖任何硬件开发板在宿主机上用 QEMU 模拟运行一个 Zephyr 示例应用并确认它打印了预期的控制台输出。适合刚装好 Zephyr 开发环境、想先验证“构建—运行—看输出”这条链路是否通了的场景。完成后的结果是在 QEMU 里运行hello_world示例看到文档给出的示例输出Hello World! x86然后正常退出 QEMU。整条路径基于 Zephyr 官方文档环境准备部分来自 Getting Started GuideQEMU 运行部分来自 beyond-GSG 和 hello_world 示例说明。环境要求Zephyr 通过 west 工具管理代码和构建QEMU 则随 Zephyr SDK 一起提供。根据文档的说明宿主机操作系统Ubuntu 24.04 LTS 及以后其他 Linux 发行版需另行参考 Linux 安装文档或 macOS、Windows依赖最低版本CMake 3.28.0、Python 3.12、Devicetree compiler 1.4.6QEMU 支持的目标架构x86qemu_x86板级目标或 ARM Cortex-M3qemu_cortex_m3板级目标。在 Ubuntu 上用apt安装依赖sudo apt install --no-install-recommends git cmake ninja-build gperf \ ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \ xz-utils file make gcc gcc-multilib g-multilib libsdl2-dev libmagic1注意在 AArch64ARM64系统上gcc-multilib和g-multilib不可用安装时需要把这两个包从列表里去掉。安装后用下面命令核对版本对照上表确认满足最低要求cmake --version python3 --version dtc --version获取源码并安装 SDK以下命令均在 Linux/macOS shell 中执行Windows 的等价命令见 Getting Started Guide。创建并激活 Python 虚拟环境每次新开终端后都需要重新激活否则west找不到或会跑在错误的 Python 环境里python3 -m venv ~/zephyrproject/.venv source ~/zephyrproject/.venv/bin/activate安装 west 并拉取 Zephyr 源码及其模块west update会下载 HAL、库等模块耗时取决于网络pip install west west init -m https://github.com/zephyrproject-rtos/zephyr ~/zephyrproject cd ~/zephyrproject west update安装 Zephyr 的 Python 依赖版本跟随当前检出的 Zephyrwest packages pip --install导出 Zephyr CMake 包之后构建应用时find_package(Zephyr)才能自动定位到这份源码west zephyr-export安装 Zephyr SDK。SDK 包含各架构工具链也包含用于模拟运行 Zephyr 应用的 QEMUcd ~/zephyrproject/zephyr west sdk install如果不用 SDK 自带的 QEMU、而是手动安装的 QEMU需要确保它位于系统PATH中。在 QEMU 中构建并运行 hello_world在 zephyr 仓库根目录~/zephyrproject/zephyr下执行。分两步写的方式来自 beyond-GSG-b qemu_x86指定 x86 模拟板级目标west build -b qemu_x86 samples/hello_world west build -t run也可以一步完成构建并直接运行来自 hello_world 示例说明west build -b qemu_x86 -t run samples/hello_world构建完成后主要产物位于build/zephyr其中build/zephyr/zephyr.elf是应用二进制ELF 格式。如果想换成模拟 ARM Cortex-M3把板级目标改为qemu_cortex_m3west build -b qemu_cortex_m3 -t run samples/hello_world检查运行结果hello_world的源码只有一行输出语句用CONFIG_BOARD_TARGET拼出目标名见 main.cprintf(Hello World! %s\n, CONFIG_BOARD_TARGET);文档给出的示例输出示例结果不是必须逐字一致的判定标准Hello World! x86也就是说在 QEMU 窗口里看到Hello World! x86这一行说明应用已成功运行。退出 QEMU 按Ctrl-a再按x。限制与说明官方文档明确 QEMU 运行路径只覆盖 x86 与 ARM Cortex-M3 两种目标其他架构请用真机烧录west flash或native_sim原生目标。若换用其他示例或板级目标qemu_x86需相应替换为该板名不确定支持哪些板时可在 workspace 内执行west boards查看列表。想继续深入可参考 Getting Started Guide 的 “Next Steps” 部分里面有其他示例、west烧录/调试功能的入口。【免费下载链接】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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Unity游戏Web迁移:Phaser+TypeScript重构实战指南 2026/9/15 21:05:51

Unity游戏Web迁移:Phaser+TypeScript重构实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PyTorch实现BiLSTM+Attention电影评论情感分析实战 2026/9/15 21:05:51

PyTorch实现BiLSTM+Attention电影评论情感分析实战

简介:基于深度学习的电影评论情感分析系统完整项目资源,面向Python开发者、自然语言处理初学者及数据科学竞赛爱好者,适用于课程设计、毕业设计以及影视舆情分析、电商评论挖掘等真实业务场景。系统提供从数据清洗、分词、去停用词、词性标注…

阅读更多 →
ET框架协程进阶:用 C async/await 与 TaskCompletionSource 告别回调地狱,走向零同步上下文的 ETTask 2026/9/15 21:05:51

ET框架协程进阶:用 C async/await 与 TaskCompletionSource 告别回调地狱,走向零同步上下文的 ETTask

ET框架协程进阶:用 C# async/await 与 TaskCompletionSource 告别回调地狱,走向零同步上下文的 ETTask 【免费下载链接】ET Unity3D Client And C# Server Framework 项目地址: https://gitcode.com/GitHub_Trending/et/ET 本篇指南以 ET&#xf…

阅读更多 →
Nixpkgs buildEnv 详解:用符号链接构造可复用的用户环境与软件包扩展 2026/9/15 21:05:51

Nixpkgs buildEnv 详解:用符号链接构造可复用的用户环境与软件包扩展

Nixpkgs buildEnv 详解:用符号链接构造可复用的用户环境与软件包扩展 【免费下载链接】nixpkgs Nix Packages collection & NixOS 项目地址: https://gitcode.com/GitHub_Trending/ni/nixpkgs buildEnv 是 Nixpkgs 中用于构造"目录 符号链接"…

阅读更多 →
FGUI字体描边实战:原理、方案与性能优化 2026/9/15 21:05:51

FGUI字体描边实战:原理、方案与性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
华为2288H-V5服务器RAID配置详解与实战排错指南 2026/9/15 21:02:50

华为2288H-V5服务器RAID配置详解与实战排错指南

华为2288H-V5服务器做RAID的详细步骤,这个话题我估计不少运维同行都踩过坑。我自己在机房摸爬滚打这么多年,华为这款2U机架式服务器用的频率相当高,从早期的2288H V4到现在的V5,再到后来的V6,很多企业机房都有它的身影…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞