关于树莓派的开发环境 纠结了一些时间 ,我的是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. CentOS下支持exFAT与NTFS

    exFAT: 1.下载fuse-exfat支持软件: exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/ ,当前版本是:1. ...

  2. php多维数组化一维数组

    一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { retu ...

  3. Linux中__init、__devinit等内核优化宏【转】

    转自:http://blog.csdn.net/joker0910/article/details/7171626 内核使用了大量不同的宏来标记具有不同作用的函数和数据结构.如宏__init .__d ...

  4. poj -1065 Wooden Sticks (贪心or dp)

    http://poj.org/problem?id=1065 题意比较简单,有n跟木棍,事先知道每根木棍的长度和宽度,这些木棍需要送去加工,第一根木棍需要一分钟的生产时间,如果当前木棍的长度跟宽度 都 ...

  5. BZOJ 1257 余数之和sum

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1257 题意:计算sigama(m%i)(1<=i<=n). 思路: 这样就简 ...

  6. 头文件中的#ifndef/#define/#endif 的作用

    在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误.在头文件中实用#ifndef #define #endif能避免头文件的重定 ...

  7. java I/O总结

    IO是非常重要的一块,但通常又被人们所忽视,这里希望能有个很清晰的介绍.自己学习的同时希望能够给别人带来一些帮助,对文章中用到其他作者(已经给出了链接)的图片在这里表示感谢! IO的分类 java I ...

  8. git(icode)分支及发布管理方式

    如果git(icode)不加管理,可能出现枝节蔓生.四处开放的版本库.到处都是分支,完全看不出主干发展的脉络,造成下图的局面: 为了降低合并和版本管理的成本,团队引入一种值得借鉴的管理方式(link) ...

  9. cocos2dx Android 环境搭建 以及 ndk调试

    最近在学习cocos2dx,真的很强大,使我们更专注于游戏趣味,免去了繁琐的底层框架代码. cocos2dx的最强大之处当然在于跨平台.跨平台首选当然是Android,好记性不如烂笔头,记下本文分享给 ...

  10. ASP.NET中动态获取数据使用Highcharts图表控件【Copy By Internet】

    具体实现的效果如图: