设置树莓派的开发环境
Setting up development environment for Raspberry Pi
最近出于好奇,我决定加入小型机的"潮流"。我买了一对树莓派和BeagleBoard,因为它们都很便宜,我无法抗拒:)但这就是我的问题开始。当然,在购买这些设备之前,我就已经有了一个想法(主机应用)。我把它们安装在我的路由器上,这样它们就可以访问"安装"RPi的raspbian和BeagleBoard的ubuntu手臂,然后安装,这就是我头痛的地方。
我在我的笔记本电脑上安装了Ubuntu 13.04(双引导),这样我就可以访问ARM编译器。现在,在我继续之前,我必须告诉你,我主要在Windows环境下开发,但我熟悉linux,因为我的系统管理员背景。总之,因为我下班后没有太多的空闲时间,因为我喜欢和朋友和家人见面,所以我喜欢在工作时可以在Windows (Visual Studio Ultimate 2012)下修改我的源代码和交叉编译,当我觉得空闲或需要放松的时候。在我笔记本电脑上的Ubuntu下,当我真的有时间的时候,我想有一个简单的过程来编译我的笔记本电脑上的ARM,并将二进制文件发送到RPi和BeagleBoard(即使手动),以及在Windows和Linux上编译x86,这样我就可以调试我的代码。
我了解了其他人是如何做的,我使用Eclipse CDT作为我的linux IDE+编译器(g++/gdb),在windows下使用Visual Studio。制作了我自己的目录结构,但我发现Makefile要求非常繁琐。我花了几天时间才进入那个东西,我仍然不满意它,习惯于在窗口下简单的F5来获得构建+运行调试,所有这些都以我想要的方式开始。
不管怎样,一开始一切都很顺利,遵循c++ 11的"标准",并在linux下为它添加了适当的标志,然后一些奇怪的错误开始出现,我甚至不能编译SQLite,而这个东西在windows/visual studio下运行得很好。经过几天的反复试验,我放弃了,我来这里寻求建议
你们这些RPi/BeagleBoard的粉丝是如何使用这些电脑的,你们是如何设置多操作系统/多arch环境进行调试和编译的?我发现这是非常困难的一点,我正在考虑使用Java,这样我就可以让我的想法运行:<。一种方法是将所有的库和编译器都放在设备上并随身携带,这也没有问题,但它确实感觉有点中世纪,毕竟我拥有的SD卡在尺寸上是相当有限的,上面有操作系统。
欢迎任何提示、指南链接、书籍。虽然英语不是我母亲的语言,但我不介意用英语阅读书籍/文章。
提前感谢!
p。S:我把项目放在u盘里随身携带。
首先,我不能打赌能够从Windows主机上交叉编译linux-arm
或linux-x86
目标,所以我的其余建议仅适用于您的Ubuntu机器。
关于Ubuntu for ARM在你的BeagleBoard上,只要它使用Debian armel/armhf
架构之一,那么你就可以安装emdebian
和xapt
的交叉工具链。有很多简短的教程,选择你想要的。
现在Raspbian的问题是它没有使用Debian的armel/armhf
架构,而是介于两者之间(硬浮动ARMv6,而armel
用于软浮动ARMv5, armhf
用于硬浮动ARMv7)。所以你不能使用标准的emdebian
交叉工具链和xapt
来交叉编译。
有一个官方的树bian跨工具链,你可能想读一下那个教程(但是我想你应该忘记Eclipse,它是多余的,任何像kate
或gedit
这样的文本编辑器对于小项目来说都不会那么混乱)。
我发现Makefile要求非常乏味
您可以使用autotools来生成configure
, Makefile
等,这将比自己编写裸Makefile
容易得多。如见。本教程。
将二进制文件发送给RPi和BeagleBoard
两个字:SSH/SCP。是的,您可以轻松地编写脚本,并使其成为构建过程的一部分。
最后但并非最不重要的是,我没有冒犯的意思(我也经历过;)),但由于你是一个Windows开发人员,对如何在Linux上开发几乎没有经验,我最好的建议是现在放弃整个交叉编译的东西,直到你真正习惯Linux开发。Linux开发一开始会让人困惑,交叉编译一开始也会让人困惑,没有必要同时处理这两个问题。
一件简单的事情是把你的工具链和代码放在目标机器上(RPi/Beagle),通过SSHFS/whatever挂载你的源目录,这样你就可以在你的主机上轻松地编辑它,并在SSH会话中编译。你甚至不需要物理上的目标盒子,只要你能通过网络/互联网到达它(假设它是正确保护的)。
祝你好运!
你的构建过程是非常复杂的,所以不要指望任何简单的解决方案。您正在尝试使用多个操作系统、编译器和目标体系结构。CMake是为了帮助处理这类事情而创建的,但它是而不是一个简单的解决方案。我认为没有。
- Azure IoT SDK C 设置macOS(Mac OS X)开发环境
- 在Ubuntu环境中部署在Mac OS上开发的C 应用程序
- 在Linux环境中开发Visual Studio C 项目
- 在Windows 8上设置COCOS 2DX游戏开发环境中的错误
- 可以推荐哪一个免费的IDE for C++,带有简单的GUI开发环境(Windows)
- 如何处理来自不同开发环境的提交
- 为c++游戏引擎建立一个增量开发环境
- 如何使用Qt3.3.0为windows应用程序开发环境设置我的计算机
- 无法在Windows 7上设置Android Cocos2d-x开发环境
- QSerialPort 在开发环境之外运行时崩溃
- 在 Linux 上为 OpenGL 4.2 设置开发环境(查找 gl.h 时遇到麻烦)
- 以PHP方式使用C++的Web开发环境
- 用于c++开发的OSX环境变量
- 将开发环境从Visual Studio 2003移植到2010:为什么我会收到LNK2005错误
- 如何在Visual Code Editor中为c++项目准备/配置开发环境
- 设置树莓派的开发环境
- USB c++开发环境
- 需要什么样的开发环境才能实现“c++ 2008 Redistributable”
- node.js在web开发环境中的位置
- 如何设置诺基亚应用开发环境