1. 安装Eclipse及它的C/C++开发环境: %rcFT_
[root@]# dnf install eclipse &J(!8y*QyE
[root@]# dnf install eclipse-cdt ;J=:IEk
这个步骤非常简单。新的Fedora系统使用dnf命令,老的Fedora系统使用yum命令。Ubuntu系统使用apt-get,或者直接从Eclipse网站下载源代码,都是可以的。 \_U*t!
*Hunp Y
2. 然后在Linux内核官方网站下载内核源代码: Pfan7fq+
https://www.kernel.org/ 1JeJxzv>C
&HL{LnLP@/
3. 在TI官方网站下载交叉编译器: p+<}YDMb
http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html y x;h
我们可以直接使用TI提供的主线内核,一般来说它比较稳定。也可以使用Linux官方网站提供的最新稳定版,这样能够使用Linux新的特性。除非我们使用的某个功能非常特殊,只有官方mainline或者Linux最新stable才有,才必须使用其中的某个版本。否则任选其一均可。(TI公司还提供了完整的SDK包,里面除了mainline主线内核,还有U-Boot和文件系统等等。) o5 WW{)Q
/^4"Qv\@/
4. 将交叉编译器放置在/opt目录下: aD|Yo
[root@]# cp gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf /opt/ -rfv UH20n{_:
_6rKC*Pe1
5. 解压内核源代码,创建Git仓库: m&Sp1=*Ejy
[user@]$ tar xvf linux-4.13.2.tar.xz /aOlYqM(>
[user@]$ git init F$yeF^\g
[user@]$ git add * @T7PZB&xnl
[user@]$ git commit [H^ X"D
x+^Vg3 q
6. 使用Eclipse导入Linux的Makefile项目: f3&/r
Files -> Import -> Existing Code as Makefile Project E}$V2ha0zu
选择内核源代码所在的目录,目录名会自动作为工程名字。交叉编译链选择“None”,我们会在Makefile里指定交叉编译器。 {^m5#f 0"
oAz<G
7. 在终端里导入config文件: v{koKQ'Y()
[user@]$ make ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- omap2plus_defconfig wd+O5Lr.R
<25ccE9^c
8. 最后在Makefile里添加CROSS_COMPILE选项,并在Eclipse工程里编译: v#U pw\!
ARCH=arm \h#9oPy
CROSS_COMPILE=/opt/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- Qlh?iA
MAKEFLAGS += -rR --include-dir=$(CURDIR) -j8 xb`CdtG2.
|yv]Y/=
9. 点击编译,等待编译完成。 O`(U/?
ZNL5({lv
虽然Vim使用ctags工具,也能进行函数跳转,但是Eclipse更加方便。如果不是处理远程代码,还是推荐使用Eclipse或者其他IDE进行U-Boot开发! z!Hx @){|
gjZx8oIoP
ps: 如果编译时提示找不到lzma工具,就执行下面这条命令: jL_5]pzJ
[root@]# dnf install xz-lzma-compat 3EOyq^I%