zehpyr环境搭建和demo的编译

qemu可执行固件编译的探索

  • 环境
  • demo的模拟
  • SDK构建
    • zephyr环境设置
      • 安装依赖项
      • 下载 Aspeed Zephyr 软件包
    • 安装工具链
    • 配置

环境

ubuntu22.04 qemu9.0.0-rc1cmake 3.25.2python 3.8.10dtc 1.5.0west 1.2.0zephyr-sdk-0.16.1

demo的模拟

首先先尝试一个可以正常跑起来的案例

我们先看看自己的qemu可以模拟的arm机器类型:
这里使用的qemu版本是qemu-9.0.0-rc1,具体编译安装过程看qemu9.0.0编译安装
在这里插入图片描述
之后我们下载我们尝试使用的demo:

https://github.com/AspeedTech-BMC/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip

下载之后解压,之后进入该目录然后执行:值得注意的是下图中的qemu是编译目录下的qemu

qemu-system-arm -M ast1030-evb -kernel ./zephyr.elf -nographic

在这里插入图片描述

这样就模拟成功了

SDK构建

zephyr环境设置

安装依赖项

下载依赖:

sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib g+±multilib libsdl2-dev

检查一下必要项的版本

cmake -version
python3 -version
dtc -version

要求:
在这里插入图片描述

下载 Aspeed Zephyr 软件包

安装west,配置环境变量,这里的west操作比较吃网络,多试几次吧

pip3 install – user - U west
echo ‘export PATH=~/.local/bin:“$PATH”’ >> ~/.bashrc
source ~/.bashrc
west init -m https://github.com/AspeedTech-BMC/zephyr.git --mr v00.02.01 zephyrproject
cd zephyrproject
west update

之后按照Zephyr 的 scripts/requirements.txt 文件声明了其他 Python 依赖项。使用 pip3 安装它们。

cd zephyr/scripts/
pip3 install --user -r requirements.txt

在pip的时候可能会遇到一些问题,这是缺少一些必要的库
在这里插入图片描述
之后我们分别安装下面这些依赖即可:

pip install --upgrade packaging
pip install --upgrade Jinja2
pip install testresources
pip install --upgrade six
pip install --upgrade pyyaml

安装工具链

下载 Zephyr SDK 捆绑包:

cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64.tar.xz

解压()建议解压到$Home下

cd ~
mkdir zephyr-sdk-0.16.1
tar xvf zephyr-sdk-0.16.1_linux-x86_64.tar.xz -C ~/zephyr-sdk-0.16.1

设置环境变量

touch .zephyrrc
echo “export ZEPHYR_TOOLCHAIN_VARIANT=zephyr” > ~/.zephyrrc
echo “export ZEPHYR_SDK_INSTALL_DIR=/home/”$(whoami)“/zephyr-sdk-0.16.1” >> ~/.zephyrrc

配置

进入之前的Zephyr 软件包(/zephyrproject/zephyr)中执行

source zephyr-env.sh
west build -b ast1030_evb -t menuconfig samples/hello_world

板子的默认配置文件在/zephyrproject/zephyr/boards/arm/ast1030_evb/ast1030_evb_defconfig目录中
这里根据自己需要进行配置的修改
在这里插入图片描述
之后我们可以构建application:

west build -b ast1030_evb samples/hello_world

在这里插入图片描述
build/zephyr/目录中可以看到编译后的bin文件,对于UART引导的,可以使用uart_zephyr.bin
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#学习笔记11:winform上位机与西门子PLC网口通信_下篇

今日终于到了winform上位机与西门子PLC网口通信的系列收为阶段了,一直没一口气更新完,手头上也没有可以测试用的PLC设备,虚拟仿真用到的博图软件也不想下载(会让我电脑变卡)。 于是等了些日子购买西门子PLC&#xff0…

软件测试的4个职业阶段,你在哪个阶段?

最近一直在忙的项目刚刚上线交付完成,让自己有了些许喘息的时间。人总是这样,在忙碌的时候,能心无旁骛关注并做好一件事,已是万幸。而全力而为之后的闲暇总是如此的珍贵,在这难得的空隙中,不自觉的开始对自…

自动化测试-如何优雅实现方法的依赖

在复杂的测试场景中,常常会存在用例依赖,以一个接口自动化平台为例,依赖关系: 创建用例 --> 创建模块 --> 创建项目 --> 登录。 用例依赖的问题 • 用例的依赖对于的执行顺序有严格的要求,比如让被依赖的方…

市面上加密混淆软件的比较和推荐

引言 市面上有许多加密混淆软件可供开发者使用,但哪些软件是最好用的?哪些软件受到开发者的喜爱?本文将根据一次在CSDN上的投票结果,为大家介绍几款在程序员中普及度较高的加密软件。以下是投票结果,希望能对大家的选择…

JSON数据格式讲解与cJSON库的使用

文章目录 写在前面一、安装cJSON二、使用cJSON1、使用的文件2、如何传输数据:**** 三、JSON语法四、cJSON函数讲解1、cJSON结构体 **2、cJSON结构体与字符串之间的转换(重要)2.1、标题将cJSON结构体转换为字符串(常用)2.2、将字符串转为cJSON…

