开发环境:
主机:ubuntu 16.04 64bit,4核CPU
u-boot版本:u-boot.2017.07
cross gcc: $sudo apt-get install gcc-arm-linux-gnueabihf
开发板:sabrelite 6Q
一 .安装jdk
下载jdk:
选择linux 64bit
$sudo mkdir /opt/jvm
$sudo tar zxvf jdk-8u161-linux-x64.tar.gz -C /opt/jvm
$sudo vi /etc/profile
输入:
export JAVA_HOME=/opt/jvm/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使上面的环境变量有效(或重启系统)
$source /etc/profile
注意,使上面命令生效的环境变量,只是在当前的命令行终端里,即除非是从当前终端中启动eclipse。
测试:
$java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
二 .安装eslipse
1. 下载eclipse
在页面中选择:Eclipse IDE for C/C++ Developers, 64bit,这里下载的是eclipse-cpp-oxygen-3-linux-gtk-x86_64.tar.gz
$sudo tar zxvf eclipse-cpp-oxygen-3-linux-gtk-x86_64.tar.gz -C /opt
进入/opt/eclipse下,找到eclipse,可直接启动
如提示没有安装JDK,通常的,都是没有正确配置和导入环境变量所致。如即使在终端中使用上述source /etc/profile命令,使用图标双击的方式打开eclipse时,也会提示找不到java,此时只能重启系统。
2. 创建eclips桌面图标:
创建eclipse.desktop文件,该文件内容为:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
StartupNotiry=true
Type=Application
Categories=Application;IDE;C;
使该文件可执行:
$chmod u+x eclipse.desktop
将eclipse.desktop拷贝到桌面
三.新建u-boot工程并配置
1.新建工程:选择Create a new C Project
![](https://i-blog.csdnimg.cn/blog_migrate/1751fd452c7926237e1ba46e3b506d6e.png)
2.下一步
![](https://i-blog.csdnimg.cn/blog_migrate/ebecd06ada451f491fe5d9ee39e15815.png)
- 选择Executable-->Empty Project
- Location为u-boot目录(在对应的Browse...找到u-boot源码目录)
- Toolchains为Cross GCC
3.下一步
![](https://i-blog.csdnimg.cn/blog_migrate/60a0fde184aceeaf806585580e9f88c2.png)
4.下一步
![](https://i-blog.csdnimg.cn/blog_migrate/7e720ecc12ba5ca8570568363d0a21c5.png)
注意上面的Cross compiler prefix和Cross compiler path均为空。
点击Finish。
5.Finish,并等待Indexer完成(状态栏有Indexer完成进度):
![](https://i-blog.csdnimg.cn/blog_migrate/46dec20b65417b760a9c6883ef4cbfca.png)
四. 配置工程:
点击工程,在弹出的右键菜单中选择Properties:
![](https://i-blog.csdnimg.cn/blog_migrate/8970610ca5e56039141936758b64506a.png)
1. Builders:
![](https://i-blog.csdnimg.cn/blog_migrate/280f18a84b08af02f8c98f5374e1a532.png)
2. C/C++ Build:
![](https://i-blog.csdnimg.cn/blog_migrate/26d04bdaeb422a6fd7cf2e0640e95474.png)
在Builder Settings选项卡勾选掉:
- Use default build command
- Generate Makefiles automatically
- 点击File system,选择u-boot源码目录。
3. Behavior选项卡中的设置:
![](https://i-blog.csdnimg.cn/blog_migrate/79b4b1c1f54185e854f8c5f324938011.png)
Build一栏,增加-j4,即使用4核编译
Clean一栏,填写distclean
4. C/C++ Build-->Environment:
并Undefine变量CWD,PWD,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/c216273b9b24da0d5812473a31896946.png)
新建环境变量:
- ARCH值为arm
- CROSS_COMPILE值为arm-linux-gnueabihf-
且都勾选Add to all configurations
![](https://i-blog.csdnimg.cn/blog_migrate/312338a1a0538cdea81a05741cc6fde1.png)
5. C/C++ Build-->Settings:选择GNU Elf Parser
![](https://i-blog.csdnimg.cn/blog_migrate/afa2b5419734059d4c7b4d5e0367a9eb.png)
6. C/C++ Build-->Tool Chain Editor:选择Cross GCC
![](https://i-blog.csdnimg.cn/blog_migrate/7990f382986a8fa483acef9df5ce3dce.png)
五. 新建build target:
Shift + F9:
![](https://i-blog.csdnimg.cn/blog_migrate/055d4b824c53b8a1afefc92f544cb8f7.png)
在新建的Target name一栏输入:nitrogen6q_defconfig
六. 编译工程
1.先编译build Targets-->nitrogen6q_defconfig,右键菜单上选择"Build Target",
此时将执行make nitrogen6q_defconfig。
![](https://i-blog.csdnimg.cn/blog_migrate/9bccc9c863450498fc7f81e411ef7161.png)
下方的Console选项卡中会显示编译输出结果:
![](https://i-blog.csdnimg.cn/blog_migrate/e06232c3923b7878f894b44f7492d131.png)
2. uboot2017-->Build Project
工程上单击右键,在弹出的菜单上选择"Build Project",会执行make -j4命令:
![](https://i-blog.csdnimg.cn/blog_migrate/eb195d590eea21e6d094c2aeb1bef6cb.png)
3. clean,会执行make distclean命令
![](https://i-blog.csdnimg.cn/blog_migrate/5c176357abe002462af4768b9589ec32.png)
下一篇文章我将介绍如果使用j-link来在此eclipse u-boot工程下调试u-boot。