This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/processor-SDK-AM335X:交叉编译 git repo

Guru**** 2524550 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/584309/linux-processor-sdk-am335x-cross-compiling-a-git-repo

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

我目前正在使用 AM-335X Devkit 进行游戏、并希望从我的笔记本电脑网络摄像头流式传输视频内容以显示在评估板上。 FFMPEG 似乎具有我需要/需要的所有功能:编码、解码和网络流。

但是、我需要使 FFmpeg 在目标平台上运行。 我克隆了 git repo、可以成功为我的主机系统构建下载的文件。 到目前为止、我无法交叉编译 FFmpeg、但我能够为目标 ARM 架构编译一个简单的 hello world 程序(使用 readelf 验证的架构) )。

使用 make 为 AMDx64编译 FFmpeg、即使我以前运行过环境设置脚本(并且我使用的是运行脚本的控制台)也是如此。 呼叫
[Linux-Devkit]:/usr/bin arm-linux-gnueabihf-gcc ffmpeg.c -o ffmpeg_arm
导致编译第一个文件时出错:

/tmp/ccIBQibC.s:汇编器消息:
/tmp/ccIBQibC.s:242:错误:Ungültige Anweisung»cmovg R3、R2«
/tmp/ccIBQibC.s:243:错误:Ungültige Anweisung»cmovg R1、R3«
/tmp/ccIBQibC.s:245:错误:Ungültige Anweisung»cmovl r0、R3«
/tmp/ccIBQibC.s:247:错误:Ungültige Anweisung»cmovg r3、r2«
(无效的«:»...)

调用 make、使用 CC=...传递编译器路径变量 似乎是另一种选择、因此我尝试了:
[Linux-Devkit]:~/Downloads/ffmpeg-3.2.4 sudo make CC=/opt/ti/linuxSDK/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
一些文件是在进程终止前构建的:

cc   libavfilter/vf_mimalation.o
/tmp/ccsCzqRV.s:汇编器消息:
/tmp/ccsCzqRV.s:1529:错误:Ungültige Anweisung»cmovg IP、R5«
/tmp/ccsCzqRV.s:1530:错误:Ungültige Anweisung»cmovg r7、ip«
/tmp/ccsCzqRV.s:1532:错误:Ungültige Anweisung»cmovl R2、IP«

我猜我会错过或误解某些内容(希望我尝试的内容不是不可能的)。
如果你们有任何关于可能出现的问题或问题/资源的提示/想法、可能会让我注意到缺失的信息、那就非常高兴!

>>>编辑<<<
sudo make CC=/opt/ti/linuxSDK/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
不事先运行环境设置会导致不同的错误:

cc   libavdevice/v4l2enc.o
cc   libavdevice/xcbgra.o
libavdevice/xcbgra.c:25:21:致命错误:xcb/xcb.h:无此类文件或目录
编译已终止。
common.mak:60:Die Regel für Ziel„libavdevice/xcbgraf.o " scheiterte
make:***[libavdevice/xcbgra.o] Fehler 1.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    FFMPEG 支持超出了本论坛的范围。 Sitara 处理器 SDK 支持多媒体用例、仅通过 gstreamer 流水线提供支持。 您可以通过在论坛页面顶部的搜索工具栏中键入"ffmpeg"来搜索类似的主题帖。