移ffmpeg到axera平台时遇到的错误_tmp/ccu6sj7b.s:804: 错误:unknown mnemonic `pause' ---程序员宅基地

技术标签: 嵌入式Linux应用模块编写  学习Linux记录  gnu  

错误信息记录:

CC    libavfilter/vf_mestimate.o
/tmp/ccqhZ2YH.s: Assembler messages:
/tmp/ccqhZ2YH.s:781: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:782: Error: unknown mnemonic `movgt' -- `movgt x12,x1'
/tmp/ccqhZ2YH.s:783: Error: unknown mnemonic `movgt' -- `movgt x1,x3'
/tmp/ccqhZ2YH.s:785: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:786: Error: unknown mnemonic `movle' -- `movle x1,x11'
/tmp/ccqhZ2YH.s:788: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:789: Error: unknown mnemonic `movgt' -- `movgt x12,x1'
/tmp/ccqhZ2YH.s:798: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:799: Error: unknown mnemonic `movgt' -- `movgt x3,x0'
/tmp/ccqhZ2YH.s:800: Error: unknown mnemonic `movgt' -- `movgt x0,x2'
/tmp/ccqhZ2YH.s:802: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:803: Error: unknown mnemonic `movle' -- `movle x0,x1'
/tmp/ccqhZ2YH.s:805: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:806: Error: unknown mnemonic `movgt' -- `movgt x3,x0'
/tmp/ccqhZ2YH.s:895: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:896: Error: unknown mnemonic `movgt' -- `movgt x13,x1'
/tmp/ccqhZ2YH.s:897: Error: unknown mnemonic `movgt' -- `movgt x1,x11'
/tmp/ccqhZ2YH.s:899: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:900: Error: unknown mnemonic `movle' -- `movle x1,x12'
/tmp/ccqhZ2YH.s:902: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:903: Error: unknown mnemonic `movgt' -- `movgt x13,x1'
/tmp/ccqhZ2YH.s:909: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:910: Error: unknown mnemonic `movgt' -- `movgt x1,x0'
/tmp/ccqhZ2YH.s:911: Error: unknown mnemonic `movgt' -- `movgt x0,x2'
/tmp/ccqhZ2YH.s:913: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:914: Error: unknown mnemonic `movle' -- `movle x0,x3'
/tmp/ccqhZ2YH.s:916: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:917: Error: unknown mnemonic `movgt' -- `movgt x1,x0'
/tmp/ccqhZ2YH.s:1199: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:1200: Error: unknown mnemonic `movgt' -- `movgt x15,x3'
/tmp/ccqhZ2YH.s:1201: Error: unknown mnemonic `movgt' -- `movgt x3,x12'
/tmp/ccqhZ2YH.s:1203: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:1204: Error: unknown mnemonic `movle' -- `movle x3,x14'
/tmp/ccqhZ2YH.s:1206: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:1207: Error: unknown mnemonic `movgt' -- `movgt x15,x3'
/tmp/ccqhZ2YH.s:1216: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:1217: Error: unknown mnemonic `movgt' -- `movgt x12,x1'
/tmp/ccqhZ2YH.s:1218: Error: unknown mnemonic `movgt' -- `movgt x1,x4'
/tmp/ccqhZ2YH.s:1220: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:1221: Error: unknown mnemonic `movle' -- `movle x1,x3'
/tmp/ccqhZ2YH.s:1223: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:1224: Error: unknown mnemonic `movgt' -- `movgt x12,x1'
/tmp/ccqhZ2YH.s:1240: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:1241: Error: unknown mnemonic `movgt' -- `movgt x16,x3'
/tmp/ccqhZ2YH.s:1242: Error: unknown mnemonic `movgt' -- `movgt x3,x14'
/tmp/ccqhZ2YH.s:1244: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:1245: Error: unknown mnemonic `movle' -- `movle x3,x15'
/tmp/ccqhZ2YH.s:1247: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:1248: Error: unknown mnemonic `movgt' -- `movgt x16,x3'
/tmp/ccqhZ2YH.s:1254: Error: unknown mnemonic `itt' -- `itt gt'
/tmp/ccqhZ2YH.s:1255: Error: unknown mnemonic `movgt' -- `movgt x3,x1'
/tmp/ccqhZ2YH.s:1256: Error: unknown mnemonic `movgt' -- `movgt x1,x4'
/tmp/ccqhZ2YH.s:1258: Error: unknown mnemonic `it' -- `it le'
/tmp/ccqhZ2YH.s:1259: Error: unknown mnemonic `movle' -- `movle x1,x12'
/tmp/ccqhZ2YH.s:1261: Error: unknown mnemonic `it' -- `it gt'
/tmp/ccqhZ2YH.s:1262: Error: unknown mnemonic `movgt' -- `movgt x3,x1'
ffbuild/common.mak:78: recipe for target 'libavfilter/vf_mestimate.o' failed
make: *** [libavfilter/vf_mestimate.o] Error 1
 

