问题标签 [petalinux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
562 浏览

c++ - Petalinux Recipe-app 用于混合 C 和 C++ 应用程序

我已经编写了一个相当大的 C 程序。我现在被要求使用同事编写的 C++ 类。我习惯使用 python,所以用 C 编写我的应用程序,现在被要求使用 C++ 会导致一些偏头痛。所以忽略了我的主要应用程序,我决定做一些研究,并看到一个 youtube 视频,它向我展示了如何做一个非常简单的 C 程序,它调用一个 C++ 类。

为了编译 C 程序并允许它调用 C++ 文件,我需要做两件事,1) 使用 C++ 编译器 (g++) 并确保用 < extern "C"> 包围我的 c++ 函数。通过这样做,我能够毫无问题地编译和运行应用程序。

这是我目前正在使用的文件。

“test.c”是 main 方法所在的地方,它调用 cppFunctions 类,然后引用 cppObject.cpp 中的函数。现在我认为我不需要进入这些函数中的每一个,因为我可以毫无问题地编译它,使用。

这会生成一个运行没有问题的可执行文件。

现在因为这是使用 Petalinux 构建的,所以 Petalinux 会生成一个包含 bitbake 文件和 makefile 的 recipe-app。两者都需要以某种方式进行修改以实现我的目标。

我将使用这个测试用例来参考我的主要应用程序。

由于我的 C 应用程序主要是编写、编译和运行,没有任何问题。我决定在它们之后对 makefile 和 bitbake 文件进行建模。

所以基于上面的makefile,我尝试了同样的事情,使用测试应用程序文件名和g++而不是gcc

现在与我的原始应用程序匹配的 bitbake 文件看起来像这样。

我最终为测试应用程序制作了这个

应用程序的 petalinux-build -c 无法构建,主要错误“test.c:2:10: fatal error: cppFunctions.h No such file or directory”

如果我自己设置 makefile 并运行 make,如果我用 C/C++ 文件替换目标文件,它将构建得很好。

我假设正在发生的事情是 Petalinux 使用 bitbake 文件生成目标文件。然后 Makefile 使用它来构建实际的应用程序。

任何可以让我使用 petalinux 构建应用程序的见解。


所以在 .bb 文件中发现了一个错误,@vermaete 也指出了这一点。我离开了 cppFunctions.h 文件。我最终将它添加到 .bb 文件中并重建了配方。不幸的是,我仍然遇到构建错误。但是,它的不同之处在于它存在未定义引用的问题。

这是一个函数调用。

0 投票
4 回答
2733 浏览

python - 在 Ubuntu 20.04 上安装 Xilinx Petalinux 时出现 python 错误

我尝试在 Ubuntu 20.04 上安装 Xilinx Petalinux 时遇到此错误

dpkg-query:未安装包 'python' 并且没有可用信息使用 dpkg --info (= dpkg-deb --info) 检查存档文件 错误:您的工具不符合版本要求:-Detected python版本低于预期的 2.7.3

我重新安装了几次python,但没有成功。

0 投票
1 回答
402 浏览

c - 当偏移量为非负数(但是是 sysconf(_SC_PAGE_SIZE) 的倍数)时,为什么 mmap 会因 EINVAL 而失败?

首先是关于我正在使用的机器的一些背景信息(它是一个带有 SoC 的 SOM,其中包括一个 FPGA 和两个 CPU,其中一个运行着一个 linux 操作系统)。

特征:

  • 板 : Microzed
  • 系统芯片:Zynq 7020
  • 操作系统:Petalinux 2019.2
  • 内核版本:4.19.0-xilinx-v2019.2
  • 处理器类型:ARMv7 处理器 rev 0 v7l (armv7l)

我在 FPGA 上实现了一个自定义外设,它为 BRAM 存储器提供标准 AXI4 接口(感谢这个组件)。该外围设备已在我的设备树中注册,并且可以通过内核的 generic-uio 驱动程序访问(有关此的更多文档)。

BRAM 内存的大小为 32kB。以下是出现在 中的映射特征/sys/class/uio/uioX/maps/map0/

  • 地址 = 0x40000000
  • 偏移量 = 0x0
  • 大小 = 0x00008000

我正在编写一个 C 代码,其目的只是为了读取这个 BRAM 内存并将里面的内容记录在一个文本文件中。为了做到这一点,我使用mmap(这里是它的手册页)来创建位于/dev/uioX(对应于我的设备)中的文件的一些内存投影。

我只想使用我需要的文件页面,更精确地映射每页的文件页面。这是我用来创建一页映射的函数:

filePage然后是问题:如果(即偏移)是,它工作得非常好,0但如果它是严格正数,它会失败,并且errno = 22.

