嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境
操作系统:Ubuntu12.04 AMD64位
交叉编译环境:arm-Linux gcc版本4.4.3
前言:
首先理解一下交叉编译的意思。我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所有的代码开发工作,只能在一台工作PC上完成然后编译成二进制文件上传到嵌入式设备上。但是我们选用的编译工具链不能是工作PC上的,应该是嵌入式设备上的编译工具链,所以,我们要在PC上搭建适用于嵌入式设备的交叉编译工具链。例如,PC上的gcc版本可能是4.6但是arm-linux-gcc的版本却是4.4.3.
搭建过程:
一、下载适合自己开发板的交叉编译工具包 本文以arm-linux-4.4.3.tar.bz2为例
二、解压缩到/usr/local/arm目录下面
# tar xvf arm-linux-4.4..tar.bz2 -C /usr/local/arm
# vi /etc/profile
末尾添加行export PATH=$PATH:/usr/local/arm/arm-linux-4.4./bin
# source /etc/profile
# arm-linux-gcc -v
但是很有可能没有这么顺利,楼主我就遇到了一个问题,在输入上面命令后,出现如下错误:
/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
在网上查了一下,发现是因为Ubuntu使用的是64位系统,需要安装一些32位的库:
$ sudo apt-get install ia32-libs
又因为ia32-libs是一个正在被淘汰的库,所以可能有些它的依赖包是不会被自动下载的,你可以根据他的提示先安装一下ia32-libs的依赖包,最后就可以把它装上了。
然后再用# arm-linux-gcc -v 试试就好了!
嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境的更多相关文章
- Ubuntu12.04下arm交叉编译环境的建立
http://blog.csdn.net/heyangya2009/article/details/5424376 备注:ubuntu12.04+Android+Real6410 在主机上用来编译其他 ...
- Ubuntu12.04下搭建Java环境
1.认识需要配置的环境变量 1). PATH: 作用是指定命令搜索路径,打开/etc/environment可以看到PATH变量的值,该变量包含了一系列的路径.那些路径都是一些经常使用的系统命令的目录 ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- ubuntu12.10下arm-linux-gcc交叉编译环境的搭建
交叉编译环境搭建的原因:通俗上讲,因为嵌入式系统可用资源比较少:几十M的ARM 二三百M的flash相对我们的pc机来说资源真的没法比.所以,为了解决这种局面就将PC机等作为主机,搭建开发环境,进行编 ...
- ubuntu12.04下安卓编译环境搭建总结
前言: 因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...
- arm汇编--ubuntu12.04 安装arm-linux交叉编译环境
1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:sudo apt-get install gcc g++ libgcc1 libg++ make gdb 2.从ft ...
- Ubuntu12.04 下搭建Java开发环境
1:下载 jdk-7u40-linux-i586.tar.gz. 2:解压安装. (1)创建jvm目录:sudo mkdir -p /usr/lib/jvm (2)sudo tar zxvf ./ j ...
- ubuntu12.04下搭建ftpserver
楼主想把同学硬盘里面的200多G电影共享给实验室的小伙伴们看,就打算在内网server上搭建一个ftp的server. 1.安装ftp 首先在终端下键入例如以下内容,安装ftpserver: sudo ...
随机推荐
- iOS cell自动换行
// // DynamicHeightsViewController.h // DynamicHeights // // Created by Matt Long on 9/22/09. // ...
- C# Hashtable中存入数组、List
哈希表中存入数组示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- AC自动机(Aho-Corasick automation)模板 HDU:2222
#include <iostream> #include <cstdio> #include <cstring> #include <queue> us ...
- SCU 4440 Rectangle 2015年四川省赛题
题目链接:http://acm.scu.edu.cn/soj/problem/4440/ 题目大意:给一个n*m的方格,求周长小于等于k的矩形有多少个. 解题思路:我之前直接暴力,显然超时,所以后来发 ...
- Linux下p2p的聊天功能实现
Linux下p2p的聊天功能实现细节 Do one thing at a time, and do well. 今天闲着没事,写一个P2P的点对点的聊天功能的小程序,我觉得对网络编程初学者的学习很有用 ...
- UVAlive3415 Guardian of Decency(最大独立集)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34831 [思路] 二分图的最大独立集. 即在二分图中选取最多的点, ...
- MySQL 创建库
CREATE DATABASE IF NOT EXISTS database_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 这种创建方式能保证数 ...
- poj 3281 最大流建图
题目链接:http://poj.org/problem?id=3281 #include <cstdio> #include <cmath> #include <algo ...
- lightoj 1251 (Two_Sat)
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> #inclu ...
- nginx 代理概念理解
学习nginx http://www.nginx.cn/nginx-how-to nginx官方定义: Nginx 是一个高性能的 Web 和反向代理服务器. 首先明确一个概念 反向代理 反向代理(R ...