2014025649 《嵌入式系统程序设计》第三、四周学习总结

时间:2022-09-05 13:20:30

教材学习内容总结

学习Linux交叉开发环境的搭建和bootloader的配置移植及编译

1.安装arm-linux-gcc交叉编译工具

1.1 获取交叉编译工具的源代码

复制链接http://labfile.oss.aliyuncs.com/courses/811/gcc-3.4.6-glibc-

2.3.6.tar.bz2 到工具栏的剪切板中,然后保存:

输入wget命令,然后空格,在空格后右击粘贴,回车,就可将交叉编

译工具下载到实验楼环境。

1.2 解压缩交叉编译工具源码

2014025649 《嵌入式系统程序设计》第三、四周学习总结

1.3 测试arm-linux-gcc是否可运行

2014025649 《嵌入式系统程序设计》第三、四周学习总结

运行结果显示找不到该文件或目录,主要原因是当前系统环境是x86_64位,而arm-

linux-gcc是32位,需要解决64位系统下安装32位软件的问题。

1.4 解决64位系统下安装32位软件的问题
运行以下命令:
2014025649 《嵌入式系统程序设计》第三、四周学习总结

2014025649 《嵌入式系统程序设计》第三、四周学习总结

安装完成后再次运行./arm-linux-gcc,提示arm-linux-gcc:no input files,意

思是arm-linux-gcc命令没有输入文件,说明该文件在当前环境下可用

1.5 将arm-linxu-gcc加入环境变量PATH中
执行export命令将arm-linux-gcc所在目录临时加入PATH中:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

上述方法是临时进入PATH,如果关闭实验环境或者关闭终端,命令失效,需要重新
export。
2、bootloader的配置、移植和编译

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命令解压缩。

2014025649 《嵌入式系统程序设计》第三、四周学习总结

2.2.建立板级支持包

在board目录下,每一块开发板都有一个对应的目录,因此我们需要为我们的开发板建

立一个目录,名字叫做eduk2410,并创建相应的文件:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

将eduk2410目录下的smdk2410.c文件更名为eduk2410.c:
2014025649 《嵌入式系统程序设计》第三、四周学习总结

并将eduk2410.c文件中的gpio->GPBCON = 0x00044555改为gpio->GPBCON =

0x0004455A:

为了使编译的时候能把这个文件编译进去,需要修改相应的Makefile:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

每个开发板都有一个自己的配置文件,如smdk2410开发板的配置文件为

include/configs/smdk2410.h,我们也需要为我们的开发板建立自己的配置文件。可

以直接从 smdk2410开发板的配置文件中修改而来。因此我们先把smdk2410的配置文

件复制到我们开发板的配置文件当中:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

然后,修改Makefile,使得可以配置我们的开发板:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

2.3.编译U-Boot

首先运行如下命令配置U-Boot:

2014025649 《嵌入式系统程序设计》第三、四周学习总结

然后运行make命令编译

课后作业

2014025649 《嵌入式系统程序设计》第三、四周学习总结

其他

  本周在实验楼学习到了BootLoader配置移植及编译实验,熟练掌握了解压以及编译,对Linux编译命令有了更深的理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4500行 30篇 300小时
第一周 200/200 2/2 20/20 学会Linux基本命令
第二周 500/500 4/4 40/40 学会gcc 和gdb
第三周 1000/1000 7/7 60/60 学会 BootLoader配置移植及编译实验
第四周 /1300 /9 /90

参考资料

  • 《嵌入式应用程序设计》学习指导