S3C44B0 User Guide

35
www.itsn.cn 中国信息技术资源网 S3C44B0 学习板使用指南 V0.5 网站地址:http://www.itsn.cn

Transcript of S3C44B0 User Guide

Page 1: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

S3C44B0 学习板使用指南

V0.5

网站地址:http://www.itsn.cn

Page 2: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

论坛地址:http://www.itsn.cn/bbs 修改记录:

版本号 修改人 修改时间 备注 主要内容更改(写要点即可) V0.1 ITSN 12/17/2005 创建 V0.2 ITSN 03/15/2006 修改 将图片的注释加上,补充恢复文件说

明。 V0.3 ITSN 03/26/2006 修改 修改 tftp 下载部分说明 V0.4 ITSN 03/29/2006 修改 增加了 FAQ 部分 V0.5 ITSN 04/18/2006 修改 Flash 增加对 AM29LV160DB 的说明

简介 Samsung(三星)公司推出的 16/32 位 RISC 处理器 S3C44B0X 为手持设备和一般类型的提供了一种高性

能低成本的解决方案。为了降低整个系统的成本,S3C44B0X 内部集成了丰富的片内外设,包括:8K 的 cache,

可选的片内 SRAM,LCD 控制器,带有握手信号的双同道 UART,4 同道 DMA,系统管理器(片选逻辑,

FP/EDO/SDRAM 控制器),带有 PWM 功能的 5 通道定时器,I/O 端口,RTC 实时时钟,8 通道 10 位 ADC,IIC、

IIS 总线接口,同步 SIO 接口以及用于时钟管理的 PLL 锁相环。

S3C44B0X 采用了 ARM7TDMI 内核,0.25um 标准宏单元和存储编译器。TDMI 的每一个字母代表一种功

能:

T(Thumb),支持 16 为压缩指令集 Thumb

D(Debug),支持片上 Debug

M(Multiplier),内嵌硬件乘法器

I(ICE): 嵌入式 ICE,支持片上断点和调试点

S3C44B0X 极低的功耗以及简单,只能的全静态设计使其非常适合对成本和功耗敏感的项目。同时

S3C44B0X 还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总线结构)

S3C44B0X 通过集成全面、通用的片内外设,大大减少了系统电路中除处理器外的器件需求,从而最小

化系统成本。下列是其集成的边内外设:

外部存储器控制器(FP/EDO/SDRAM 控制器,片选逻辑)

LCD 控制器(最大支持 256 色 STN,LCD 具有一个专用的 DMA 通道)

2 个通用 DMA 通道,2 个外设 DMA 通道并有片外请求管脚

2 个 UART,带有握手协议(支持 irDA1.0,具有 16 字节 FIFO)1 通道 SIO

IIC 多主总线接口

IIS 总线控制器

5 个 PWM 定制器和 1 通道内部定时器

看门狗定时器

71 个通用 I/O 口,作多支持 8 各片外中断源

功耗管理:普通,慢速,空闲和停止模式

8 通道 10 位 ADC

具有日立功能的 RTC

带 PLL 的片内时钟发生器

Page 3: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网 使用 S3C44B0X 来构建系统,能够降低真个系统的成本,我们列举以下一些可以采用 S3C44B0X 构建系

统应用:

GPS 电话

PDA(个人数字助理)

掌上游戏机

指纹识别系统

终端汽车导航系统

mp3 等手持应用

Page 4: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

一、 S3C44B0 学习板简介

S3C44B0 开发板是依据三星公司评估板的基础上开发而来, 其主要硬件包括:

Samsung S3C44B0X 66MHz (ARM7 内核)

8M Flash

2M SDRAM

10M Base-T 以太网接口

IDE 接口

USB1.1 设备接口

IIC 总线接口

RTC 实时时钟

LCD 接口,支持 640×480 以下单色或 320×240 以下 STN/DSTN 256 色

2 个 RS232 UART 串行口,支持 Modem 握手信号

标准 14 针 JTAG 接口

1×4 键盘,1×3 LED 灯

可扩展总线接口

同时,我们提供完善的开发包和各种硬件测试程序(含源码),以帮助客户快速掌握 S3C44B0 的各种片

内外设以及扩展接口的使用方法:

ADS1.2 IDE, ARM 程序开发集成环境

GNU 工具包(包括交叉编译器、链接、汇编工具)

