当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]本文介绍了KRS Unleashed的新分离的3个工作区是如何一起工作的,并解释了如何在KRS Unleashed中生成交叉编译的工件和设计新的应用程序。上一篇文章已经介绍了谁可以获得用于交叉编译的系统根,但它独立于KRS。

这个项目是KRS Unleashed系列的一部分,KRS是原始KRS的修订版。本文将介绍KRS工作空间。

本文介绍了KRS Unleashed的新分离的3个工作区是如何一起工作的,并解释了如何在KRS Unleashed中生成交叉编译的工件和设计新的应用程序。上一篇文章已经介绍了谁可以获得用于交叉编译的系统根,但它独立于KRS。

在这里,我们将首先讨论文件夹结构,以及在KRS Unleashed中交叉编译应用程序实际上需要哪些包。此外,还将解释配置所选系统根或后续HLS内核的所有相关位置。

最后,将显示为示例应用程序的Kria KR260生成二进制文件的命令。

文件夹结构

由于将工作作为论文的一部分发布,存储库包含一个示例应用程序,其中包括用于重现结果的配置文件。实际的KRS Unleashed隐藏在内部,但由于应用于原始KRS的更改,KRS Unleashed的核心更加可见,也更小。

整个存储库分为3个目录:

•基米-雷克南;包含与ROS 2相关的工作空间

•os_workspace;包含创建系统根和准备SD卡的模块

•vitis;包含下一篇文章中要创建的Vitis工作区。Xclbin文件与合成的内核

ROS 2工作空间通常将所有包都包含在“src”文件夹中。在这里,KRS Unleashed Core软件包被放在一个名为“base”的特殊目录中。‘ adaptive_component ’是可选的,包含一些很好的实用程序。剩余的包确保使用Vitis支持的标志编译主机代码/是旧合成流(‘ ament_acceleration ‘, ‘ ament_vitis ’和’ Vitis common ‘)的回忆,配置工具链以针对sysroot (’ krs_firmware ’)进行交叉编译或引入基于ros2-tracing (' tracetools_kernels ')的进一步跟踪功能。

‘ Apriltag_* ’, ‘ minimal_image_pub ’和‘ ros2_tracing ’只是可选的,特定于应用程序的包为Apriltag算法提供硬件加速、软件版本和ros2消息定义,一个用于测试和ros2跟踪的简单消息虚拟节点(必须添加到repo以进行交叉编译)。

上一篇文章已经介绍了os_workspace,但是总结一下它的结构。我们目前支持KR260板的两个流程,一个是位于“firmware_kr260_ubuntu”中的基于ubuntu的流程,它包含一个脚本,用于获取包含sysroot的tar存档文件,另一个是补丁脚本,用于修改tar archive/bin目录下的customize.sh shell脚本,以安装sysroot中的依赖项。firmware_kr260_petalinux流程稍微复杂一些,但同样通过petalinux.sh脚本自动执行,该脚本首先检查artifacts文件夹中的一些文件,如XSA文件或BSP(需要下载),然后继续在“build_petalinux/images”下创建petalinux项目。然后调用生成的sdk.sh脚本生成包含sysroot文件的固件文件夹。可选地提供了用于生成设备树的进一步脚本,并且可以对‘ petalinx_config文件夹’中的配置应用配置。

vitis工作区将在下一章中详细介绍,但一般结构不需要将其放在ROS2工作区旁边,因为它只依赖于所使用的操作系统。内核组织在源代码中的文件夹中,脚本从其中准备工作空间并生成所有组件。成功执行后,结果存储在exports文件夹中,以便复制到电路板上。

本地/本地构建

正如在论文和第一篇文章中所解释的那样,修订的主要动机之一是在更改系统时涉及的复杂性,例如使用不同版本的Vitis或集成另一个操作系统。

与最初的KRS流程相比,KRS Unleashed将这两个步骤提取到单独的工作区中,以使链接更加有形和可调整。对于交叉编译,之前隐式的Ubuntu系统根准备被移到OS工作区中,而mixin生成则保留在ROS 2中的新krs_firmware repo中。Krs_firmware在' base/ Krs_firmware /cmake/firmware_setup中定义了一些常量。,但目前只有这一行是真正相关的:

在这里,需要指定包含要使用的‘ sysroots ’文件夹的文件夹。遗憾的是,Petalinux支持ROS 2(2022.1-2024.1)的版本是基于一个非lts的Yocto版本(Langdale),其中ROS 2层从未真正工作过,因为在该版本期间维护者发生了变化,现在需要将Kirkstone的错误修复后移植到Langdale。

因此,我们使用兼容abi的Ubuntu系统根作为Petalinux交叉编译应用程序的临时解决方案。这在简单的例子中工作得很好,但当库版本不同时(如OpenCV的情况)会导致问题。我们目前的计划是将整个工具链升级到Jazzy/2025.1作为下一步。

在调整了变量firmware_dir之后,您只需要执行原始KRS框架的命令+额外的环境准备:

1. 添加遗漏的libpython库以便交叉编译,一旦Ubuntu遗漏(使用绝对路径!!)

2. 源ROS 2, Vitis和定义一些变量

Unset RMW Implementation只有在您为ROS 2安装了多个DDS时才需要,这只是防止错误消息的预防步骤-如果您遇到一些关于DDS的依赖关系,请将此简单地忽略,导出PATH只是为了防止意外使用Vitis Cmake,…版本

如果你在本地安装了多个OpenCV版本来测试Petalinux,你需要为本地构建设置一些进一步的变量:

3. 构建应用程序

这将生成一个构建和安装文件夹,其中包含应用程序的本机构建,您可以使用它来测试应用程序的软件版本。此外,已经通过krs_firmware在系统上安装了colcon mixin,它允许您对应用程序进行交叉编译

只需通过正常的ROS 2命令运行SW应用程序:

交叉编译配置和如何集成内核

之后,我们需要找到生成的安装脚本并运行交叉编译命令。打开一个新的终端并运行:

这将创建一个build-kr260和一个install-kr260文件夹。要在板上部署应用程序,只需通过scp复制install-kr260文件夹:

这里需要注意的是,这个安装文件夹只包含交叉编译的二进制文件、启动文件……最后合成的内核丢失了,需要在下一篇文章中通过vitis工作空间流在主板上单独生成和设置。

到内核文件的实际链接只发生在主机代码上,其中xclbin的名称、顶级函数和方法签名需要与内核匹配。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