先复制链接http://labfile.oss.aliyuncs.com/courses/811/gcc-3.4.6-glibc-2.3.6.tar.bz2 到实验窗口右侧工具栏的剪切板中,然后保存,并关闭剪切板窗口:
wget
+网址(http://labfile.oss.aliyuncs.com/courses/811/gcc-3.4.6-glibc-2.3.6.tar.bz2)
就可以通过网络连接,下载你想要的功能。
首先解压下载好的gcc-3.4.6-glibc-2.3.6.tar.bz2
gcc-3.4.6-glibc-2.3.6/bin
有很多命令。
进入gcc-3.4.6-glibc-2.3.6/bin目录,执行pwd命令确定所在目录,然后执行ls命令查看当前目录下是否有arm-linux-gcc文件,若有该文件,使用./运行该文件。
运行结果显示找不到该文件或目录,主要原因是当前系统环境是x86_64位,而arm-linux-gcc是32位,需要解决64位系统下安装32位软件的问题。
安装完成后再次运行./arm-linux-gcc,提示arm-linux-gcc:no input files,意思是arm-linux-gcc命令没有输入文件,说明该文件在当前环境下可用。
执行export命令将arm-linux-gcc所在目录临时加入PATH中:
2.1获取u-boot源码
将链接http://labfile.oss.aliyuncs.com/courses/811/u-boot-1.3.2.tar.bz2 粘贴入剪切板,并在终端里执行wget命令,将u-boot-1.3.2.tar.bz2下载到当前目录,并使用tar命令解压缩。
上述步骤类似交叉编译工具的下载和解压缩命令,请将所使用的命令写入实验报告
2.2.建立板级支持包
在board目录下,每一块开发板都有一个对应的目录,因此我们需要为我们的开发板建立一个目录,名字叫做eduk2410,并创建相应的文件:
# cd u-boot-1.3.2/board/
# mkdir eduk2410
# cp smdk2410/* eduk2410
将eduk2410目录下的smdk2410.c文件更名为eduk2410.c:
# cd eduk2410
# mv smdk2410.c eduk2410.c
并将eduk2410.c文件中的gpio->GPBCON = 0x00044555改为gpio->GPBCON = 0x0004455A:
# vim eduk2410.c
上面的步骤中,我们把smdk2410目录下的所有文件都拷贝到了我们的eduk2410目录下,并做相应的更名和修改。因为我们的开发板和smdk2410开发板的配置差不多。
为了使编译的时候能把这个文件编译进去,需要修改相应的Makefile:
# vim Makefile
找到这一行:
COBJS := smdk2410.o flash.o
把这行的内容改为下面这行:
COBJS := eduk2410.o flash.o
修改eduk2410.c 和Makefile 的vim步骤写入实验报告
每个开发板都有一个自己的配置文件,如smdk2410开发板的配置文件为 include/configs/smdk2410.h,我们也需要为我们的开发板建立自己的配置文件。可以直接从 smdk2410开发板的配置文件中修改而来。因此我们先把smdk2410的配置文件复制到我们开发板的配置文件当中:
# cd ../../
# cp include/configs/smdk2410.h include/configs/eduk2410.h
然后,修改Makefile,使得可以配置我们的开发板:
# vi Makefile
在Makefile中找到下面两行:
smdk2400_config: unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
紧接这这两行添加如下两行:
eduk2410_config: unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t eduk2410 NULL s3c24x0
注意第二行开始部分的空白是按TAB键获得的!这样,我们自己的板级支持包就建好了。
2.3.编译U-Boot
首先运行如下命令配置U-Boot:
# make eduk2410_config
Configuring for edul2410 board...
然后运行make命令编译:
# make
编译完成后,会在U-Boot的源代码目录下生成u-boot.bin文件。这个文件就是我们需要的二进制文件。
在本次课程中进行了BootLoader配置移植及编译实验,通过漫长的等待与实验,成功的进行了实验。