除非我错过了手册页中的某些内容,否则所有参数都是有效的(offset是 的倍数sysconf(_SC_PAGE_SIZE)addrNULLlength严格为正且不太大,并且标志是正确的)。那么,为什么是 EINVAL ?...

0 投票
0 回答
258 浏览

linux-kernel - 如何更改内核基地址

我正在尝试在 zedboard 上启动 linux 并通过可编程逻辑监视所有内存访问。我们首先尝试使用高于 0x40000000 的起始地址启动 linux。我希望所有内存请求都必须通过 PL,PL 将访问 DDR 以进行读取/存储。

我目前在 Zedboard 上工作,

其 DDR 地址从 0x00000000 到 0x3FFFFFFF 和

我的 PL 地址范围是从 0x40000000 到 0x7FFFFFFF。

我在 Vitis 中测试了这个设计的工作,并确认如果我在 0x40000000 到 0x7FFFFFFF 的地址范围内写入任何内容,它将通过我的 PL 并在后端写入 DDR(正是我想要的方式)。

现在我正在尝试启动 petalinux 并希望 petalinux 仅将地址写入我的 PL 地址范围,但我无法更改 petalinux 配置中的内核基地址。你是如何解决这个问题的?

0 投票
1 回答
1908 浏览

boot - Petalinux 在引导期间挂起

我正在尝试在 zedboard 上启动 linux 并通过可编程逻辑监视所有内存访问。我首先尝试使用起始地址 0x40000000 启动 linux。我正在关注这篇文章 https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/460653138/Xilinx+Open+Source+Linux 

当我尝试从 SD 卡启动时,此时 Petalinux 启动挂起。

boot.scr scipt 看起来像这样,

构建 FSBL:在 Vitis 软件平台中构建了第一阶段引导加载程序 (FSBL) 应用程序, https: //www.xilinx.com/html_docs/xilinx2020_1/vitis_​​doc/creatingnewzynqfsblappproj.html

构建设备树编译器 (dtc):

将 BOOT.bin、u-boot.elf、fsbl.elf、zynq-zed.dtb 和 uarm_ramdisk.image.gz 内容复制到 SD 卡。当我将 SD 卡插入主板时,我看到的只是空白屏幕。

请让我知道这里可能是什么问题?

问候,

普拉萨纳

0 投票
1 回答
99 浏览

linux - 比较两个 yocto 内核的最佳方法是什么?

我正在使用 Xilinx 的 petalinux,它围绕 yocto 构建。

我有一个 yocto 可以正常工作,但适用于错误的嵌入式硬件(错误的板),另一个不工作但适用于正确的板。

因此,我想比较两者中的设置。最简单但最慢的方法是在 GUI 中迭代其他设置,但这似乎很乏味。所以我想知道是否有任何方法可以按行或配置文件等方式比较它们。

任何帮助表示赞赏

0 投票
0 回答
47 浏览

arm - 在评估板上解密来自 ARM CPU 的回溯

我在带有 MpSoc 和 FPGA 的评估板上使用 petalinux / yocto。我是整个嵌入式 Linux 的新手,当我尝试运行预编译的示例时,我收到了这个错误消息。任何关于出了什么问题的指示都值得赞赏。

0 投票
1 回答
2202 浏览

docker - Petalinux 2020.1 配置失败

我正在尝试在 ubuntu 18.04.4 docker 环境中设置 petalinux 2020.1。我已经按照此链接创建了 docker 映像,并从此repo创建了 docker 容器。我可以使用以下命令创建 petalinux 项目

但是当我尝试配置时,我收到以下错误

我已遵循赛灵思论坛的所有可能说明,但没有一个有效。我尝试了以下事情-

  1. 手动设置语言环境
  2. 使用不同的基础 docker 镜像(centos-7、ubuntu 18.04.4、ubuntu 18.04.5、ubuntu 16.04.5)

我不确定如何解决语言环境问题。有人可以帮忙吗?

0 投票
1 回答
466 浏览

apt-get - 使用 Petalinux 重新编译 xilinx 内核

我正在开发 Ultra96 板,SOC Xilinx Zynq UltraScale+ MPSoC ZU3EG A484,运行:

这是我的内核版本:5.4.0-xilinx-v2020.1

我不熟悉 petalinux,所以我需要有关重新编译 xilinx 内核以启用大页面的帮助。

是否有任何指南逐步解释如何重新编译内核?

谢谢你。

0 投票
2 回答
1547 浏览

ubuntu-16.04 - 如何使用 Xilinx Petalinux SDK 解决“无法获取 Bitbake 源”

我正在使用 Xilinx Petalinux 2018.03 SDK 运行 Ubuntu 16.04。经过多次成功编译后,我现在面临此错误

我该如何解决这个问题?