【1】基于TQ2440的MP3设计——【3、建立Linux 嵌入式交叉开发环境】

时间:2022-06-16 19:52:23

三、开发环境搭建


1、建立 Linux 嵌入式交叉开发环境

a、在 VMWare 中安装Ubuntu 9.10 ,PC 机和目标板通过串口、RS232、USB连接。

b、编译ARM Linux 内核和应用程序使用 arm-linux 编译器。 Linux 系统使用的编译器叫GCC,Linux 发行版只带有 X-86 GCC,因此需要编译arm-linux-gcc。

通过 crosstool 编译 arm-linux-gcc 。crosstool 含有两种arm-linux-gcc,一种不带软件浮点运算模拟,一种带软件浮点运算模拟。后者的实用性比前者强。

编译 softflaot 的 arm-linux-gcc 的过程如下:
(1) 解压缩 cross-tool 源代码包(以下是命令,后同)。 

tar zxvf crosstool-0.43.tar.gz .

cd crosstool-0.4.3

(2) 编辑脚本 demo-arm-softfloat.sh(#号及其后面的文字为注释) 

vim demo-arm-softfloat.sh

编辑结果如下:

set -ex

TARBALLS_DIR=$HOME/downloads     # 编译器源代码压缩包的目录

RESULT_TOP=/opt/crosstool                  # 生成交叉编译器的目录

export TARBALLS_DIR RESULT_TOP

GCC_LANGUAGES="c,c++"

export GCC_LANGUAGES

mkdir -p $RESULT_TOP

eval `cat arm-softfloat.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest

echo Done.

(3) 查看 gcc-3.4.5-glibc-2.3.6.dat,下载其中的压缩包。 

BINUTILS_DIR=binutils-2.15

GCC_DIR=gcc-3.4.5

GLIBC_DIR=glibc-2.3.6

LINUX_DIR=linux-2.6.8

LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6

cross tool 编译编译器时自动检查 TARBALLS_DIR 目录是否有上述文件,并自动下载缺少的文件。如果预先用多线程下载软件下载这些压缩包并放在TARBALLS_DIR 目录中可以减少下载时间。

(4 )执行 demo-arm-softfloat.sh 脚本编译 arm-linux-gcc 

./demo-arm-softfloat.sh

生成的 arm-linux-gcc 位于/opt/crosstool/arm-softfloat-linux-gnu/bin/。

(5) 把/opt/crosstool/arm-softfloat-linux-gnu/bin/加入到 PATH 环境变量中 

vim /etc/bashrc

加入行

export PATH=${PATH}:/opt/crosstool/arm-softfloat-linux-gnu/bin/

(6)在任意目录中输入如下命令: 

arm-softfloat-linux-gnu-gcc –v

如果能看到屏幕上打印的 gcc 版本信息就表示交叉编译器编译安装成功。

c、安装需要的开发工具:SecureCRT(便于在Windows下进行shell的相关操作)、Cuteftp(用于Linux 与Windows之间的文件传递)sourcesight(用于源码阅读编辑)、UltraEdit(代码阅读)、TQBoardDNW(用于内核文件、根文件系统、应用程序的烧写)、U-Boot 通过Jtag 烧写。

d、通过 JTAG 将在主机上编译的 Bootloader  烧入开发板;通过 Bootloader 将主机上编译的 Linux 内核烧入开发板; 开发板启动内核通过 NFS 运行在主机上编译的各种应用程序,经过验证后烧入开发板。