uClinux 源码包

U-Boot1.1.1(BOIS)启动控制程序(含源码)

应用程序代码

相关技术文档,手册

键盘控制 LED 试验

实时时钟演示

IIC 测试程序

PWM 测试程序

uCOS-II 实时操作系统加载试验

下图是 S3C44B0 的开发板图,我们在这里可以看到使用的板子的各种外围芯片,外设以及各种接口。

板上使用的 IC 如下:

CPU S3C44B0X(三星)

Flash(2M 字节) SST39VF160(SST)/ AM29LV160(AMD) SDRAM(8M 字节) HY57V641620(现代)

以太网控制器 RTL8019AS(Realtek)

USB 设备控制器 PDIUSBD12(Philips)

音频解码 CS4334(Crystal)

Page 5: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

音频功放 TDA7050(Philips)

E2PROM(I2C 接口) AT24C02(Atmel)

图 1

Page 6: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

本系统附带一张开发学习光盘,其目录结构如下:

操作系统源码:

我们提供了 4 个部分,包括U-Boot(bootloader),uCOS-II,uCLinux,RockOS。其中值得一提的RockOS

实时嵌入式操作系统,他是ITSN的合作伙伴RockOS system开发的,本光盘已经包含其教学板的源码。对

OS感兴趣的朋友可以仔细研究,如有任何的问题请来www.itsn.cn/bbs上交流讨论,我们在嵌入式板块设

有RockOS专区。

测试程序:

在这里我们提供了让大家迅速掌握操作 S3C44B0 的各种内外设的测试程序

工具:

在这里我们提供大家开发嵌入式的常用工具,包括 Flash 烧写,TFTP 服务器端程序,编程开发环境等。

更多的工具我们会在网站上公布出来。

Page 7: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网 视频教程:

为了方便大家更容易的掌握开发工具的使用方法,我们提供了几个直观的视频教程供大家参考。

文档:

在这里我们提供了一些开发中使用到的一些文档。例如 ADS1.2 集成开发环境的使用,Cygwin 的安装

指南。

系统恢复文件:

包含 U-Boot,uClinux 两个已经编译好的文件,大家在需要的时候可以通过这两个文件恢复我们的系

统。其中 u-boot是uboot的编译文件,可以使用flashpgm工具下载到Flash中。另外一个是编译好uClinux

image。可以通过串口或者网口协同 u-boot 下载到 SDRAM 中运行,或者然后烧写到 Flash 中。

二、系统上电

JTAG小板

44B0 学习板PC

并口

RS232 串口

JTAG连线

图 2-1

首先将系统按照图 2 连接好系统(注意:开发板子支持两个串口,在这里我们使用串口 0),打开 PC 机

的超级终端软件(注:Windows 自带了超级终端软件,当然可以使用其他超级终端软件,比如光盘中的

SecureCRT 就是非常好用的一种),我们这里以 Windows 自带的超级终端为例,点击

[开始]->[程序]->[附件]->[通讯]->[超级终端]

首次运行这个超级终端的时候将弹出以下设置界面:

Page 8: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 2-2

在区号对话框中输入区号:比如 0755, 点击 确定 ,再随后的对话框中再次点击 确定 继续将弹出

图 4 的设置窗口,在这里我们将给我们新建的链接取一个名字,比如 S3C44B0,然后点击 确定 继续。

图 2-3

接下来的设置串口我们将详细配置超级终端的各种参数,如图 2-4。在这里我们设置的参数是,波特

率 115.2K,8 位数据,1位停止位,无奇偶校验,无数据流量控制。

Page 9: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 2-4

本系统配备的电源是 7.5V,1A 的开关型直流电源,系统上电后,电源指示灯应该点亮,开发板的 Flash

中已经烧录了 U-Boot 的 Bootloader 启动加载程序, 超级终端显示如图 2-5 所示:

图 2-5

三、 测试程序

Page 10: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

我们编写了一些实用的测试程序,使大家能够快速的掌握板子上各种外设的操作,以及 S3C44B0X

CPU 的一些特性和编程方法。在运行测试程序前,先将他们从光盘中拷贝到硬盘中,并去掉所有文件

的只读属性。由于所有的测试程序都是在 ADS1.2 调试的,所以大家在使用这些测试程序之前需要安

装 ADS1.2。所有测试程序的目录结构都是一样的。

