S3C44B0 学习板使用指南

更新时间:2023-06-09 19:36:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

S3C44B0 学习板使用指南

一、 S3C44B0 学习板简介.....................................................................................................................3 二、系统上电...................................................................................................................................................5 三、 测试程序...........................................................................................................................................8 四、 建立 Windows 系统上虚拟 Linux 环境 Cygwin 以及 ARM 交叉编译环境.........................9 五、 Bootloader 装载程序(U-BOOT)...................................................................................................11 六、 uClinux 编译与下载......................................................................................................................21 七、 开发板的地址空间分配.................................................................................................................35 八、 FAQ 常见问题...............................................................................................................................36

S3C44B0 学习板使用指南

S3C44B0 学习板使用指南

三星公司推出的 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 的片内时钟发生器

使用 S3C44B0X 来构建系统,能够降低真个系统的成本,我们列举以下一些可以

S3C44B0 学习板使用指南

采用 S3C44B0X 构建系统应用:   GPS 电话

  PDA(个人数字助理)   掌上游戏机   指纹识别系统   终端汽车导航系统   mp3 等手持应用

一、 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 的开发板图,我们在这里可以看到使用的板子的各种外围芯片,外设以及各种接口。

S3C44B0 学习板使用指南

板上使用的 IC 如下:

CPU S3C44B0X(三星) Flash(2M 字节) SST39VF160(SST)/ AM29LV160(AMD) SDRAM(8M 字节) HY57V641620(现代) 以太网控制器 RTL8019AS(Realtek) USB 设备控制器 PDIUSBD12(Philips) 音频解码 CS4334(Crystal) 音频功放 TDA7050(Philips) E2PROM(I2C 接口) AT24C02(Atmel)

图 1

操作系统源码:

我们提供了 3 个部分,包括U-Boot(bootloader),uCOS-II,uCLinux。

测试程序:

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

S3C44B0 学习板使用指南

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

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

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

系统恢复文件:

包含 U-Boot,uClinux 两个已经编译好的文件,大家在需要的时候可以通过这两个文件恢复我们的系统。其中 u-boot 是 uboot 的编译文件,可以使用 flashpgm 工具下载到 Flash 中。另外一个是编译好 uClinuximage可以通过串口或者网口协同 u-boot 下载到 SDRAM 中运行,然后烧写到 Flash 中。

二、系统上电

RS232 串口 并口JTAG小板 44B0 学习板 JTAG连线

PC

首先将系统按照图 2-1 连接好系统(注意:开发板子支持两个串口,在这里我们使用串口 0,串口0为孔型插座),打开 PC 机的超级终端软件(注:Windows 自带了超级终端软件,当然可以使用其他超级终端软件,比如光盘中的SecureCRT 就是非常好用的一种),我们这里以 Windows 自带的超级终端为例,点击[开始]->[程序]->[附件]->[通讯]->[超级终端]

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

S3C44B0 学习板使用指南

图 2-2

在区号对话框中输入区号:比如 0755, 点击 确定 ,再随后的对话框中再次点击 确定 继续将弹出图 4 的设置窗口,在这里我们将给我们新建的链接取一个名字,比如 S3C44B0,然后点击确定继续。

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

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

S3C44B0 学习板使用指南

本系统配备的电源是 5V,2A 的开关型直流电源,系统上电后,电源指示灯应该点亮,开发板的 Flash中已经烧录了 U-Boot 的 Bootloader 启动加载程序, 超级终端显示如图

2-5:

图 2-5

S3C44B0 学习板使用指南

三、 测试程序

我们编写了一些实用的测试程序,使大家能够快速的掌握板子上各种外设的操作,以及 S3C44B0XCPU 的一些特性和编程方法。在运行测试程序前,先将他们从光盘中拷贝到硬盘中,并去掉所有文件的只读属性。由于所有的测试程序都是ADS1.2 调试的,所以大家在使用这些测试程序之前需要安装 ADS1.2。所有测试程序的目录结构都是一样的。 注:ADS1.2对中文目录的支持不好,建议把测试程序从光盘里copy出另建英文目录使用。

详细测试请阅读光盘目录“开发板配套资料\测试程序”下的“S3C44B0 试验说