上面错误明显时指令集不匹配导致。

问题是做620平台时,编译没有问题。为什么做630平台就出错了呢?这两者间的区别就是在编译器上。

在620上用 ./configure --prefix=/home/${HOME}/arm_soft_dest/ffmpeg --disable-static --enable-shared --disable-debug --disable-ffplay --disable-ffprobe --enable-parser=h264 --enable-cross-compile --arch=arm --target-os=linux --cross-prefix=arm-linux-gnueabihf-

换成630的编译器  --cross-prefix=aarch64-linux-gnu-  后出现错误。

在网上查了一下资料,有下面一段文字描述:

aarch64 是 ARMv8-A 架构中引入的64位指令集,AArch64 向后兼容基于32位指令集的 ARMv7-A 和之前别的一些 32 位 ARM 架构(也就是AArch32)。

因此,64ISA的 GNU 三元组是 aarch64

历史中,Linux 内核社区选择arm64作为内核的端口调用,而不是aarch64,这就导致遗留了一些 arm64 的用法。同样的,Apple后端团队也称aarch64arm64

目前,LLVM 社区后端称为aarch64(因为它是64位ISA的规范名称),后来两者合并,后端现在统一称为aarch64 。

所以aarch64arm64指的是同一个东西

所以,将configure 修改一下,编译就通过了。

./configure --prefix=/home/${HOME}/arm64_soft_dest/ffmpeg --disable-static --enable-shared --disable-debug --disable-ffplay --disable-ffprobe --enable-parser=h264 --enable-cross-compile --arch=arm64 --target-os=linux --cross-prefix=aarch64-linux-gnu-

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Harrison_zhu/article/details/123146190

智能推荐

一、Jquery入门(超详)-程序员宅基地

文章浏览阅读4.3k次,点赞21次,收藏48次。本文将带领大家了解 jQuery 的定义,它有什么作用,我们为什么要学它,以及如何使用它,它的语法是什么,最后对比了 jQuery 对象和 DOM 对象的区别。_jquery

【SassError: expected selector报错 用::v-deep 替换 /deep/的真实写法】_unexpected unknown pseudo-element selector "::v-de-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏2次。关于SassError: expected selector报错 ::v-deep 替换 /deep/的正确替换方式_unexpected unknown pseudo-element selector "::v-deep

Linux学习笔记 第0章:计算机概论_字长 位宽-程序员宅基地