1. 跑马灯测试程序

试验目的:测试 S3C44B0 的 GPIO 口功能。

源码路径:光盘:\测试程序\跑马灯\led\

工程项目:led.mcp

2. 键盘控制 LED 测试程序

试验目的:测试外部中断管脚 EXTINT4,5,6,7 的功能

源码路径:光盘:\测试程序\按键控制 LED\keyled\

工程项目:keyled.mcp

3.RTC 实时时钟测试程序

试验目的:测试 S3C44B0 片内集成的 RTC 功能

源码路径:光盘:\测试程序\RTC 实时时钟\rtc\

工程项目:rtc.mcp

5.USB 测试程序

试验目的:测试 S3C44B0 与 Philips 的芯片结合使用完成 USB 从设备功能

源码路径:光盘:\测试程序\USB 测试\usb\

工程项目:usb.mcp

6. 音频测试程序

试验目的:测试 S3C44B0 的 IIS 总线功能

源码路径:光盘:\测试程序\音频测试\audio\

工程项目:audio.mcp

7. 其他功能测试程序

试验目的:测试 S3C44B0 的 IIS 总线功能

源码路径:光盘:\测试程序\音频测试\audio\

关于如何使用测试工程项目,请参看《S3C44B0 试验说明.pdf》。(路径 光盘:\测试程序\ S3C44B0

试验说明.pdf)

四、 建立 Windows 系统上虚拟 Linux 环境 Cygwin 以及 ARM 交叉编译环境

1. 建立 Cygiwn 虚拟 Linux 环境

请参看 光盘:\文档\Windows 下快速安装 Cygwin.pdf 文档。

2. 建立编译环境

在 Windows 下安装好 Cygwin 后,我们需要建立编译 arm 程序的环境,也即安装 arm-tools 工具。

Page 11: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

将光盘目录 光盘:\工具\编程工具\armtools\windows 版本 复制到本地硬盘(在这里我们在 D:盘建

立一个 armtools 的目录,然后将光盘:\工具\编程工具\armtools\windows 版本复制到这里),然后在

dos 环境下进入此目录,执行 unpack.bat 批处理命令,解压缩过程开始,不用关心在解压缩的最后

出现错误提示。请参看以下截图:

图 4-1

图 4-2

Page 12: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 4-3

最后添加将 armtools 的命令路径添加到 Windows 的环境变量 Path 中。注意在上一步解压的过程

中,armtools被解压到Cygwin的安装目录下,在这里Cygwin是安装在 C:\ 根目录下的。这样armtools

交叉编译环境就安装好了。

五、 Bootloader 装载程序(U-BOOT)

U-BOOT 是一个开源 bootloader,是由德国的工程师 Wolfgang Denk 从 8XXROM 代码发展而来的,

它支持很多处理器,比如 PowerPC、ARM、MIPS 和 x86。目前,U-BOOT 源代码在 sourceforge 网站的

社区服务器中,Internet 上有一群自由开发人员对其进行维护和开发,它的项目主页是

http://sourceforge.net/projects/U-BOOT。U-BOOT 的最新版本源代码可以在 Sourceforge 的 CVS 服

务器中匿名获得。由于其成熟和稳定,已经在许多嵌入式系统开发过程中被采用。

为什么我们需 U-BOOT?显然可以将 ucLinux 直接烧入 flash,从而不需要额外的引导装载程序

(bootloader)。但是从软件升级的角度以及程序修补的来说,软件的自动更新非常重要。

我们在 S3C44B0 已经移植好了 U-BOOT,开发包路径:

1.编译 U-BOOT:

在 linux(或其他 linux 虚拟环境下,如 cygwin)解压源码包,在这里我们选择在 Windows 系

统下的 Cygwin 环境下来编译。先将光盘中的 u-boot 包拷贝到系统的一个目录下,在这里我

们拷贝到 D:盘的 s3c44b0 目录下

tar zxvf u-boot-xxxxxxxx.tar.gz

Page 13: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-1

图 5-2

解压后进入 u-boot 目录,输入 make distclean 清除上一次编译的输出文件

Page 14: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-3

输入 make ITSN_s3c44b0_config,以产生一些编译配置文件(.mk 文件)和相应的一些头文

件(.h 文件)

图 5-4

编译,执行 make。

Page 15: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-5

这一步骤生成了三个文件,其中:

u-boot,ELF 文件格式,使用 Flashpgm 工具来打开此文件编程到 Flash 当中

u-boot.bin 是二进制文件,使用 Fluted 工具来将此文件编程到 Flash 当中

2.U-BOOT 下载

在这里我们介绍两种方法来将编译好的 U-Boot 编程 Flash,一种是使用 Flashpgm 工具,另外一

种是 Fluted 工具。

FlashPgm

FlashPgm 是什么公司的,是一个 GUI 界面的 Flash 编成工具。由于其友好的编程界面,

更快的编程速度和更高的编程成功率使其被大家普遍使用。

在使用 FlashPgm 编程 Flash 的时候注意使用 JTAG 板的 Wiggler 接口连接到目标板上,

FlashPgm 不支持 STD 的 JTAG 接口。打开 Configuration 菜单下的 Communications 可以设置

设置 FlashPgm 的连接方式,在这里我们使用, 同时确保 JTAG 板的 J5 条线到 Wiggler 接口

状态。

Page 16: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-6

点击菜单 File-Open 选择 .ocd 文件。Ooc 文件是一个硬件系统的配置文件,设置了

CPU,Flash 类型,Flash 接口的位宽等具体的参数,可通过 FlashPgm 生成。光盘上已经带有

两个已经配置好的.ocd 文件,在光盘:\工具\Flash 编程工具\ 目录,其中包含两个.ocd 文

件。

44B0X_SST.ocd —— 配有 SST39VF160 Flash 的学习板使用

44B0X_AMD.ocd —— 配有 AM29LV160 Flash 的学习板使用

图 5-7

点击 Flash ID 按钮检测一下 Flash ID 能够读取到,以测试 JTAG 连接是否正常。如果

能够正常读取出来,表示 JTAG 连接没有问题,如图 5-8 所示。

Page 17: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-8

点击 Program 按钮,在出现的对话框中选择编译好的 u-boot 文件(ELF 格式的),然后选

择在编程前先擦除选型,点击 Program。首先将会擦除相应的 Flash 区域,然后编程和校

验。进度条将显示当前编程进度。参看图 16

图 5-9 正在擦除 Flash

Page 18: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-10,编程,校验成功

这时候超级中断将显示 U-BOOT 打印输出,通过 FlashPgm 成功的将 U-BOOT 烧写到

Flash 当中。

Fluted.exe

Fluted.exe 是一个基于命令行方式的 Flash 编程工具,其只支持 STD 方式的 JTAG 链接。

以下是其运行的参数:

命令:(大小写无关)

R —— 读 Flash

W —— 写 Flash

E —— 擦除 Flash

V —— 校验 Flash

T —— 测试扫描线

A —— 擦除 + 写 Flash

选项: (大小写无关)

-V 校验(默认是关闭的,也就是说默认不校验)

-D Debug 模式 (默认关闭)

-C 指定配置文件 (默认是 default.fcd)

-F 指定数据文件

-S 指定 Flash 起始地址(十进制方式)

-L 指定写入的数据长度 (256 或者文件的大小,十进制方式)

一般我们使用 Fluted.exe 的方法如下,

allowio.exe Fluted /a A –F u-boot.bin -V -S 0

此命令将 u-boot.bin 文件(二进制)写入到 Flash,从地址 0 开始,使用默认的 default.fcd

文件,通常编写将上述命令放在一个.bat 批处理文件来方便执行。

Page 19: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

Fluted.exe 工具编程的速度相对 FlashPgm 要慢得多,参看下图实际的编程过程。

图 5-11 Fluted.exe 工具编程过程

3. U-BOOT 的使用

系统上电后,U-BOOT 开始执行,在串口超级终端软件上将有答应输出,在 3秒钟内按任意键,

将进入 U-BOOT 命令提示符,如下图。其中输出信息提示 SDRAM 是 8M 字节,Flash 是 2M 字节。

Page 20: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 5-12

执行 help 指令,将显示 U-BOOT 支持命令,常用 U-BOOT 指令有:

命令 功能

go 执行指定地址上的程序

bootm 引导应用程序或者操作系统(压缩格式)

tftp 通过太网调入指定的文件到指定的内存地址

loadb 通过串口以 kermit 方式下载文件

md Memory display,显示指定地址的值

mm Modify Memory,修改内存指定地址的值

