对于嵌入式交叉编译总结

这几天终于搞定了老师项目里我负责的部分,主要是做一个图像采集的手持端,我选用了JZ2440。
从移植内核、制作文件系统、Qt移植总结下来发现在对于代码的交叉编译必须保证编译平台的一致性。对于s3c2440来说是armv4t,所以当我们编译出来程序必须要是

执行 arm-linux-readelf libjpeg.so.62.0.0 -A (libjpeg.so.62.0.0 为我交叉编译出来的)

这里写图片描述
这里的Tag_CPU_arch: v4T 很重要 、我的工具链arm-none-linux-gnueabi-(4.3.2)默认编译出来的程序为V5 平台的,由于我又是新手,开始时给我带来很多困扰

后来我成功搭建好busybox时Qt程序老是出现非法指令问题
我查看了我生成的Qt程序,发现为V5,这也不难解释Illegal instruction错误
这里写图片描述

开始时我走了弯路,我在我写的Qt程序里加入了

这里写图片描述

后来发现还是编译出来为V5,我又尝试在Makefile中加入march指定,发现还是不行,后来突然发现我编译出来的Qt链接库全是V5平台的,怪不得编译出来的程序也是V5,什么样的爹什么样的儿子嘛。于是我又开始程序交叉编译armv4t的qt4.7 。这这间经历的坑我就不多说了,直接贴上我的文件

./configure -opensource -embedded armv4t -xplatform qws/linux-arm-g++ -no-webkit -nomake demos -nomake examples -qt-libtiff -qt-libmng -qt-libjpeg -qt-mouse-tslib -qt-mouse-pc -qt-gfx-transformed -no-mouse-linuxtp -prefix /opt/qt-4.7.1 -I /usr/local/tslib/include -L /usr/local/tslib/lib

加粗的这一句很重要,直接决定了编译出来是armv4t还是armv5
(默认V5)。最后的-I -L根据自己情况写

编译libtools
./configure CC=arm-linux-gcc-yin –host=arm –prefix=/opt/jpeg/libtool-release

编译jpeg-6b
./configure CC=arm-linux-gcc-yin –prefix=/opt/jpeg/jpeg-6b-release –enable-shared –enable-static –host=arm

编译tslib
CFLAGS=-march=armv4t ./configure –host=arm-linux –cache-file=arm-linux.cache -prefix=/usr/local/tslib ac_cv_func_malloc_0_nonnull=yes

这里写图片描述

arm-linux-gcc-yin 是我自己做的脚本。

最后一句:最重要的是统一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux下svn搭建配置

Linux下svn搭建配置1、安装svn客户端yum install subversionsvnserve --version ;如果成功安装,可以看到输出版本信息2、配置svn mkdir -p /data/svn ;创建svn目录svnadmin create /dat…

rstudio 导出结果_RStudio如何完美导出包含中文的图

