问题标签 [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.
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 文件中并重建了配方。不幸的是,我仍然遇到构建错误。但是,它的不同之处在于它存在未定义引用的问题。
这是一个函数调用。
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,但没有成功。
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)
,addr
是NULL
,length
严格为正且不太大,并且标志是正确的)。那么,为什么是 EINVAL ?...
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 配置中的内核基地址。你是如何解决这个问题的?
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 卡插入主板时,我看到的只是空白屏幕。
请让我知道这里可能是什么问题?
问候,
普拉萨纳
linux - 比较两个 yocto 内核的最佳方法是什么?
我正在使用 Xilinx 的 petalinux,它围绕 yocto 构建。
我有一个 yocto 可以正常工作,但适用于错误的嵌入式硬件(错误的板),另一个不工作但适用于正确的板。
因此,我想比较两者中的设置。最简单但最慢的方法是在 GUI 中迭代其他设置,但这似乎很乏味。所以我想知道是否有任何方法可以按行或配置文件等方式比较它们。
任何帮助表示赞赏
arm - 在评估板上解密来自 ARM CPU 的回溯
我在带有 MpSoc 和 FPGA 的评估板上使用 petalinux / yocto。我是整个嵌入式 Linux 的新手,当我尝试运行预编译的示例时,我收到了这个错误消息。任何关于出了什么问题的指示都值得赞赏。
docker - Petalinux 2020.1 配置失败
我正在尝试在 ubuntu 18.04.4 docker 环境中设置 petalinux 2020.1。我已经按照此链接创建了 docker 映像,并从此repo创建了 docker 容器。我可以使用以下命令创建 petalinux 项目
但是当我尝试配置时,我收到以下错误
我已遵循赛灵思论坛的所有可能说明,但没有一个有效。我尝试了以下事情-
- 手动设置语言环境
- 使用不同的基础 docker 镜像(centos-7、ubuntu 18.04.4、ubuntu 18.04.5、ubuntu 16.04.5)
我不确定如何解决语言环境问题。有人可以帮忙吗?
apt-get - 使用 Petalinux 重新编译 xilinx 内核
我正在开发 Ultra96 板,SOC Xilinx Zynq UltraScale+ MPSoC ZU3EG A484,运行:
这是我的内核版本:5.4.0-xilinx-v2020.1
我不熟悉 petalinux,所以我需要有关重新编译 xilinx 内核以启用大页面的帮助。
是否有任何指南逐步解释如何重新编译内核?
谢谢你。
ubuntu-16.04 - 如何使用 Xilinx Petalinux SDK 解决“无法获取 Bitbake 源”
我正在使用 Xilinx Petalinux 2018.03 SDK 运行 Ubuntu 16.04。经过多次成功编译后,我现在面临此错误
我该如何解决这个问题?