mw Memory Write,写内存

cp 数据复制,如果目的地址空间在 Flash 中,就可以通过 cp 来写 Flash

printenv 显示环境变量,如 IP 地址等

setenv 设置环境变量

Saveenv 保存环境变量

erase 擦除指定地址的 Flash

flinfo 显示 Flash 的信息

reset 复位 CPU

version 显示版本信息

?/ help 显示帮助信息

六、 uClinux 编译与下载

1.建立编译环境

与在 Windows 的 Cygwin 环境下编译 U-BOOT 类似,我们在 linux 下编译运行在 ARM 上的程序

同样需要使用交叉编译工具 armtools。将光盘:\工具\编程工具\armtools\linux 版本\ arm-elf-tools-20040427.sh 拷贝到硬盘后执行这个程序将会自动安装此 armtools 交叉编译器。

2. 编译 uClinux

Page 21: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

将 uClinux 的压缩包拷贝到 linux 主机上,然后通过下列命令解压缩源码包,这样会在当前

的目录下面生成 uClinux-dist 目录。(在这里,我们通过通过 SecureCRT 超级终端工具用 ssh 登

陆到 Linux 主机的, 因为在 Cygwin 的虚拟 Linux 环境下不能使用 make menuconfig。)

tar zxvf uClinux-dist-xxxxxxxx.tar.gz

图 6-1

Page 22: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

进入 uClinux-Distru 目录执行 make menuconfig,将弹出以下的配置 uClinux 界面,如下。

图 6-2

选择 Vendor/Product Selection ---> 进入下级菜单,我们的配置如下:

Page 23: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-3

选择 Exit 返回上级界面,然后选择 Kernel/Library/Defaults Selection --->,界面如图:

在这里我们我们选择了使用的 linux 内核版本 linux-2.4.x,Libc 版本选择 uClibc,然后选中

Customize Kernel Settings(内核配置) 和 Customize Vendor/User Settings (NEW)(厂商/用户

程序设置)进行更进一步的配置。

Page 24: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-4

退出后选择 Yes 保存配置信息,如下图。

图 6-5

我们在上面配置的时候选择了 Customize Kernel Settings 和 Customize Vendor/User

Settings (NEW)选项。所以程序会自动进入 Kernel Settings 和 Vendor/User Settings 界

面。

注:make menuconfig 将打开上一次的配置选项,如果希望重新构建一个全新的内核,

可以在 make menuconfig 之前先运行 make mrproper。

Page 25: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-6 Kernel Settings ,内核配置界面

Page 26: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-7 Vendor/User Settings 界面

这样完成了上面两个配置后,整个 uClinux 的配置就结束了。接下来编译 uClinux。依次执

行如下指令:

make dep

make clean

make lib_only

make user_only

make romfs

make image

make

完成所有的操作后,在 uClinux-dist\images\目录下将生成 uclinux_rom.bin(二进制压缩

文件)。接下来我们可以通过 U-BOOT 配合串口或者网口来将此文件下载到 Flash 当中。

2. 将 uClinux 下载到 Flash

我们这里通过 U-BOOT 提供的几种方式来将编译好的 uClinux 下载到 Flash 当中运行。

串口下载(下载速度慢):

在 U-BOOT 命令提示符下输入 loadb 0xC500000 命令(0xC500000 是下载文件存放的地址,

SDRAM 中),U-BOOT 将等待用户传送文件。然后我们启动超级终端的文件发送,点击菜单 传送->

Page 27: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

发送文件,出现发送文件对话框。选择好发送协议为 Kermit 协议,选择发送的文件,然后点击

发送。这时候出现发送进度对话框

图 6-8

图 6-9

文件发送完后,uClinux 的压缩的二进制文件就存放在地址 0xC500000(SDRAM 空间)上了。

Page 28: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-10

如果我们要测试新编译的 uClinux 运行情况,可以直接输入 bootm 命令,这样 U-BOOT 就会

在当前放置下载的程序的地方(这里是 0xC500000)解压缩代码到指定地址,然后跳转到这个地址

开始运行程序,大家可以自己做这个测试。

接下来我们通过 cp 命令将数据从 0xC500000 写入到 Flash 中的 0x50000 开始的地方。在复

制数据之前,先将 Flash 对应的区域删除。拷贝数据的长度是按照双字来操作的,所以我们需要