看看《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制山鸢尾萼片长度和萼片宽度的小提琴图

使用MATLAB绘制鸢尾花数据集( fisheriris)中山鸢尾( Iris Setosa)的萼片长度和 萼片宽度的小提琴图。这将帮助我们更好地了解山鸢尾的这两个特征的数据分布情况,包括它们的 中位数、四分位范围及密度估计。这种可视化工…

华为配置路由式Proxy ARP示例

配置路由式Proxy ARP示例 组网图形 图1 配置路由式Proxy ARP组网图 路由式Proxy ARP简介配置注意事项组网需求配置思路操作步骤配置文件 路由式Proxy ARP简介 企业内部进行子网划分时,可能会出现两个子网网络属于同一网段,但是却不属于同一物理网络的情…

C++ 类模板分文件编写

类模板分文件编写: 类模板成员函数 分文件编写 产生的问题以及解决方式是什么呢? 问题描述 类模板中**成员函数**创建时机是在**调用**阶段,导致分文件编写时**链接**不到 解决方案: 1、直接包含.cpp源文件: person…

【重磅更新】开源表单系统填鸭表单v5版发布!

亲爱的TDucker,你们好。 真诚感谢您对填鸭表单的关注与支持。今天我们将为您带来新版本的更新说明,以便您更好的使用我们的产品。 社区版版V5更新概览: ✅ 增加WebHook数据推送功能,集成TReport实现数据大屏展示。 ✅ 增加主题…

LeetCode-Java:303、304区域检索(前缀和)

文章目录 题目303、区域和检索(数组不可变)304、二维区域和检索(矩阵不可变) 解①303,一维前缀和②304,二维前缀和 算法前缀和一维前缀和二维前缀和 题目 303、区域和检索(数组不可变&#xff…

DateTimeFormat 和 JsonFormat 应用场景详解

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【javaWeb 第七篇】后端-Spring

Spring SpringspringBoot请求简单参数实体参数数组集合参数日期参数JSON参数路径参数 响应数据分层解耦三层架构解耦操作Bean的声明Bean组件扫描问题DI详解 Spring 详细介绍结合官网查看:https://spring.io/why-spring Spring发展到今天已经形成一种开发生态圈&…

覆盖最全面的学术论文写作的70类细节150+ChatGPT提示词

点击下方▼▼▼▼链接直达AIPaperPass ! AIPaperPass - AI论文写作指导平台 这篇文章小编介绍了专门为论文写作定制的ChatGPT提示词,旨在激发创造力并为你的论文提供独特的想法和见解。通过简单的短语或指令,你可以解锁ChatGPT AI模型的潜力…

激光车型识别仪:交通管理领域的技术革新与应用探索

激光车型识别仪:交通管理领域的技术革新与应用探索 在交通管理领域,随着技术的不断进步,各种智能化设备逐渐崭露头角。其中,激光车型识别仪作为一种基于激光技术的车辆识别设备,正以其高精度、强抗干扰能力等特点&…

JIT在汽车行业中的革命性应用:颠覆传统制造模式,引领智能制造新时代

随着科技的飞速发展和市场竞争的日益激烈,汽车行业正面临着前所未有的变革。其中,准时制生产(Just-In-Time,简称JIT)作为一种先进的生产管理方式,已经在汽车行业中得到了广泛应用,成为推动汽车产…

word文件的创建时间和修改时间可以更改吗?答案是肯定的 文件属性修改的方法

一,引言 在日常生活和工作中,我们经常需要处理各种Word文件。有时,由于某些原因,我们可能需要更改Word文件的创建时间和修改时间。虽然这听起来可能有些复杂,但实际上,通过一些简单的方法和工具&#xff0…

社区养老服务系统|基于springboot社区养老服务系统设计与实现(源码+数据库+文档)

社区养老服务系统目录 目录 基于springboot社区养老服务系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员部分功能 (1) 用户管理 (2)服务种类管理 (3)社区服务管理 &#xff08…

【数据分析面试】21.Spotify 音乐数据库搭建(SQL主键和外键)

题目:音乐数据库设计 假设现在你在Spotify工作,你需要设计一个用于存储歌曲元数据的关系型数据库。 数据库要求包括歌曲标题、歌曲长度、歌曲添加到平台的日期、艺术家、专辑、曲目号(在专辑中的顺序)、歌曲的发行年份以及流派等…

FebHost:为什么注册.BE比利时域名?

.be 是比利时的国家代码顶级域名(ccTLD),通常用于与该国有关的网网站。这个域名为那些希望在线上建立与比利时有关联系的个人、公司和组织提供了一个重要的网络标识。 .be 域名于1988年创建,由.BE域名注册机构管理,这…

【k8s】:深入理解 Kubernetes 中的污点(Taints)与容忍度(Tolerations)

【k8s】:深入理解 Kubernetes 中的污点(Taints)与容忍度(Tolerations) 1、污点(Taints)2、容忍度(Tolerations)3、示例演示-测试污点的具体应用场景3.1 给节点打污点&…