问题标签 [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 回答
463 浏览

embedded-linux - 将 arm64 特定的内核头添加到 Linux 以刷新缓存

我正在尝试编译一个 linux 模块,该模块应该在 arm-64 位架构(Cortex-A53)上运行。部分功能是在某个时候刷新缓存,这以前在 arm-32 位架构上工作。如何构建包含相关标头(如 cache.h 和 cacheflush.h)的内核标头?

我正在使用 Xilinx 工具链(Vivado 和 SDK、PetaLinux 工具)来生成所有必需的嵌入式 Linux 组件,如引导加载程序、内核映像和设备树。此外,我克隆了 Xilinx-Linux-Repository,切换到当前分支并配置 PetaLinux 工具以使用特定的 Xilinx-Linux-Repo 来生成使用该存储库的组件。我的平台是 Avnet-UltraZed-EG-IOCC Board,我正在使用 Debian-10 根文件系统进行开发。我正在尝试编译的模块已在其他 Zynq-7000 开发中工作。使用 outercache.h 刷新缓存的板。

1) 使用 PetaLinux 构建引导文件、内核映像和设备树

2) 克隆 Xilinx-Linux-Repo 并构建头文件

3) 使用 Debian 启动系统

我不确定哪些标头可以工作,但我希望在将标头构建到 /usr/include/asm/*.h 之后找到 cache.h 和 cacheflush.h

0 投票
1 回答
132 浏览

c - 套接字发送有时只能在无限循环中工作(C)

我正在为 Zynq FPGA 的 DAQ 系统建立一个原型。我通过以太网从服务器接收数据,使用 DMA 将其写入 FIFO,反之亦然,使用两个不同的 pthread。但是,发送操作挂起,经过一些迭代后,它正确执行然后再次挂起,同时recv操作成功并填充FIFO。

有时,只有在存在或不存在某些 printf 时,线程才能按预期工作,所以我暂时打印到 stderr。

对不起,可耻的代码,但我现在尝试替换几乎每一行来发现问题。

实际输出显示来自recv线程的打印,而发送线程打印

[*] 发送头: %d 尾: %d\n

几乎总是,有时它必须做什么。

0 投票
1 回答
78 浏览

python - 如何从 python 中“获取 /auto/xlnx/current_petatools/settings.sh”?

我正在尝试自动化采购 petalinux 工具的过程,以便从 python运行诸如“ petalinux-build ”之类的 bash 命令。

但是,我的方法没有成功。我阅读了一些文章,指出无法通过子进程或操作系统调用从 python中使用“源”。

我曾尝试使用诸如Popen 、callcheck_output之类的子进程系列函数,但它们似乎都不起作用。

我希望采购 petalinux 工具可以工作,这样我就可以在环境中运行它的命令系列。

0 投票
0 回答
783 浏览

gcc - 在 64 位 ubuntu 上交叉编译 arm32bit 时 glib-2.0 的问题

当我尝试交叉编译我的 GStreamer 管道以在 Petalinux 构建上运行它时,它会加载 64 位库,而主机是 32 位臂。

我收到以下错误:

我已经尝试安装 ":i386" 软件包并将 PKG_CONFIG_PATH 导出到 /usr/lib/i386-linux-gnu/pkgconfig/ 但之后我得到:

0 投票
0 回答
210 浏览

gstreamer - Gstreamer 到 html 与busybox

我正在尝试在基于 zynqmp 的平台内使用 gstreamer 将视频流式传输到 petalinux 中的 html usign busybox。

所以主要思想是将视频管道流式传输到嵌入式网络服务器并从外部 PC 网络浏览器(我使用的是 chrome)打开它。

index.html 文件如下所示:

测试管道是:

我还尝试从 C 应用程序实时流式传输摄像机,如下所示:

(请注意,上面这行是一个伪代码来说明应用程序在做什么)

我期待在 PC 网络浏览器中看到视频,但不幸的是,我有一个带有视频控件的灰色框。

有谁知道这是否可以使用busybox?或者这种方法有什么根本错误吗?

0 投票
3 回答
888 浏览

eclipse - 关于 Poky 中 tcf-agent_git.bb 中的错误 URI

我是新手,并尝试通过 pocto 构建 xilinx。作为指南,我克隆了存储库(branch thud)、source oe-... 和 change MACHINE="zedborad-zynq7", then bitbake petalinux-image-minimal,但出现以下错误:

错误:tcf-agent-1.7.0+gitAUTOINC+dad3a6f568-r0 do_fetch: Fetcher failure: Fetch command ... https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git refs/ :refs/失败,退出代码 128,输出:致命:存储库“ https://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git/ ”未找到...错误:任务(〜 /poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb:do_fetch) 失败,退出代码为“1”

问题是 tcf-agent_git.bb 中的语句:

不是地址不对,其实我可以用这个地址克隆成功。另一方面,我对此变量的任何修改也将不起作用。我已经grep -rn "eclipse.org",但只找到这个文件。

欢迎任何建议。

非常感谢。

———————————————————————————</p>

我最终无法解决这个问题。我发现构建器根本没有从 SRC_URL 提供的地址中获取,而是从某处给定的镜像中获取。

作为测试,我编辑了 .bb 文件,添加了 PREMIRRORS="" 和 MIRROS="",并为 SRC_URI 添加了 protocal=git 语句。语句确实有效,构建器从SRC_URL地址中获取,但协议仍然是HTTPS,功能仍然失败。我的解决方法是手动克隆源码,放到对应的目录下,为了让builder知道,我也摸了个package_name.done和chmod 777在同一个目录下,就可以继续了。

0 投票
0 回答
402 浏览

linux-kernel - Silabs Si5340:如何为其中一个芯片输出定义时钟

我们开发使用 Si5340 为各种芯片(ADC、DAC)提供时钟的硬件。

硬件基于 Xilinx Zynq Ultrascale,选择的操作系统是 Petalinux 2018.3。

我们使用的驱动程序是 clk-5341 ( https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/clock/silabs,si5341.txt )。

时钟芯片的文档提供了两个如何使用输出的片段。

使用了 si5340 的两个输出:

  • 1 GHz 用于 ADC 芯片
  • 250 MHz 用于 DAC 芯片

我想创建两个时钟节点来描述时钟输出,然后在 ADC 和 DAC 芯片节点中引用它们。

这不能按预期工作。我对设备树很陌生。不幸的是,我没有找到一个有用的例子。

您能否建议如何正确地将 si5340 的输出描述为时钟源?

0 投票
2 回答
689 浏览

gstreamer - 在 petalinux 中编译 gstreamer 应用程序时出错

我正在尝试使用以下头文件在 petalinux 中编译自定义 gstreamer 应用程序:

petalinux 项目在运行后已经填充了 sysroot 库源:

但是编译应用程序(petalinux-build -c myapp)我得到了下一个错误:

制作文件是:

和食谱:

有谁知道我缺少什么以及如何正确添加 gstreamer 路径以进行编译?

编辑

正如建议的那样,我在配方中添加了 DEPENDS 行:

但不幸的是仍然给出同样的错误......任何想法可能是错误/遗漏?

提前致谢。

0 投票
0 回答
1657 浏览

embedded-linux - 嵌入式 Linux 的启动卡住了。如何调试?

在由 petalinux 构建的嵌入式平台中,在引导期间(从 u-boot),我看到的最后一个打印是(有时)mmcblk0boot1 打印。调试/跟踪/修复问题的好方法是什么?

如您所见,日志末尾是另一个启动的开始附加日志

==================================================== ======================

启动内核:

0 投票
2 回答
1158 浏览

python - TypeError:参数应该是字符串、字节或整数,而不是 PosixPath

我的代码在我的 Raspberry Pi 4 系统 (Raspbian) 上运行良好,但在 Petalinux 系统中抛出了这个奇怪的错误,即使我使用的是字符串。路径存在,我以 root 身份登录。

代码

错误

PS:我已经尝试过 '//root//web_gui//Recordings' 但得到了同样的错误