将字节长度/4 + 1 来得到最终要输入的长度参数(16 进制)。

图 6-11

数据写入到 Flash 空间的 0x50000 后,我们可以重启我们的系统,就可以看到这个启动过程

了。U-Boot 启动后,3 秒钟内如果超级终端没有任何输入,就会自动从 Flash 0x50000(0x50000

这个地址是 U-B0OT 程序编程固定的,可以根据需要修改)的地址上将压缩的 uClinux 解压缩到

0xc008000(SDRAM)上,然后跳转到这个地址上,开始 uClinux 的启动。

Page 29: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

网口下载(下载速度快):

网口下载是通过 tftp 协议的,在下载之前先确认一下 U-BOOT 的环境变量配置是否正确,在

U-BOOT 的命令提示符下输入 printenv 显示环境变量(启动参数),如下图:

图 6-12

其主要的环境参数包括:

bootcmd —— 启动命令,也就是 U-Boot 启动后如果在指定时间内没有按下任何按键后执

行的指令。

bootdelay —— 指定自动启动的等待时间,单位为秒

baudrate —— 串口波特率

etheaddr —— 以太网芯片的 MAC 地址

stdin —— 指定标准输入设备

stdout —— 指定标准输出设备

stderr —— 指定标准错误输出设备

bootfile —— 通过 tftp 从服务器上获取的文件名

ipaddr —— 本机(S3C44B0 板)的 IP 地址

serverip —— 运行 tftp 服务器程序的 PC 机 IP 地址

我们在使用 tftp 下载的时候要关心的参数是 bootfile, ipaddr, serverip 三个。

需要保证服务器的 IP 与目标板的 IP 在同一个网段内。如果需要修改参数可以通过

setenv 命令修改,例如:

=>setenv ipaddr 192.168.1.104 //设置本级的 IP 为 192.168.1.104

=>setenv serverip 192.168.1.100 //设置 Server 的 IP 为 192.168.1.100

=>setenv bootfile “uclinux_rom.bin”//设置 tftp 获取 uclinux_rom.bin 文件

Page 30: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

注意在使用的时候不要使用“=”,例如 setenv ipaddr=192.168.1.104 是错误。

先将 PC 机的 tftp 服务器软件启动,在这里我们使用的 Cisco TFTP Server(安装文件在 光

盘:\工具\FTP 软件\tftp server\TFTPServer1-1-980730.exe)。第一次启动我们需要设置 tftp

服务器的本地路径,点击 view->Options 弹出 tftp 设置窗口,如图 6-13 所示。在这里我们主

要设置 tftp 的服务器路径(就是包含你需要下载到学习板的文件的目录路径)。单击确定后,tftp

服务器就设置好了,这时候我们可以使用 U-Boot 来下载 uclinux 到目标板上了。

图 6-13

然后在 U-BOOT 命令提示符下输入 tftp 0xC500000 命令,下载就开始了。下载完后界面如下:

图 6-14 tftp 下载完界面

同时 Cisco TFTP Server 也将打印相应的信息,如下图。

Page 31: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

图 6-15

后续的操作如同串口下载一样,我们可以通过bootm 直接解压缩代码执行,也可以先将Flash

擦除,然后通过 cp 命令将压缩代码写入 Flash,这样每次 U-BOOT 都能够在启动的时候自动解压

并运行这个程序。

我们也可以使用 光盘:\工具\FTP 软件\tftp server\tftpd32.exe 这一个 tftp 服务器端软

件,其使用方法很简单,无需安装,直接启动后设置下载文件的服务器路径(此路径包含了我们

需要下载的文件)就好了。下载界面参看下图

图 6-16

Page 32: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网 七、 开发板的地址空间分配

S3C44B0 一共支持 8 个空间 BANK,每一个 BANK 是 32M。开发板的空间分配系统地址空间分配如下:

Flash 2M0x00000000~0x001fffff

特殊功能寄存器(4M字节)

nGCS0

Philip USB PDIUSBD12nGCS1

硬盘

RTL8019网卡

保留(ROM,SROM...)

保留(ROM,SROM...)

nGCS2

nGCS3

nGCS4

nGCS5

SDRAM 8M0x0C000000~0x0C800000

nGCS6

保留(ROM,SRAM,SDRAM)nGCS7

BANK0

BANK1

256M空间SA[27:0]

