Embest S3CEB2410 Linux 开发手册
深圳市英蓓特信息技术有限公司©2005
版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书的部分或全部,并不得
以任何形式传播。
Embest
Copywrite©2005 by Shenzhen Embest Info&Tech Co.,LTD.
All rights reserved.
No part of this document may be reproducted or transmitted in any form or
by any means without prior written consent of Embest Info&Tech Co.,LTD.
Embest
®
为深圳市英蓓特信息技术有限公司的商标,不得仿冒。
®
is registered trademarks of Embest Info&Tech Co., LTD.
1
目录
目录................................................................................................................................... 2
一 建立Linux 开发环境 ...................................................................................................3
1.1 cygwin开发环境.................................................................................................3
1.2 Embest IDE开发环境 .........................................................................................6
二 代码包的安装 .............................................................................................................6
2.1 文件准备 ............................................................................................................6
2.2 编译工具 ............................................................................................................6
2.2.1 交叉编译工具安装 ..................................................................................6
2.2.2 环境变量及编译开关设置 .....................................................................7
2.3 安装源代码文件 ................................................................................................9
2.3.1 vivi源代码安装........................................................................................9
2.3.2 Linux源代码安装 ....................................................................................9
2.3.3 文件系统安装 .........................................................................................9
2.3.4 带 QT的文件系统安装 ..........................................................................10
三 代码的编译 ...............................................................................................................10
3.1 vivi编译 ............................................................................................................10
3.2 kernel的编译.....................................................................................................13
3.3 root文件系统编译 ............................................................................................14
3.4 QTOPIA编译 ....................................................................................................14
四 映象文件烧写 ...........................................................................................................15
4.4 烧写 Nor Flash..................................................................................................18
4.4.1. vivi的烧写.............................................................................................18
4.4.2. 烧写 kernel............................................................................................18
4.4.3. 烧写文件系统 ......................................................................................18
4.5 烧写 Nand Flash ...............................................................................................18
4.5.1. vivi的烧写.............................................................................................18
4.5.2. 烧写 kernel............................................................................................19
4.5.3. 烧写文件系统 ......................................................................................20
附录:.........................................................................................................................................21
文档约定:
别说明外均是指由
2
、
$> 一
1
#>
、所有类似
2
一 表示目标机上命令行运行提示符
表示主机上命令行运行提示符;
$SOURCEDIR、$WORKDIR、$INSTALLDIR
set_env_linux.sh
设置的目录;
等写法,除特
一 建立 Linux 开发环境
1.1 cygwin 开发环境
Cygwin 可以从其网站http://www.cygwin.com 上下载并安装最新版本,也可以直接
使用本书附带光盘提供的Cygwin ,位于Cygwin 1.5.1 目录,版本为 1.5.10-3 ,1.5.10
版本的发布日期为 2004 年 5 月。
1.1.1 运行 Cygwin 安装程序 setup.exe,然后选择“Install from Local Directo
ry“,选择“下一步”,如图 1-1 所示。
图 1-1 Cygwin 安装
1.1.2 选择 Cygwin 的安装目录,注意 Cygwin 的安装目录必须位于硬盘 NTFS 分区
(且尽量不要使用系统 C 分区),否则会影响文件属性和权限操作,可能导致错误
的结果。选择 Unix 文本文件类型进行安装,直接选择“下一步”后,则会把 Uni
x 格式的 cygwin 系统安装到 NTFS 格式的 D 分区中,且安装目录为 D:\cygwin ,
如图 1-2 所示。
3
图 1-2 选择安装目录
图 1-3 安装软件包存放目录
1.1.3 选择 Cygwin 安装包所在的目录,可以是光盘也可以是本地硬盘分区。如 E:/C
ygwin。选择“下一步”继续安装,如图 1-3 所示。
1.1.4 选择软件安装项目。用鼠标单击在安装项目左边“
Default”字样的位置,可
以调整该软件项目的安装设置,可能出现的状态有四种:
Default --- 该项目根据默认状态处理,可能被安装,也可能不安装
Install --- 安装该项目
Reinstall --- 重新安装该项目
4
Uninstall --- 移除该项目
1.1.5 对于 cygwin 的软件项目,如果完全安装可能需要 1GB 以上空间,对于不想安
装的项目可以选择状态为 Default 。通常只选择 Linux 开发必要的选项即可,特别
地需要全部安装以下项目:
Admin
Archive
Base
Devel
Libs
Net
Shells
Utils
—— 包括启动服务 cygrunsrv 等工具,NFS 启动必备
——
——
——
——
——
——
——
压缩解压工具集
基本的 Linux 工具集
开发工具集,包括 gcc、make 等开发工具
函数库
网络工具集
常用 Shell 工具集
包括 bzip2 等实用工具集
图 1-4 Cygwin 软件包的选择
注意:由于
Install
为
工具和例程的空间,至少需要一个容量在
软件包安装完成后,根据提示信息进行余下的操作,此后可以在 PC 机上运行 Cygwi
n 了。
5
cygwin是Windows
环境下虚拟的
Linux
状态,即全部安装。所以要建立一个完整的
2GB
以上的分区。
开发环境,一般在
Linux
开发调试环境,加上存放编译
ALL
处设置
1.2 Embest IDE 开发环境
在 linux 开发中为了烧写和调试的方便,一般需要一些相关软件和开发工具的辅助,在
这里我们将用到 Embest IDE for ARM 软件、Embest online Flash Programmer f
or ARM 、Embest JTAG 仿真器(标准型/ 增加型 / 通常型),以及进行调试时所需要的平
台初始化文件(命令脚本文件)和烧写时平台配置文件(*.cfg )。这些文件在随开发板提
供的光盘里一并提供了,客户可以在开发板光盘上找到,安装和使用请参考开发软件的帮助。
二 代码包的安装
2.1 文件准备
开发环境安装完毕后,请在/tmp 目录建立一个文件夹,名为 S3CEB2410 ,拷贝开发
板光盘中以下目录到相应位置:
光盘\06-Linux Source\vivi --> /tmp/ S3CEB2410/vivi
光盘\06-Linux Source\kernel --> /tmp/ S3CEB2410/kernel
光盘\06-Linux Source\qt --> /tmp/ S3CEB2410/qt
光盘\06-Linux Source\root --> /tmp/ S3CEB2410/root
2.2 编译工具
2.2.1 交叉编译工具安装
在 cygwin 开发环境下,我们要求把交叉编译工具链安装到:$CROSSDIR 目录下。
请按以下操作完成安装:
a 、把开发板光盘中提供的工具代码包 cross-armtools-linux.tar.bz2 拷贝到/tmp/
目录下;
b 、运行 cygwin ,执行以下命令完成 cygwin 环境下的 Linux 交叉编译工具安装:
$> cd /tmp/
$> tar -P -xvjf cross-armtools-linux.tar.bz2
$> ls
… armtools-linux … Å 即为正确, …为/tmp/目录下其他内容
$> source armtools-linux/cross-install.sh
$> ls /usr
… arm-linux … Å 即为正确, …为/usr/目录下其他内容
正确解压后,可以看到/usr 目录下多了一个 arm-linux 目录,这是我们需要的交叉
编译工具安装目录。接下来可以执行 2.2.2 中的 set_env_linux.sh 文件来设置开发环境
了。
6
2.2.2 环境变量及编译开关设置
搭建一个 Linux 开发、编译和应用程序测试的环境,需要设置的开关较多,为了方便
操作,我们提供了一个命令配置文件 set_env_linux.sh ,正确安装 cygwin 后,请直接拷
贝光盘/06-Linux Source/*.sh 到/tmp/s3ceb2410 目录下,只要在运行 cygwin 后首
先执行一次该配置文件即可。运行命令是:
$> source /tmp/s3ceb2410/set_env_linux.sh Å Linux 编译环境变量设置
set_env_linux.sh 代码文件内容如下:
#!/bin/sh
# set_env_linux.sh
# /* cross compiler install directory */
export CROSSDIR="/usr"
# /* store the origin files and examples */
export SOURCEDIR="/tmp/s3ceb2410"
# /* store the vivi,linux,fs,gui and examples(debug) */
export WORKDIR="/usr/local/src/s3ceb2410"
# /* store the execute files and NFS mount directory */
export INSTALLDIR="/home/app"
if [ -d $SOURCEDIR ]; then
echo $SOURCEDIR
else
echo "Creating directory: "$SOURCEDIR
mkdir -p $SOURCEDIR
fi
if [ -d $WORKDIR ]; then
echo $WORKDIR
else
echo "Creating directory: "$WORKDIR
mkdir -p $WORKDIR
fi
if [ -d $INSTALLDIR ]; then
echo $INSTALLDIR
else
echo "Creating directory: "$INSTALLDIR
mkdir -p $INSTALLDIR
fi
export LIBDIR="-L$CROSSDIR/arm-linux/lib/ \
-L$CROSSDIR/lib/gcc-lib/arm-linux/2.95.3"
7
CROSS="arm-linux-"
export CC=$CROSS"gcc"
export AS=$CROSS"as"
export LD=$CROSS"ld"
export CFLAGS="-O2 -fomit-frame-pointer"
export CPPFLAGS="-I$WORKDIR/kernel/include \
-I$CROSSDIR/arm-linux/include \
-I$CROSSDIR/lib/gcc-lib/arm-linux/2.95.3/include"
export LDFLAGS=$LIBDIR
export GCCMISC="$CROSSDIR/lib/gcc-lib/arm-linux/2.95.3/"
export PATH="$CROSSDIR/bin:$CROSSDIR/arm-linux/bin:$GCCMISC:$PATH"
echo $PATH
如果第一次在 S3CEB2410 实验系统上进行 Linux 开发,执行该文件后可以看到输出
结果如下:
$> source /tmp/s3ceb2410/set_env_linux.sh
Creating directory: /tmp/s3ceb2410
Creating directory: /usr/local/src/s3ceb2410
Creating directory: /home/app
/usr/bin: /usr/lib/gcc-lib/arm-Linux/2.95.3/…… Å 不同 PC 后面内容可能不一样
如果执行后的输出变为打印目录名称,不执行“Creating directory: ”,表示 Linux
开发调试相关目录已经存在了:
$> source /tmp/s3ceb2410/set_env_linux.sh
/tmp/s3ceb2410
/usr/local/src/s3ceb2410
/home/app
/usr/bin:/usr/arm-linux/bin:/usr/lib/… Å不同 PC 后面内容可能不一样
Ж 注意:
I.
这是一个环境变量设置文件,通常刚打开
代码编译所需的环境变量;
如果交叉编译工具安装位置或者是源代码包安装位置与我们设置的不一致,只需要
II.
set_env_linux.sh
修改
文件中加粗部分设置即可;
cygwin
时都需要执行一遍,以正确设置
在
III.
IV.
次打开
cygwin
可以在
cygwin
环境下进行任何代码编译之前都需要执行该文件一次;
cygwin/etc/profile
时都自动运行了。
文件的
”export PATH”
行前插入本文件的内容,则每
8