这篇文章源于我自己使用R及RStudio数据处理时遇到的问题,R非常强大,但是在中文支持方面还是不是很完美,比如遇到你想导出一个含有中文的图,就会遇到问题。比如有这样一个简单的图:data plot(data,xlimc(1,3),ylimc(2,3…

CSS进阶学习

5种主流浏览器及内核 IE trident Chrome webkit/blink Firefox gecko Opera presto 3%-5% Safari webkit css引入三种方式 行间样式 页面级 外部css文件 同步:顺序进行。一件事做完做另一件事。 异步:同时进行。两件不同的事同时做。 CSS权重&#xff…

linux驱动调试--oops信息

在移植dm9000 时被一个错误困扰了很久,当时手里只有printk调试手段,觉得自己应该升级下了,先学习了根据oops信息来调试。 先构造一个错误,insmod后抛出如下信息 我们着重看这几句 PC is at memcpy0x8c/0x29c c0148080 pc : …

浏览器输入网址后发生了什么?

摘自:这是最全的一篇!!!浏览器输入网址后发什么了什么? 作者:程序员cxuan 发布时间: 2021-04-15 11:59:07 网址:https://blog.csdn.net/qq_36894974/article/details/115720479 到现…

python默认参数只被解释一次_深入讲解Python函数中参数的使用及默认参数的陷阱...

C里函数可以设置缺省参数,Java不可以,只能通过重载的方式来实现,python里也可以设置默认参数,最大的好处就是降低函数难度,函数的定义只有一个,并且python是动态语言,在同一名称空间里不能有想多名称的函数…

fancybox去除不受待见的水平滚动条

用fancybox在嵌套某个页面时,有时莫名其妙的会出现的消除不掉的幽灵般水平滚动条,如何去除: github上的解决方案:https://github.com/fancyapps/fancyBox/issues/24 转载于:https://www.cnblogs.com/kinpauln/p/3145796.html

Word Count作业

Word Count作业 一.个人Gitee地址&#xff1a;https://gitee.com/Changyu-Guo 二.项目简介 该项目主要是模拟Linux上面的wc命令&#xff0c;基本要求如下&#xff1a; 命令格式&#xff1a; wc.exe [para] <filename> [para] <filename> ... -o <filename> 功…

iDempiere = OSGi + ADempiere 一款ERPCRMSCM系统、助力中小企业发展

怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建。http://osssme.org/ iDempiere OSGi ADempiere 一款ERP&CRM&SCM系统、助力中小企业发展 一句话概括iDempiere是一款基于Compiere/ADempiere的​开源企业级ERP&CRM&SCM系统​&…

字符串 hash 唯一数字_【数字课堂】酒妹带你了解“身份认证技术”

身份认证技术是在计算机网络中确认操作者身份的过程而产生的有效解决方法。计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的&#xff0c;计算机只能识别用户的数字身份&#xff0c;所有对用户的授权也是针对用户数字身份的授权。如何保证以数字身份进…

内核启动流程—走马观花

汇编阶段&#xff1a; ensure svc mode and irqs disabled 76确保cpu运行与svc模式&#xff0c;中断关闭 get processor id 78获取cpu id r5procinfo r9cpuid invalid processor (r50)? 79 和__proc_info lists 里比较&#xff0c;不能找到id就 r5 0 bl __vet_atags…

空气中超声衰减

空气中超声衰减是非常厉害的&#xff0c;这导致在空气耦合声换能器的制作或是声传感器的设计是极具挑战的&#xff0c;因此对超声衰减做一个细致的分析是很有必要的。 具体计算根据经验公式如下进行计算 结果如下&#xff1a; Figure 1 超声衰减系数与频率关系图 Figure 2 超声…

嵌入式linux系统和嵌入式android系统的区别和联系

目录区别与联系嵌入式系统在物联网行业中的应用物联网嵌入式系统的特征区别与联系 这个问题很多人问&#xff0c;尤其是初入嵌入式的菜鸟。其实大家都认为android是java&#xff0c;已经不是linux&#xff0c;殊不知android就是靠着linux 才发展起来的&#xff0c;现在来说说有…

java生产者消费者问题代码分析

作者要的是一个生产者生成&#xff0c;接着必须有一个消费者消费&#xff0c;那这不是需要单线程吗&#xff1f;或者使用1个大小的阻塞队列。所以只谈论问题本身&#xff0c;不谈论好不好。 具体代码&#xff1a; Java代码 import java.util.concurrent.locks.Condition; i…

vb冒泡排序法流程图_VB算法-冒泡排序教案

1冒泡排序教学设计班级&#xff1a;高一一班授课教师&#xff1a;袁海军一、教案背景模块&#xff1a;算法与程序设计班级&#xff1a;高一(1)班课时数&#xff1a;1课时所用教材&#xff1a;华师大版《算法与程序设计》教师&#xff1a;袁海军二、教学设计1.教学目标知识与技能…

linux板级初始化

最近拿到了明远智睿 的EK314开发板&#xff0c;以前主要用2440&#xff0c;眼界过于狭隘&#xff0c;借此机会练习下。 http://lornyin.top/?p106 原文地址 首先看看它的板级文件 /arch/arm/mach-mx6/board-myimx6ek314.c 在他的末尾指定了map_io、init_irq、init_machine…

可以ping通 但ssh: connect to host 192.168.0.2 port 22: Connection refused

目录问题描述原因解决问题描述 自己在树莓派端通过SCP指令给电脑上ubuntu传输文件发现提示&#xff1a;ssh: connect to host 192.168.0.2 port 22: Connection refused&#xff0c;并且发现树莓派端是可以ping通ubuntu的。 原因 通过网上查新找到原因&#xff1a; SSH分客…

动态规划初步--数字三角形

数字三角形是一个由非负数组成的三角形&#xff0c;第n行有n个数&#xff0c;形如&#xff1a; 1 2 3 4 5 6 除最下行之外&#xff0c;每一行的左下和右下各有一个数&#xff0c;从第一行开始&#xff0c;向下&#xff0c;左或者右走一格&#xff0c;直到走到最后一行&#…

光影精灵5完全拆解全程图解_惠普光影精灵5值得买吗?惠普光影精灵5绿刃版游戏本深度拆解评测...

三星8GB DDR4 2666MHz内存还有一个小配件&#xff0c;虽然小&#xff0c;但绝对是最常用的&#xff0c;这就是无线模块。这款笔记本搭载的是Intel 9560NGW无线网卡&#xff0c;支持2.4GHz / 5GHz双频&#xff0c;最大传输速度可达1.73Gbps&#xff0c;并且集成蓝牙5.0版本&…

linux嵌入式贪吃蛇

目标&#xff1a;用游戏手柄控制贪吃蛇 硬件平台&#xff1a;imax6q 版本信息&#xff1a; arm-none-linux-gnueabi-gcc-4.8.3、 qt5.7.1、linux3.0.1 一、交叉编译tslib1.4 由于 imax6q是 armv7-a 构架&#xff0c;所以以后的编译我们都应编译出 armv7 平台的文件 编译参…