BANK2

BANK3

BANK4

BANK5

BANK6

BANK7

图 7-1

从空间上看,学习板已经使用了 BANK0,1,2,3,6,剩下的 BANK4,5 和 BANK7 可以用来扩展

我们的外设。

八、 FAQ 常见问题

1.串口没有输出

答:S3C44B0 学习板一共有两个串口,COM0 与 COM1 口。程序默认的打印输出是 COM0

口,确认与 PC 串口向量的是 COM0 口。

2. 连接串口后,超级终端打印出 U-Boot 提示信息,但是却不能输入

答:S3C44B0 学习板子提供了一根直连的串口线(直连串口线的 RX,TX 脚,也就是 2,3 脚没 有交叉),在出厂之间已经经过测试,应该没有问题。学习板的串口也已经经过测试,应该也不会有 问题,问题可能出在 PC 机的串口。我们可按照以下步骤来排查原因。 打开超级终端软件,按照正常的方法设置(8N1,无流量控制,波特率无所谓),断开与学习板相连

的串口,然后将其 RX,TX,短接,也就是 2,3 脚短接,然后在 PC 上键入任意字符,看超级终端软

件是否能够回显我们键入的字符 能够回显

表示我们的串口线与 PC 机的串口都是没有问题,那问题就是出在学习板的串口上,如

果是这样,请及时和我们联系。 不能回显

Page 33: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

表示 PC 机的串口或者串口先有问题,我们再不用串口线而直接短接 PC 串口的 2,3 脚,

这样来判断是不是 PC 串口的问题。如果不能回显,那么就是 PC 串口有问题。否则问题出

现在串口线上,这种情况下请及时和我们联系。

3.uClinux 运行起来后 PC 机 Ping 不通学习板

答:首先确认你的系统网线连接正常。然后确认学习板的 IP 地址是不是与 PC 的网卡地址在同一

个网段内,如果不是,请在超级终端的命令提示符号用 ifconfig 指令修改学习板的 IP 地址到 PC 机的

同一个网段内,切记不要发生 IP 地址冲突。 />ifconfig eth0 192.168.0.101 其中 IP 地址可以根据用户环境的不同而不同。

4. 学习板的光盘中已经包含了 windows 下的 tftp 服务器端软件,但在 linux 下如何操作?

答:linux 下也有 tftp 的服务器端和客户端的软件。我们以 RedHat V9.0 为例。首先我们需要测

试一下我们原来安装好的 linux 是否已经将 tftp 服务器与客户端安装好了。

测试 tftp 客户端软件:

在 linux 的命令行终端直接输入 tftp。如果已经安装了,将进入 tftp 命令交互状态,入下

图所示

图 8-1 如果没有安装则提示:Command Not Found.

测试是否有安装 tftp 服务器:

Page 34: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网

进入/etc/xinetd.d 目录,查看是否有 tftp 配置文件,如果有则表明已经安装好 tftp 服务,入下

图所示。如果没有则表示尚未安装 tftp 服务器,我们需要另外安装。

图 8-2

如果在安装 linux 的时候,没有安装这些,我们需要手动安装,这两个软件都在 RedHat 的安装光

盘上(RedHat9 在第三张安装光盘)。它们都是以 rpm 包的格式存在在光盘上的,我们直接使用 rpm 安

装这两个软件。安装好后,tftp 服务器端软件需要再设置一下才能使用。进入/etc/xined.d 目录,

编辑 tftp 配置文件,入下图。

图 8-3

在这里我们主要关心 server_args 与 disable 参数。其中 server_args 中指定了 tftp 服务器的

工作目录,客户端看到的文件,目录都是以这个目录为根目录的相对路径。举例来说,果想客户端能

够通过 tftp 获取服务器的端 test.bin 文件,我们就需要在服务器上将 test.bin 文件放在这个指定

的目录下。Disable = no 表示使能 tftp 服务。最后我们可以通过 service xinetd restart 指令启动

tftp 服务。

图 8-4

九、 结束语

Page 35: S3C44B0 User Guide

www.itsn.cn中国信息技术资源网 ITSN(Information Technology Sources Network),中国信息技术资源网,打造中国最具人气的信息

技术资源平台。我们将为大家提供最好的的服务,有任何技术上的问题请来 www.itsn.cn/bbs 社区交流。

技术支持Email : [email protected]