1、下载JDk和Eclipse
首先我们下载Eclipse IDE for C/C++ Developers,
地址
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/mars/2/eclipse-cpp-mars-2-linux-gtk-x86_64.tar.gz
下载完后,打开进入eclipse目录打开eclipse,提示“Version 1.5.0of the JVM is not suitable for this product. Version: 1.7 or greater isrequired.”。
我们需要更高版本的JDK。
官网下载jdk-7u67-linux-x64.rpm。
2、安装和配置JDK
2.1 安装
下载jdk-7u67-linux-x64.rpm后,由于Ubuntu不支持rpm安装,我们要将rpm转换为 deb安装
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo dpkg -i xxxx.deb #安装
2.2 配置
由于ubuntu下自带了gij的JVM实现,所以在终端键入“java -version”时会显示:java version "1.6.0"......等相关信息。这是说系统中已经有了JVM实现,而且gij JVM是默认的JVM实现(被其他的ubuntu工具或软件使用)。这时,就要使用Debian提供的“update-alternatives”工具来完成多版本实现的选择。
sudo update-alternatives --display java
发现系统只列举了gijJVM;因为jdk7是手动解压安装的。
我们需要输入以下指令:
{
[email protected]:/usr/bin$ sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_67/bin/java 2048
[email protected]:/usr/bin$ sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_67/bin/javac 2048
update-alternatives: using /usr/java/jdk1.7.0_67/bin/javacto provide /usr/bin/javac (javac) in auto mode
[email protected]:/usr/bin$ sudo update-alternatives --install /usr/bin/javah javah /usr/java/jdk1.7.0_67/bin/javah 2048
update-alternatives: using /usr/java/jdk1.7.0_67/bin/javahto provide /usr/bin/javah (javah) in auto mode
[email protected]:/usr/bin$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_67/bin/javaws 2048
[email protected]:/usr/bin$ sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.7.0_67/bin/javap 2048
}
其实只要设置java、javac也是OK的。行尾的2048是优先级。
然后输入 sudo update-alternatives --config java 选择刚刚安装的JDK
检查配置update-alternatives --display java
2.3 配置环境变量
gedit ~/.bashrc
在打开的文件的末尾添加
export JAVA_HOME=/usr/java/jdk1.7.0_67
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
2.4 遇到的问题
问题1、安装后敲java -version出现:Error occurred duringinitialization of VM java/lang/提示信息
解决:
出现该问题的原因是:
JAVA_HOME/lib中的tools.pack没有被解压成tools.jar
JAVA_HOME/jre/lib中的rt.pack没有被解压成rt.jar
解决的方法是:
切换到root用户,否则会失败~(su root), 找不到unpack200的话,在JAVA_HOME/bin里也有
进入到JAVA_HOME/lib中,将tools.pack解压成tools.jar,执行:
unpack200 tools.pack tools.jar
进入到JAVA_HOME/jre/lib中,将rt.pack解压成rt.jar:
unpack200 rt.pack rt.jar
2.5 检查java版本:
java -version 发现已经是 java version 1.7.0了 OK。
3、启动eclipse
3.1 初始化
在终端里打开eclipse前,需要先初始化一下环境变量,然后再打开eclipse
3.2 需要解决的问题
在终端里打开eclipse,发现出错:
I nternal error: SHA-1 not available.
提示,SHA-1这个算法无法找到,但这个是jdk系统提供的一个算法。包含在JAVA_HOME/jre/lib/jsse.jar中。
打开想要的目录查看,结果只有一个jsse.pack,而没有jsse.jar。 这也是异常抛出的原因了,使用unpack200进行对应jar包的解压。
unpack200 jsse.pack jsse.jar
注意切换到root用户,否则会失败~(su root), 找不到unpack200的话,在JAVA_HOME/bin里也有
4、安装EclipseRemote System Explorer (RSE)
4.1、下载RSE
地址:http://download.eclipse.org/tm/downloads/drops/R-3.3.2-201202061000/
下载RSE-runtime-3.3.2.zip(Recommended for most users)
4.2、安装到eclipse(3.4版本以上)
解压RSE压缩包,直接把里面的内容复制到eclipse的根目录
4.3、打开eclipse并配置
新建-》项目-》RSE-》connection
选择SSH
填入IP,名字 (这个IP是开发板通过dhclent eth0指令请求,PC给它分配的IP)
将eclipse的工作目录,切换到RSE
找到10.10.0.52,右键进入Properties,然后输入IP地址
右键连接,然后输入远端用户名和密码,同步完成
5、添加makefile工程和调试
5.1 添加工程
进入新建工程,选择c/c++选项里的makefile project with existing code
找到相应的makefile,加入就会自动生成工程了。
5.2 调试
这里以telechips的launcher为例
选择Debug As的Debug Configuration...
在Main选项卡里,C/C++Application里填写在PC端我们的Application的位置,将Connection选为刚才RSE设置的10.10.0.52,Remote Absolute File Path For C/C++Application选择远端的位置(注意:是Application的位置,不是它的目录位置)。
在Arguments选项卡里,加上-plugin Tslib
在Debugger选项卡里的main子选项卡里添加上telechips的GDB
在Debugger选项卡里的Gdbserver Settings子选项卡里写上gdbserver和prot口2345
大功告成,现在就可以调试了,记得保存配置(下图右下角Apply保存,Debug调试)。
如果是主launcher的话,记得先kill掉原来正在运行的launcher~
6、利用RSE远程操控文件
Step 1将eclipse的工作目录切换到RSE
Step 2 选择Remote System里面的10.10.0.52选项里的Sftp,点开Root。然后在弹出框里输入远端的用户名、密码。
Step 3 然后就可以直接修改和拷贝、删除远端文件了