关于树莓派的开发环境 纠结了一些时间 ,我的是raspberry Pi 3 mode b 在官网下载 noobs (raspbain 版本)的。

安装完成之后接上显示器 启动系统 然后最初我是想在这个 raspbain 上面装个eclipse 的,这样用C写代码的。但是后来发现

eclipse没有在ARM架构上的版本 所以改用PC上装了一个Ubuntu16.4 的虚拟机 在虚拟机上装eclipse 和交叉编译,这样在用

树莓派跑程序就没问题了,解决了在树莓派上编译慢、编程界面不顺手等一些问题。

先把几个资源下载网址记下来:

Linux系统镜像下载 : http://mirrors.ustc.edu.cn/  这里有很多linux的发行版本 根据情况自行下载

eclipse 官方下载 : http://www.eclipse.org/downloads/ C语言开发环境选择 Eclipse IDE for C/C++ Developers

JDK下载 :http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html   这个是官方不开源的JDK

JDK选择  Java SE Development Kit  也可以使用 apt-get 来装JDK

linux 交叉编译工具链:https://github.com/raspberrypi/tools

然后在虚拟机运行Ubuntu

首先在终端更新下 sudo apt-get updata

然后我直接用的OpenJDK  使用命令 sudo apt-get install openjdk    安装JDK

安装完了在把 下载的eclipse 复制到你想要的一个文件夹内 用 tar zxvf  得到解压后的eclipse 文件夹 在eclipse文件夹内 运行 eclipse 即可

若想创建快捷方式到桌面可参考 http://www.2cto.com/os/201406/306618.html

接下来安装交叉编译

交叉编译 安装完成后 可复制目录到工作目录 (环境变量也随之更改) 然后eclipse 中编译配置使用Cross Gcc 目录就填这个新的

然后命令是 arm-linux-gnueabihf-   即可

注明:以下内容来自  http://blog.csdn.net/xukai871105/article/details/24932611  这里感谢大神  我粘过来保存

1.设置交叉工具链

【1】下载必要的软件和工具

 

sudo apt-get install build-essential git

 
【2】clone交叉工具链

    在home路径下建立一个文件夹取名为rpi

    mkdir rpi

    进入该目录并执行clone操作(更正一处错误)

 
    cd rpi
 

git clone git://github.com/raspberrypi/tools.git

    请注意clone的时间较长请耐心等待。clone完成之后可进入以下目录查看工具链的具体内容。

    cd ~/rpi/tools/arm-bcm2708/
 
    【特别提醒】
    克隆完成之后可以通过pull更新tools
    cd ~/rpi/tools
    git pull origin

    该目录中存在4个文件夹,本例使用gcc-linaro-arm-linux-gnueabihf-raspbian 或 gcc-linaro-arm-linux-gnueabihf-raspbian-x64。前者对应32位系统后者对应64位系统。
    arm-bcm2708hardfp-linux-gnueabi

    gcc-linaro-arm-linux-gnueabihf-raspbian
    arm-bcm2708-linux-gnueabi

    gcc-linaro-arm-linux-gnueabihf-raspbian-x64

【3】加入环境环境变量

    在/.bashrc文件中加入gcc交叉工具链目录。

    sudo gedit ~/.bashrc

    在该文件最后加入交叉工具链所在目录。请注意~符号表示HOME路径,.bashrc为隐藏文件。
    【32位系统】
    export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
    【64位系统】

    export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

    请注意PATH代表环境变量,:冒号代表追加。
    保存并退出文件,接着执行以下指令以便立即更新当前控制台所包含的环境变量。

    source .bashrc
 
   【4】简单测试

    为了测试交叉工具链是否安装成功,可在控制台中输入

    arm-linux-gnueabihf-gcc -v
    控制台中输出内容如下,次步骤可证明交叉工具链安装完成且环境变量设置无误。

然后eclipse中新建工程

配置编译环境

配置输出文件

最后编译产生的elf文件拷贝到 板子中 ./即可执行

Raspberry Pi3 ~ 搭建开发环境的更多相关文章

  1. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The ...

  2. GJM : Unity3D HIAR -【 快速入门 】 二、搭建开发环境

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  3. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  4. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  5. java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子

    一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_ ...

  6. python入门到精通[一]:搭建开发环境

    摘要:Python认识,及在windows和linux上安装环境,测试是否安装成功. 1.写在前面 参加工作也有5年多了,一直在做.net开发,近一年有做NodeJS开发.从一开始的不习惯,到逐步适应 ...

  7. Android开发系列之搭建开发环境

    接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...

  8. python Day 1 - 搭建开发环境

    搭建开发环境 首先,确认系统安装的Python版本是2.7.x: $ python --version Python 2.7.5 然后,安装开发Web App需要的第三方库: 前端模板引擎jinja2 ...

  9. Sublime Text3 + Golang搭建开发环境

    Sublime Text3 + Golang搭建开发环境 http://blog.csdn.net/aqiang912/article/details/46775409 1.安装git 因为golan ...

随机推荐

  1. IDL---ENVI

    ENVI;启动envi file=envi_pickfile();选择文件dialog,返回值就为file ENVI_OPEN_FIle,file,r_fid=fid;根据文件名打开file,并且返回 ...

  2. 【web性能】 JS、CSS的合并、压缩、缓存管理

    本篇文章主要讨论下目前JS,CSS 合并.压缩.缓存管理存在的一些问题,然后分享下自己项目中用到的1个处理方案,并提供1个实例下载.   存在的问题: 合并.压缩文件主要有2方面的问题: 1. 每次发 ...

  3. Android 动画 setVisibility 后出错解决方法

    ===先说明下背景. 写的是个ListView 设置 adapter,并在列表末尾显示加载更多,点击 加载更多 时, 变成一个 圆环形的加载动画和 正在加载. 说明下,这个 加载动画是自己做得,一个圆 ...

  4. YTU 2609: A改错题--学生信息的输入和输出

    2609: A改错题--学生信息的输入和输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 238  解决: 157 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方 ...

  5. Javascript上下文

    var User = { count: 1, getCount: function() { return this.count; } }; console.log(User.getCount()); ...

  6. [CF660C]Hard Process(尺取法)

    题目链接:http://codeforces.com/problemset/problem/660/C 尺取法,每次遇到0的时候补一个1,直到补完或者越界为止.之后每次从左向右回收一个0点.记录路径用 ...

  7. Spring 运用 pointcut 和 advisor 对特定的方法进行切面编程

    上一个例子演示了对特定的bean中的所有的方法进行面向切面编程,包括了 before , after , after throwing, around 几种形式: 如果想对一个bean中的特定方法进行 ...

  8. 基于EasyUi的快速开发框架

    先看图,下边这个简单的增.删.改.查,如果自己写代码实现,这两个页需要多少行代码? 如果再有类似的增.删.改.查,又需要多少行代码? 我最近搞的这个快速开发框架中,代码行数不超过100. 两页的代码如 ...

  9. UVa 11624 (BFS) Fire!

    也是一个走迷宫的问题,不过又有了点变化. 这里迷宫里有若干把火,而且火每秒也是向四个方向蔓延的.问人是否能走出迷宫. 我用了两遍BFS,第一遍把所有着火的格子加入队列,然后计算每个格子着火的时间. 第 ...

  10. JS改变input的value值不触发onchange事件解决方案 (转)

    方法(一)(转载的网络资料) 需要了解的知识     首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onprope ...