明.pdf”文档。

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 总线功能 源码路径:光盘:\测试程序\音频测试\sound\ 工程项目:sound.mcp

说明:声音文件在路径,光盘:\测试程序\音频测试\声音文件。实验前先接上超级

终端,程序跑起来后,根据超级终端的提示进行。

S3C44B0 学习板使用指南

7、串口测试测序

试验目的:测试 S3C44B0 的 UART接口的功能 源码路径:光盘:\测试程序\ uart 工程项目:uart.mcp

8、黑白液晶测试测序

试验目的:测试 S3C44B0 的 黑白液晶的控制功能 源码路径:光盘:\测试程序\ LCD测试\ lcd12864\ 工程项目:lcd-demo.mcp

9、彩色液晶测试程序

试验目的:测试 S3C44B0 的STN LCD接口的功能 源码路径:光盘:\测试程序\ LCD测试\ lcdcolor\ 工程项目:lcdcolor.mcp

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

测试程序\ S3C44B0试验说明。

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

1. 建立 Cygiwn 虚拟 Linux 环境

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

2. 建立编译环境

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

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

里我们在 D:盘建立一个 armtools 的目录,然后将光盘:\工具\编程工具\armtools\windows 版本复制到这里),然后在dos 环境下进入此目录,执行 unpack.bat 批处理命令,解压缩过程开始,不用关心在解压缩的最后出现错误提示。请参看以下截图:

S3C44B0 学习板使用指南

S3C44B0 学习板使用指南

最后添加将 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 上 有 一 群 自 由 开 发 人 员 对 其 进 行 维 护 和 开 发 , 它 的 项 目 主 页 是

S3C44B0 学习板使用指南

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

S3C44B0 学习板使用指南

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

S3C44B0 学习板使用指南

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

S3C44B0 学习板使用指南

 

编译,执行 make。

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

S3C44B0 学习板使用指南

u-boot,ELF 文件格式,使用 H-JTAG中的H-FLASH烧录到flash中。

2.U-BOOT 下载

在这里我们介绍来将编译好的U-Boot烧录到Flash。把板子的JTAG线和电源连接号,安装好光盘里 工具\JTAG工具下的H-JTAG。安装完成后,重启电脑,进入主板BIOS,把并口模式修改为ECP或EPP模式,保存进入后进入windows系统。先运行H-JTGA,出现以下界面表明JTAG和开发板最小系统工作正常。

S3C44B0 学习板使用指南

然后运行H-FLASH,进入第一步。

选择本开发板使用flash存储芯片SST39VF160。然后进入第二步,

S3C44B0 学习板使用指南

这里配置相关的烧录配置参数,flash为16为1片,开发板上flash的地址为0x0,要烧录文件的暂存地址如果是没有烧录过系统或boot的空板子,RAM start address设置为

0x10000000(注共8位);如果是在已有boot或操作系统的板子上重新烧录boot,RAM start address设置为0x0c000000(注共8位)。

配置完成后直接进入第五步,

S3C44B0 学习板使用指南

进入第五步后,按check键如果一切正常,应该如上图正确显示flash和tartget(即CPU的型号)。型号检查正确后,选择我们要烧录的文件,这里选择Plain Binary Format格式,如果要烧录uboot,选择光盘系统恢复目录下uboot.bin文件。设置好后,按program键,开始烧录,如下图:

如果烧录成功,出现上图界面,如果出现超时等错误,重新按program键进行烧录。

3. U-BOOT 的使用

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

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

S3C44B0 学习板使用指南

执行 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 显示帮助信息

S3C44B0 学习板使用指南

六、 uClinux 编译与下载

1.建立编译环境

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

同样需 要使 用交叉 编译 工具 armtools。将光盘 :\工具\ 编 程工具

\armtools\linux 版本 \

arm-elf-tools-20040427.sh 拷贝到硬盘后执行这个程序将会自动安装此 armtools 交叉编译器。

2. 编译 uClinux

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

样会在当前

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

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

menuconfig。)

tar zxvf uClinux-dist-xxxxxxxx.tar.gz

本文来源:https://www.bwwdw.com/article/56v1.html

Top