Table of Contents

第一步:安装Ubuntu

  1. 放入CD或插上U盘,按下F12键,进入启动页面,选择相应启动方式。
  2. 进入安装界面,选择install Ubuntu选项,进行下一步。
  3. 进入设置页面,擦除原有系统,进行新的磁盘分区。进行磁盘分区时,注意三个分区必须有:1.swap ;2./(root目录);3./home(用户主目录)。采用英文版系统,默认选择就可以。
  4. 安装完成后,重启电脑

第二步:对电脑进行相应配置

参见网页:blackfin.uclinux.org.选择The Linux kernel/testing,到网页最低部,选择How to set up ubuntu 12.04 on regression PC,进入相应到配置文档。
配置过程中需要拷贝到文件,可以到其他机器上拷贝:ssh 10.99.29.* 拷贝之前先通过ifconfig查询一下自己电脑到IP,电脑之间到拷贝命令为scp,如果拷贝的是目录,采用 scp -r 命令进行拷贝。 配置完成后,对系统进行重启。 (注:配置过程一定要按照文档一步一步来,否则会出现一些问题)

第三步:建立workspace以及相应Code的下载

建立workspace,输入命令:mkdir workspace 所需要到的code都可以通过blackfin.uclinux.org这个主页进入sourceforge.net网页进行下载。
通过git clone 命令。
当使用git clone下来到工程中带有submodule时,初始的时候,submodule的内容并不会自动下载,需要 在buildroot目录下执行下面命令:

git submodule init
git submodule update

在完成相应的下载之后,需要查看branch,通过git branch来查看。

第四步:编译u-boot和uImage

在编译u-boot和uImage之前需要确定机器上面是否有toolchain,

$ cd /opt/
$ ls

如果没有,需要去10.99.29.*上面进行拷贝。

$ ssh 10.99.29.*
$ scp toolchain.tar.gz test@10.99.24.*:/opt

如果给出没有权限,需要在命令前面添加sudo
如果还是不能拷贝,进行如下操作

$ sudo scp toolchain.tar.gz test@10.99.24.*:/home/test
$ exit
$ sudo cp toolchain.tar.gz /opt/uClinux
$ cd /opt/uClinux
$ tar -xf toolchain.tar.gz

(1)u-boot编译示例:

$ cd u-boot
$ make bf609-ezkit_config (要和所用板子对应,可以通过命令$ ls configs/bf 来找对应的配置文件)
$ pex (需要在本机主目录下.bash_aliases文件中设置:alias pex='export PATH=/opt/uClinux/bfin-uclinux/bin:/opt/uClinux/bfin-elf/bin:/opt/uClinux/bfin-linux-uclibc/bin:$PATH')
$ make
$ cp u-boot.ldr /tftpboot

(2)uImage编译示例 编译uImage时,如果是对同一个板子,测试不同的项目,在重新编译uImage时,需要执行一下make clean命令,清除之前到配置。 如果测试不同的板子时,需要对板子重新配置make *_defconfig,当然为了防止之前的测试影响到后面到测 试,可以使用make distclean,进行彻底清除。

$ cd buildroot
$ make bf609-ezkit_defconfig(要和所用板子对应,可以通过命令$ ls configs/bf 来找对应的配置文件)
$ make clean
$ pex (确认安装的toolchain能被找到)
$make menuconfig
$make linux-menuconfig
$ make
$ cp output/images/uImage /tftpboot

注意:检测branch是否一致,并且符合板子要求。 在buildroot目录下面,运行

$ git branch
$ cd linux/linux-kernel/
$ git branch

如果branch 不一致,需要将其切换到一致,下面命令是以blackfin为例。 $ git checkout master 编译uImage时,由于所测试到项目不同,就需要根据不同测试脚本进行相应到配置,配置过程在通常使用 到两个命令分别是:make menuconfig,make linux-menuconfig。这两个命令都是运行在make *_defconfig之后。

第五步:烧写u-boot

1.通过JTAG烧写

(1)先到10.99.24.51上拷贝jtag-gnice目录。里面有相应板子到flash文件。 (2)进入jtag-gnice目录下面,查看需要烧u-boot板子型号对应到flash文件,如:vi flash-bf537- stamp.jtag 。查看其要求到u-boot类型:是u-boot.ldr还是u-boot.bin (3)拷贝相应到u-boot 类型到 /tftpboot下面 (4)切换到/opt/uClinux/bfin-elf/bin目录下,运行下面命令:

sudo ./bfin-jtag ~/jtag-gnice/flash-*

(5)烧写完成后,打开minicom,设置相应IP(前提是可以boot起来),命令如下:

set ipaddr 10.100.4.50
set serverip 10.100.4.174
saveenv

2.通过UART烧写

(1)拷贝相应u-boot.ldr.uart文件到/tftpboot目录下面 (2)查看相应板子到文档,根据文档把板子对应到硬件开关调到uart位置上 (3)运行下面命令:

bfin-uclinux-ldr -l /tftpboot/u-boot.ldr.uart /dev/ttyS0 && kermit -l /dev/ttyS0 -b 57600 -C connect

(前提是串口正常,设置正确。如果采用到是USB转串口,那么/dev/ttyS0 应改为/dev/ttyUSB0。) (4)烧写完成后,打开minicom,将硬件开关调回到原来位置,设置IP:

set ipaddr 10.100.4.50
set serverip 10.100.4.174
运行命令run update

3.通过GDB烧写

通过GDB烧写u-boot需要先编译u-boot (1)通过git clone 命令拷贝u-boot的code。可以进入blackfin.uclinux.org网页进行相应下载。第三步已 经交代过了下载方法。 (2)进入下载到u-boot目录下面,编译u-boot (3)找到相应板子型号的配置文件:ls include/configs/bf (4)编译u-boot。

make bf609-ezkit_config
make clean
make

(5)进入GDB:运行gdb前,需要运行./bfin-gdbproxy bfin,在/opt/uClinux/bfin-uclinux/bin/下面

cd /opt/uClinux/bfin-uclinux/bin/
sudo ./bfin-gdbproxy bfin

(6)转换到u-boot目录下,进入gdb

bfin-uclinux-gdb u-boot
<gdb> targer remote :2000
<gdb>load arc/blackfin/cpu/init.elf
<gdb> c
<gdb>load
<gdb>c

打开minicom,看板子是否boot起来,如果起来,然后运行run update

6.脚本测试

打开minicom ,在板子正常起来后,输入命令:tftpboot uImage,把将要测试的项目对于uImage下载到 板子上,然后输入命令boot,将板子boot起来。 板子boot起来之后,查看相应测试项目的测试脚本,或者测试log,进行相应的测试工作。或者查看网页 blackfin.uclinux.org