EL - ARM - 830+实验指导书 1
目 录
目 录 .......................................................................................................... 1
第 1 章 EL-ARM-830+实验系统的资源介绍 .............................................. 4
第 2 章 基于 ARM 系统资源的实验 ............................................................32
实验一 ADS1.2 开发环境创建与简要介绍 ........................................33
实验二 基于 ARM 的汇编语言程序设计简介 ...................................41
实验三 基于 ARM 的 C 语言程序设计简介 ......................................46
实验四 基于 ARM 的硬件 BOOT 程序的基本设计 ..........................51
实验五 ARM 的 I/O 接口实验 ............................................................56
实验六 ARM 的中断实验 ...................................................................62
实验七 ARM 的 DMA 实验 ...............................................................67
实验八 ARM 的 UART 实验 ..............................................................72
实验九 ARM 的 A/D 接口实验 ..........................................................79
实验十 模拟输入输出接口的实验 .....................................................85
实验十一 键盘接口和七段数码管的控制实验 ..................................87
实验十二 LCD 的显示实验 ................................................................89
实验十三 触摸屏实验....................................................................... 102
实验十四 音频录放实验 ................................................................... 110
实验十五 USB 设备收发数据实验................................................... 117
实验十六 SD 卡测试实验 ................................................................. 121
实验十七 PS2 接口键盘鼠标实验 .................................................... 123
附:烧写程序 Jflash-s3c2410 的使用 ................................................. 126
第 3 章 基于 uCOSII 操作系统的 ARM 系统实验 .................................... 128
实验一 uCOSII 的内核在 ARM 处理器上的移植实验 .................... 128
实验二 基于 uCOSII 的串口驱动编写实验 ..................................... 138
EL - ARM - 830+实验指导书 2
实验三 基于 uCOSII 的 LCD 驱动编写实验.................................... 143
实验四 基于 uCOSII 的键盘驱动编写实验 ..................................... 146
实验五 基于 uCOSII 的小型 GUI 的应用程序编写实验 ................. 149
第 4 章 基于 linux 操作系统的 ARM 系统实验 ........................................ 165
实验一 Linux 的实验环境的搭建 ..................................................... 165
实验二 BootLoader 引导程序 ........................................................... 172
实验三 linux 的移植、内核、文件系统的生成与下载 ................... 176
实验四 linux 驱动程序的编写 .......................................................... 182
实验五 linux 应用程序的编写 .......................................................... 187
实验六 键盘驱动、应用程序实验 ................................................... 189
实验七 LCD 液晶屏驱动、应用程序的编写 ................................... 199
实验八 跑马灯应用程序的编写 ....................................................... 210
实验九 利用实验箱上网的实验 ....................................................... 215
实验十 USB 播放 mp3 的实验 ......................................................... 216
实验十一 USB HOST 驱动实验 ....................................................... 217
实验十二 实时时钟 RTC 驱动、应用实验 ...................................... 224
实验十三 语音驱动、应用实验 ....................................................... 228
实验十四 串口应用实验 ................................................................... 237
实验十五 网络应用实验 ................................................................... 242
实验十六 直流电机驱动、应用实验 ............................................... 248
实验十七 步进电机驱动、应用实验 ............................................... 253
实验十八 LED16x16 点阵驱动、应用实验 ..................................... 259
实验十九 触摸屏驱动、应用实验 ................................................... 265
实验二十 ADC 驱动、应用实验 ...................................................... 269
实验二十一 无线通信驱动、应用实验 ............................................ 274
实验二十二 CAN 通信驱动、应用实验 .......................................... 279
EL - ARM - 830+实验指导书 3
实验二十三 RS485 通信驱动、应用实验 ........................................ 285
实验二十四 多线程应用实验 ........................................................... 290
附录 I 补充实验环境搭建、编译说明 ............................................. 294
EL - ARM - 830+实验指导书 4
第 1 章 EL-ARM-830+实验系统的资源介绍
ARM 实验箱硬件资源概述
EL-ARM-830+型教学实验系统属于一种综合的教学实验系统,该系统采用了目前在国
内普遍认同的 ARM920T 核,32 位微处理器,实现了多模块的应用实验。它是集学习、应用
编程、开发研究于一体 ARM 实验教学系统。用户可根据自己的需求选用不同类型的 CPU 适
配板,兼容 ARM7 与 ARM9,而不需要改变任何配置,同时,实验系统上的 Tech_V 总线能够
拓展较为丰富的实验接口板。用户在了解 Tech_V 标准后,更能研发出不同用途的实验接
口板。除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量 IO
输入输出,语音编解码、人机接口等单元),可以完成 ARM 的基础实验、算法实验和数据
通信实验、以太网实验。
图 1-1-1 EL-ARM-830+实验教学系统的底箱功能框图
EL - ARM - 830+实验指导书 5
1.1 实验系统的硬件资源总览
☆ CPU 单元:内核 ARM920T,芯片三星的 S3C2410,工作频率最高 202MHz;
☆ 动态存储器:64MB,芯片 HY57V561620;
☆ 海量存储器:32MB,芯片 K9F5608;
☆ USB 单元: 1 个主接口,1 个设备接口;
☆ 网络单元: 10/100M 以太网,芯片 AX88796;
☆ UART 单元: 2 个,最高通信波特率 115200bps;
语音单元: IIS 格式,芯片 UDA1341TS,采样频率最高 48KHz;
LCD 单元: 8.4 吋,65536 色,640X480 像素;
触摸屏单元: 四线电阻屏,640X480,8.4 吋;
SD 卡单元: 通信频率最高 25MHz,芯片 W86L388D,兼容 MMC 卡;
键盘单元: 4X4 键盘,带 8 位 LED 数码管;芯片 HD7279A;
数字输入输出单元:8 个拔码开关及 8 个 LED 发光管;
A/D 转换单元:芯片自带的 8 路 10 位 A/D,满量程 2.5V;
信号源单元: 方波输出;
标准键盘及 PS2 鼠标接口;
达盛公司的 Tech_V 总线接口;
达盛公司的 E_Lab 总线接口;
1 个设备接口,芯片 PDIUSBD12;
CPLD 单元;
电源模块单元。
注:带☆的功能集成在 ARM9 的 S3c2410 CPU 板上。
1.2 核心板的资源介绍
1.核心板的硬件资源(ARM920T 核)
在核心 CPU 板上包括下列单元和芯片,32 位 ARM920T 的处理器,即三星的 S3C2410
芯片,两片动态存储器,每片 32M 字节,一片 32M 字节的 NAND_flash 存储器,一个
USB 主接口,一个 USB 从接口,一个 10/100M 的以太网控制芯片,完成网络访问功能,
一个 UART 接口,完成串口通信,最高波特率率为 115200bps, 一个 RTC 实时时钟,一
个 5V 转 3.3V 和 1.8V 的电源管理模块,一个 20 针的 JTAG 调试接口。具体元器件见
EL - ARM - 830+实验指导书 6
表 1-1。
芯片名称 数量 功能
S3C2410
1
ARM920T,中央处理器
板上标号
S3C2410X
HY57V561620 2
动态存储器(SDRAM),32MB/片 HY57V561620
K9F5608
AX88796
1
1
AS1117-3.3 1
AS1117-1.8 1
MAX3232
IMP811-S
1
1
海量存储器,32MB
10/100M 以太网控制器
5V 转 3.3V
5V 转 1.8V
RS232 转换
复位
表 1-1
具体的单元、跳线见表 1-2。
K9F5608U
AX88796
AS1117-3.3
AS1117-1.8
IMP811
标号
JP1
名称
功能
JTAG 复位单元
控制 nRESET 与 nTRST 是否接通
AREF SEL
模拟参考电压选择 短接后连接到 VDD33,否则接地
3S/4S
3Step 与 4Step 选择 设置 Nand Flash 的运行模式,选择 NCON
RESET
P.S
SW
复位键
电源插座
电源开关
(CPU 引脚)与 3Step、4Step 连接
系统复位按键
电源插座,接 5V 电源
拨向 EXT 接通,拨向 INT 断开电源
USB-HOST
主 USB 单元
主 USB
UART0(CROSS/F) 串口 0 单元
和 S3C2410 的串口 0 通信
USB-DEVICE
从 USB 单元
USB 设备
RJ45
ARM-JTAG
网络单元
JTAG 插座
INTERFACE C 功能单元
INTERFACE B 数据、地址单元
INTERFACE A 功能单元
访问以太网
20 针 JTAG 插座,用于与宿主机通信
表 1-2
表 1-3 为核心板上各 LED 指示灯的意义。
标号
PWR
LED1
LED2
名称
LED 灯
LED 灯
LED 灯
功能
电源指示灯
GPI/O 口 G 口的第 8 位指示
GPI/O 口 G 口的第 9 位指示
表 1-3
表 1-4 为核心板上的晶振单元
标号
12MHz
名称
功能
CPU 主时钟晶振
外接 12MHz
EL - ARM - 830+实验指导书 7
32KHz
25MHz
RTC 时钟晶振
外接 32.768KHz
网络时钟晶振
外接 25MHz
表 1-4
2.核心板资源的具体介绍
1)电源模块
在 S3C2410 CPU 板上由于其内核采用 1.8V,I/O 接口采用 3.3V 供电,因此需要将通
用的 5V 转换成 1.8V 和 3.3V。图 1-1-2 为使用 LM1117 电源转换芯片把 5V 转成 3.3V 和 1.8V
的转换电路。
2)NAND_FLASH 海量存储器单元
图 1-1-2
该存储单元在板卡上标号为 K9F5608U,选用 32MB 字节的 K9F5608U,8 位数据总线,
该芯片由 S3C2410 的相关引脚直接控制, CPU 分配给它的地址空间为 0x0000 0000—0x01ff
ffff。启动代码部分则放在从 0x0000 0000 开始的地址空间内。系统将 CPU 的引脚 OM[1:0]
设置成 00b,当核心板上电复位时,系统首先将 Nand_Flash 开始的 0~4K 的程序映射到
SteppingStone 区,然后从那里开始执行。Nand_Flash 可以存放数据和程序,但需要特定
的指令进行读写。
3)同步动态存储器单元
该存储单元在板卡上标号为 HY57V561620。选用两片 8MB 字节的 HY57V561620,32 位
EL - ARM - 830+实验指导书 8
数据总线。片选 NSCS6 接两片 HY57V561620 单元作为片选信号,CPU 分配给这两片
HY57V561620 单元的地址空间分别为 0x3000 0000 - 0x31ff ffff, 0x3200 0000-0x33ffffff,
也就是 S3C2410CPU 的 Bank6 区和 Bank7 区。
4)RS232 串口单元
该存储单元在板卡上标号为 UART0(CROSS/F),选用了 MAX3232 电压转换芯片,进行
PC 机与 CPU 板的串口通讯。它采用收、发、地,三线连接,无握手信号。通过 S3C2410 内
部的串口 0 控制器进行控制。
5)主/从 USB 单元
该单元在板卡上标号为 USB-HOST 和 USB-DEVICE,通过 S3C2410 内部的 USB 主控制器
和 USB 设备控制器进行控制。
6)网络单元
该存储单元在板卡上标号为 AX88796,选用了 ASIX 公司的 AX88796 网络芯片,传输速
率为 10/100M 自适应,16 位数据总线传输,片选 NGCS2 接网络单元。CPU 分配给 AX88796
单元的地址空间为 0x1000 0000—0x1800 0000,也就是 S3C2410CPU 的 bank2 区。S3C2410CPU
的外部中断 ExINT2 响应该中断。RJ45 插座上面自带数据传输的指示灯。
为清楚显示核心板上各存储区及单元,见表 1-5。
标号
名称
存储区 存储的有效区
容量(字节)
HY57V561620 同步动态存储器 Bank7
0x3200 0000 - 0x33ff ffff 32M
HY57V561620 同步动态存储器 Bank6
0x3000 0000 - 0x31ff ffff 32M
AX88796
网络控制器
NAND_FLASH 海量存储器
Band2
Bank0
0x1000 0000 后的若干
若干寄存器
0x0000 0000 - 0x01ff ffff 32M
7)JTAG 单元
表 1-5
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主
要用于芯片内部测试及对系统进行仿真、调试,JTAG 技术是一种嵌入式调试技术,它在芯
片内部封装了专门的测试电路 TAP(Test Access Port,测试访问口),通过专用的 JTAG
测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持 JTAG 协议,如 ARM、DSP、
FPGA 器件等。标准的 JTAG 接口是 4 线:TMS、TCK、TDI、TDO,分别为测试模式选择、测
试时钟、测试数据输入和测试数据输出。
通过 JTAG 接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的
一种简洁高效的手段。目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,