玩转mini2440开发板之【tekkamanninja版的u-boot的编译和烧录】

今天继续玩一玩mini2440开发板,弄清楚U-boot的编译和烧录过程。

首先,这里交代一个前提,此处所使用的u-boot,是已经移植测试过的,完全可用的版本。就本文而言,我使用的是tekkamanninja大神于2010.03移植过来的mini2440定制版的u-boot,这位大神是友善之臂官方推荐的研究u-boot的大神,厉害之极,其所移植的代码也一直都是大众所效仿和研究的目标。下面就开始具体步骤的介绍:

1、下载和分支

由于tekkamanninja大神的u-boot源码存放于github上,因此我们使用以下命令进行克隆:

git clone https://github.com/tekkamanninja/u-boot-tekkamanninja.git

要注意的是,这里克隆的是整个仓库。仓库中的代码有好几个版本,好几个分支,因此我们需要进行切换。克隆完毕,进入所在的目录,查看一下分支情况:

leon@Ubuntu:/opt/FriendlyARM/mini2440/u-boot-tekk-2010.03$ git branch
* v2011.06_mini6410_tekkamanninja
leon@Ubuntu:/opt/FriendlyARM/mini2440/u-boot-tekk-2010.03$ git branch -a
* v2011.06_mini6410_tekkamanninja
  remotes/origin/HEAD -> origin/v2011.06_mini6410_tekkamanninja
  remotes/origin/master
  remotes/origin/v2009.08_mini2440_tekkamanninja
  remotes/origin/v2009.11_mini2440_tekkamanninja
  remotes/origin/v2010.03_mini2440_tekkamanninja
  remotes/origin/v2010.09_mini6410_tekkamanninja
  remotes/origin/v2010.12_mini6410_tekkamanninja
  remotes/origin/v2011.06_mini6410_tekkamanninja

于是我们要切换到我们所需要的分支:

leon@Ubuntu:/opt/FriendlyARM/mini2440/u-boot-tekk-2010.03$ git checkout v2010.03_mini2440_tekkamanninja 
分支 v2010.03_mini2440_tekkamanninja 设置为跟踪来自 origin 的远程分支 v2010.03_mini2440_tekkamanninja。
切换到一个新分支 'v2010.03_mini2440_tekkamanninja'

2、修改和调整

首先要更换一下编译器,因为tekkamanninja大神使用的是他自己定制的编译器(arm-tekkaman-linux-gnueabi-gcc),而我们没有,因此需要换成我们自己所指定的编译器。

vi Makefile

定位到CROSS_COMPILE所在的位置,将其内容修改为你自己的编译器名称。比如我自己的编译器就是arm-linux-gcc,于是修改为如下:

# load ARCH, BOARD, and CPU configuration
include $(obj)include/config.mk
export  ARCH CPU BOARD VENDOR SOC
CROSS_COMPILE = arm-linux-
# set default to nothing for native builds
ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?=
endif

修改完,保存退出即可。

接下来要去修改一下NFS的相关参数,位置是在mini2440.h这个头文件里,具体的方法,发稿时暂未研究透,因此这里先不作描述,待后续再行添加完善。若有问题,可先自行百度。

3、编译和烧录

输入以下命令开始编译:

make mini2440_config
make -s

第一句话是为了进行板级配置,第二句话的-s意思是静默输出,你如果想看到详细的输出信息,则不用加这个后缀。

由于源码量不大,因此大约1分钟左右就编译完成了,在根目录下就会生成u-boot.bin,将其下载到开发板中,便可运行了。

猜你喜欢

转载自blog.csdn.net/LEON1741/article/details/81774686