文章浏览阅读301次。0.1.0计算机本质计算机:接受用户输入的命令与数据,经由中央处理器的算术与逻辑单元运算处理后产生储存成有用的信息算术逻辑单元(Arithmetic&logical Unit:是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由与门 和或门构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的..._字长 位宽

Curve25519 Field域2^255-19内的快速运算_curve25519标量乘-程序员宅基地

文章浏览阅读1.2k次,点赞3次,收藏3次。1. 引言对于Curve25519,其Field域内的module Fp = 2255-19。若采用常规的Montgomery reduce算法,其运算性能并不是最优的。如要求某整数 u mod (2^255-19),可将m整数用多项式做如下表示:u=∑iuixi,其中,ui=n∗2⌈25.5i⌉,n∈Nu=\sum_{i}^{}u_ix^i,其中,u_i=n*2^{\left \lce..._curve25519标量乘

超全golang面试题合集和答案+golang学习指南+golang知识图谱_goland面试题-程序员宅基地

文章浏览阅读6.8k次,点赞3次,收藏68次。https://blog.51cto.com/u_15102959/2637222_goland面试题

Python实现自动挂机脚本(基础篇)_我是农场主自动挂机脚本-程序员宅基地

文章浏览阅读8.4w次,点赞67次,收藏608次。不知不觉肝阴阳师也快一年了,对这游戏真是又爱又恨,最近刚刚发布了PC版,突然很想尝试着写个脚本挂机,话不多说进入正题。简单的鼠标操作游戏挂机脚本,无非就是自动移动鼠标,自动点击,进行重复操作,所以,第一步就是如何控制鼠标_我是农场主自动挂机脚本

随便推点

如何用NAS打造私有协同办公系统?-程序员宅基地

文章浏览阅读6.2k次。对于人数不多的小型初创企业、工作室、SOHO人群来说,能够拥有自有的协同办公系统无疑是提高工作效率的好方法,同时将文件放在自己的服务器中,显然会更加安心,不用担心重要内容的泄露问题。因此,大家有没有这样想过,自己动手搭一套私有的、云端化的协同办公系统,搞定文件异地同步的同时,实现云端化的办公软件,并提升数据安全性。理想虽好,不过要亲手搞定这样的协同办公系统一定很困难吧?如果你真这样

假设你们的社团要精选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终的票多的人为社长。-程序员宅基地

文章浏览阅读33次。输出描述:一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。输入描述:一行,字符序列,包含A或B,输入以字符0结束。

BeanFactory和ApplicationContext有什么区别?_beanfactory和applicationcontext是干什么的-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏2次。BeanFactory和ApplicationContext有什么区别? BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。(1)BeanFactory:是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理..._beanfactory和applicationcontext是干什么的

java 项目管理 maven2.0学习笔记 _apt fml fr-程序员宅基地

文章浏览阅读4.5k次。转贴:http://blog.csdn.net/shiqiang1234/archive/2006/10/12/1331725.aspxMaven简介Maven最初的目的是在Jakarta Turbine项目中使构建处理简单化。几个项目之间使用到的Ant build文件差异很小,各个JAR都存入CVS。因此希望有一个标准的方法构建各个工程,清晰的定义一个工程的组成,一个容易的方法去发布项目_apt fml fr

【linux之进程间通信】——管道_管道read-程序员宅基地

文章浏览阅读2.6k次,点赞9次,收藏11次。进程间是怎么通信的之前我们说过,进程与进程之间是相互独立的,它们的数据也是绝对独立的,那么如果一个进程要向另一个进程发送数据,发送消息等通信,那么这时怎么做到的呢?管道所谓的管道,是内存中的一个缓存文件,进程A在管道写入数据,实际是写入到内核中的缓存文件中,进程B从管道中读取数据,实际是从内核的缓存文件中读取数据。管道的传输数据是单向的,只能由一个进程写入,一个进程读出。匿名管道概念匿名管道是没有名字的,它是特殊文件,它只存在内存中,不存在我们文件系统中,即用完就销._管道read

DermoSegDiff: A Boundary-aware Segmentation Diffusion Model for Skin Lesion Delineation-程序员宅基地

文章浏览阅读445次,点赞5次,收藏10次。DermoSegDiff:用于皮肤病变描绘的边界感知分割扩散模型摘要:皮肤病变分割对皮肤病的早期发现和准确诊断起着至关重要的作用。消噪扩散概率模型(ddpm)最近因其出色的图像生成能力而受到关注。在这些进展的基础上,我们提出了DermoSegDiff,这是一个在学习过程中包含边界信息的皮肤病变分割的新框架。我们的方法引入了一种新的损失函数,在训练过程中对边界进行优先排序,逐渐降低其他区域的重要性。我们还介绍了一种新的基于u - net的去噪网络,该网络可以熟练地将网络内的噪声和语义信息集成在一起。在多个_dermosegdiff