2014025679《嵌入式程序设计》第3,4周学习总结

学习内容:

一.搭建交叉编译环境

1.交叉开发工具的安装

下载地址 wget http://labfile.oss.aliyuncs.com/courses/811/gcc-3.4.6-glibc-2.3.6.tar.bz2

(1)可以将其下载入windows系统中,通过虚拟机软件将其传入Linux虚拟系统中。
(2)也可以在Linux系统中直接通过以上的网址将开发工具下载到Linux系统中

2、交叉开发工具的运行测试

  交叉开发工具运行需要一定的条件支持,需要尝试运行该工具,测试当前的环境是否符合要求。

运行结果显示找不到该文件或目录,主要原因是当前系统环境是x86_64位,而arm-linux-gcc是32位,需要解决64位系统下安装32位软件的问题。

运行以下命令:sudo apt-get update

         sudo apt-get install lsb-core

安装完成后再次运行./arm-linux-gcc,提示arm-linux-gcc:no input files,意思是arm-linux-gcc命令没有输入文件,说明该文件在当前环境下可用。

3、配置环境变量

将arm-linxu-gcc加入环境变量PATH中:export PATH=$PATH:/home/shiyanlou/gcc-3.4.6-glibc-2.3.6/bin。这种方法只是临时进入PATH,如果关闭实验环境或者关闭终端,命令失效,需要重新export。

*永久添加方法:
可以通过修改 /etc/profile 文件来实现:

# sudo vim /etc/profile          // 打开 profile 文件

// 在文件末尾加入下面代码,保存并退出
export PATH="$PATH:/home/shiyanlou/gcc-3.4.6-glibc-2.3.6/bin"

# source /etc/profile          // 在当前bash环境下读取并执行 profile 中的命令

这样配置的PATH是永久性的,不会随着系统的关闭而丢失。   //*转自魏顺同学*//

二、bootloader的配置、移植和编译

1、获得u-boot源码

获取地址wget http://labfile.oss.aliyuncs.com/courses/811/u-boot-1.3.2.tar.bz2

2、建立板级支持包

(1)创建新的目录

建立一个目录,名字叫做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

(2)修改 .c 源文件

vim eduk2410.c

  在eduk2410.c文件中找到/gpio->GPBCON后,用vi编辑方法i 将gpio->GPBCON = 0x00044555改为gpio->GPBCON = 0x0004455A:

   把smdk2410目录下的所有文件都拷贝到eduk2410目录下,并做相应的更名和修改

(3)修改当前目录的 Makefile 文件

修改相应的Makefile:

vim Makefile

用/COBJ找到:COBJS := smdk2410.o flash.o并把这行的内容改为:COBJS := eduk2410.o flash.o

(4)添加配置文件

把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

3、配置和编译 U-Boot

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

    # make eduk2410_config
    Configuring for edul2410 board...

然后运行make命令编译:

# make

编译完成后,会在U-Boot的源代码目录下生成u-boot.bin文件。这个文件就是我们需要的二进制文件。

[实验楼](https://dn-simplecloud.shiyanlou.com/4253051494770598116-wm)

三、本周学习感悟

学会了交叉开发环境的搭建,知道了用LSB标准来解决软件的兼容问题。还有两种添加PATH的方法,使某个文件可以像shell命令一样在任意一个目录下执行掌握了 U-boot 的配置和编译过程,建立并配置新开发板,更加熟练了对于的vi操作。

posted on 2017-05-16 20:11  邴成德  阅读(141)  评论(0编辑  收藏  举报