全部博文(65)
分类: 嵌入式
2010-06-18 18:50:25
1 硬件环境
1.1主机硬件环境
开发机:Pentium-4 CPU
内存: 512MB
硬盘: 60GB
1.2 目标板硬件环境
CPU: S3C2410
SDRAM: HY57V561620
Nand flash: K9F1208U0B (64MB)
以太网芯片:CS8900A (10M/100MB)
1.3 工具介绍
仿真器:Dragon-ICE
电缆:串口线,并口线
2 软件环境
2.1主机软件环境
2.1.1 Windows操作系统
ADS编译工具:ADS1.2
仿真器软件: Dragon-ICE daemon程序
2.1.2 Linux 操作系统
GNU交叉编译工具:
2.95.3:
作用:编译u-boot
3.3.2, 3.4.4:
作用:编译内核和应用程序
其它工作:
tree工具:
作用:查看文件目录树
下载:从ftp://mama.indstate.edu/linux/tree/下载编译
2.1.3 目标板最后运行的环境
启动程序:
u-boot-1.1.4
内核:
linux-2.6.14.1
应用程序:
1. busybox-1.1.3
2. TinyLogin-1.4
3. Thttpd-2.25
2.2 Linux 下工作用户及环境
2.2.1 交叉工具的安装
工具链的编译过程请参考第三部分.
1. 下载交叉工具
2.95.3 下载地址:ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-
2.95.3.tar.bz2
3.3.4 下载地址:
2. 编译交叉工具
[root@localhost ~]mkdir /usr/local/arm
[root@localhost ~]cd /usr/local/arm
把cross-2.95.2.tar.bz2, cross-3.4.4.tar.gz 拷贝到/usr/local/arm 目录中。解压这两个包。
[root@localhost ~]tar -xjvf cross-2.95.2.tar.bz2
[root@localhost ~]tar -xzvf cross-3.4.4.tar.gz
2.2.2 u-boot移植工作目录
1. 添加工作用户
[root@localhost ~]#useradd -G root -g root -d/home/uboot uboot
2. 建立工作目录
[uboot@localhost ~]$mkdir dev_home
[uboot@localhost ~]$cd dev_home
[uboot@localhost dev_home]$mkdir doc mybootloader uboot.
|-- doc
|-- mybootloader
`-- uboot
3. 建立环境变量
[uboot@localhost ~]vi ~/.bashrc
export PATH=/usr/local/arm/2.95.3/bin:$PATH
2.2.3 内核及应用程序移植工作
1. 添加工作用户
[root@localhost ~]#useradd -G root -g root -d/home/arm arm
2. 建立工作目录
[arm@localhost arm]$mkdir dev_home
[arm@localhost arm]$cd dev_home
[arm@localhost arm]$mkdir bootldr btools debug doc images kernel localapps \
rootfs sysapps tmp tools
[arm@localhost arm]$tree -L 1
|-- bootldr
|-- btools
|-- debug
|-- do
|-- images
|-- kernel
|-- localapps
|-- rootfs
|-- sysapps
|-- tmp
`-- tools
可以看到如上树形结构。
注:tree命令
3. 建立环境变量设置脚本
[arm@localhost arm]$vi env_sh
#!/bin/bash
PRJROOT=~/dev_home
KERNEL=$PRJROOT/kernel
ROOTFS=$PRJROOT/rootfs
LAPP=$PRJROOT/localapps
DOC=$PRJROOT/doc
TMP=$PRJROOT/tmp
export PRJROOT KERNEL LAPP ROOTFS
export PATH=/usr/local/arm/3.4.4/bin:$PATH
4. 登陆时启动环境变量
[arm@localhost arm]$vi ~/.bashrc
. ~/dev_home/env_sh
重新登陆arm用户,环境变量生效
[arm@localhost arm]$su arm
2.3 配置系统服务
2.3.1 tftp 服务器的配置
如果用下面一条命令能够看到服务已经启动, 则不用安装, 否则需要按1或2点安装tftp-server服务器.
[arm@localhost arm]#netstat -a | grep tftp
udp 0 0 *:tftp *:*
1. 从RPM包安装tftp-server
从对应Linux操作系统版本的安装光盘上找到tftp-server的安装包.
下面tftp-server-0.32-4.i386.rpm包为例,把rpm包拷贝到dev_home/btools/下.
[arm@localhost arm]#cp tftp-server-0.32-4.i386.rpm /home/arm/dev_home/btools/
[arm@localhost arm]#su root
[root@localhost arm]#rpm -q tftp-server
如果没有安装tftp-server,就要用下面命令安装,否则,直接进入第2步配置服务.
[root@localhost arm]#cd /home/arm/dev_home/btools/
[root@localhost btools]#rpm -ivh tftp-server-0.32-4.i386.rpm
建立tftp的主工作目录
[root@localhost btools]#mkdir /tftpboot
2. 修改配置文件并启动服务
备份配置文件
[root@localhost btools]#if [ -f /etc/xinetd.d/tftp ]
> then
> cp /etc/xinetd.d/tftp /etc/xinetd.d/tftp.old
> fi
修改配置文件
[root@localhost btools]#vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
检查tftp服务是否打开
[root@localhost btools]#chkconfig --list
如果tftp的服务没有打开,则用下面命令打开tftp服务开关
[root@localhost btools]#chkconfig tftp on
重启服务
#/etc/init.d/xinetd restart
#netstat -a | grep tftp
udp 0 0 *:tftp *:*
2.3.2 NFS 服务器的配置
1. 安装NFS服务器
[root@localhost btools]#rpm -q nfs-utils
如果没有安装,从对应Linux操作系统版本的安装光盘上找到nfs-utils的安装包.Fedora 5中的安装包
名称为nfs-utils-1.0.8.rc2-4.FC5.2.i386.rpm。下面以该安装包为例说明:
[root@localhost btools]#rpm -ivh nfs-utils-1.0.8.rc2-4.FC5.2.i386.rp
2. 配置NFS服务器
[root@localhost btools]#vi /etc/exports
#加入要允许被另外计算机mount的目录:
#/home/arm/dev_home/tmp 为被另外计算机mount的目录
#192.168.1.134 允许另外计算机mount的IP
#rw,sync,no_root_squash表示访问限制,更详细说明见相关手册.
/home/arm/dev_home/tmp 192.168.1.134(rw,sync,no_root_squash)
3. 启动NFS服务器
第一启动NFS服务器时用下面命令.
[root@localhost btools]#/etc/init.d/nfs start
如果你已经启动了NFS服务器时,并且重新修改了/etc/exports文件,用如下命令使新加入的目录生效:
[root@localhost btools]#/etc/init.d/nfs reload
4. 测试NFS服务器
[root@localhost btools]#netstat -a | grep nfs
5. 显示被export出的目录列表
[root@localhost btools]#exportfs
2.4 工具使用
2.4.1 minicom 的使用
1.切换到root用户.
[root@localhost btools]#su -
2. 查找有效的串设备.
[root@localhost ~]#cat /proc/devices
...
4 ttyS
...
188 ttyUSB
...
如果是普通串口设备, 设备名前缀为ttyS, 第一串口为ttyS0, 第二串口为ttyS1,依次类推.
如果是USB转串口的设备, 设备名前缀为ttyUSB, 第一串口为ttyUSB0.
3. 配置ttyUSB设备
[root@localhost ~]#minicom -s ttyUSB0
会出现一个configuration窗口,
┌──[configuration]────┐
│ Filenames and paths │
│ File transfer protocols │
│ Serial port setup │
│ Modem and dialing │
│ Screen and keyboard │
│ Save setup as ttyUSB0 │
│ Save setup as.. │
│ Exit │
│ Exit from Minicom │
└───────────────┘
选择Serial port setup配置. 会出现如下窗口:
┌────────────────────────────────────────────┐
│ A - Serial Device : /dev/ttyUSB0 │
│ B - Lockfile Location : /var/lock │
│ C - Callin Program : │
│ D - Callout Program : │
│ E - Bps/Par/Bits : 115200 8N1 │
│ F - Hardware Flow Control : No │
│ G - Software Flow Control : No │
│ |
│ Change which setting? │
└───────────────────────────────────────────┘
我的设置如上所示, 设置完成后, Change which setting?项上按回车退出当前窗口, 回到第一个窗口.按 Save
setup as ttyUSB0保存设置. 再按Exit from Minicom退出Minicom.
4. 启动minicom
[root@localhost ~]#minicom