ARM嵌入式系统实验指导书
韩洁
华中科技大学武昌分校
第一章实验教学系统介绍 1
1.1、 开发板硬件资源 1
1.2、 资源占用情况 2
1. 3、嵌入式系统开发流程 4
第二章ADSL 2集成开发环境简介 5
2. 1使用CodeWarrior建立工程并进行编译 5
2. 2在工程中添加源文件 10
2. 3进行编译和链接 11
2.4使用AXD进行仿真调试 12
第三章试验部分 18
试验一汇编指令试验 18
试验二ARM微处理器工作模式实验 22
试验三通用10 口试验 28
试验四串口试验 35
试验五键盘试验 46
试验六定时器应用的试验 55
试验七 watchdog试验 61
第一章实验教学系统介绍
1.1、开发板硬件资源
1、 Core 小板:S3C2410 ARM CPU、64M SDRAM、64M NAND FLASH,通过280Pin 精密插 座与主板连接。核心板上可以配置2M或4M容量的Nor Flash AM29LV160/320 ,从而可以 从NorFlash启动并可增加NandFlash容量。2410经典平台的核心板设计在一定程度上和 博创PXA270核心板兼容,在软件支持下,PXA270核心板插到经典开发平台主板上可以使 用其多数硬件功能。
2、 双100M EtherNet网卡:山两片DM9000AE构成的双网卡,一般可只用其一,预留一个。 HOST / 1 DEVICE USB 接口:从2410 的主USB 口扩展为4 个,由AT43301 构成USB HUB。 USB从口保持处理器本身的1个。
3、 UART/IrDA: 2个RS232串口。另有1个RS485串口,1个IrDA收发器,均从处理器 的UART2引出。
4、 168Pin EXPORT :提供一个168Pin扩展卡插槽,引出所有总线信号和未占用资源。
5、 LCD和VGA接口:标配8寸16bit真彩屏,同时预留一个24bit接口。扩展了VGA接口 和AV接口,可以连接VGA显示器。
6、 LCD:兼容多种LCD,可采用5寸256色屏或8寸16bit真彩屏,同时预留一个24bit接口。 可以支持板外8bit或24bit屏。
7、 TouchScr:采用2410内部ADC构成的转换电路接口。
8、 采用UDA1341,具有放音、录音和线路输入等功能。功放电路由LM386构成,板载扬声 器可播放音频。
9、 PS2 KEYPAD:使用ATMEGA8单片机控制2个PS2接口和板载17键小键盘。两个PS2可接PC 键盘和鼠标。
10、 LED:扩展2个数码管和1个8x8点阵发光管显示器。
11、 SUPPLY、RESET, RTC等必须资源。经典平台主板集成了UP-LINK调试电路,可以直 接用并口电缆连接计算机进行仿真、下载等。
12、 ADC:板载3个电位器和选择跳线,同时在板上设模拟电压输入专用接口。
13、 IDE/CF卡插座:支持2. 5英尺的笔记本硬盘读写和IDE模式下的CF卡读写。
14. SD卡插座:从2410扩展SD接口。
15. IC卡插座:由ATMEGA8单片机控制。
16. DC电机:扩展直流电机驱动电路,由PWM控制。带有红外线测速电路。
17. CAN BUS:设置 1 个CAN 口,采用MCP2510 和TJA1050 芯片构成。
18. DA:采用MAX504 , SPI总线操作,输出模拟电压。
19. 设置了PWM DA、IIC存储器、10控制LED和可产生硬中断的按键等简单调试资源
20. 可以提供配套的GPRS/GPS、FPGA、WLAN、USB2. 0等扩展板。
二、跳线设置参考
说明:PCB上所有“EXPORT”丝印字符表示168Pin扩展槽
JP1402 JTAGSEL :选择JTAG电路,位置JTAG20插座下方。
1- 2:使能板载的UP-LINK JTAG电路。
2- 3:使用外部的JTAG电缆或者ARM ICE仿真器。
1.2、资源占用情况
资源
构成
BANK
INT
10
其他
核心板
CPU
S3C2410A
SDRAM
HY57V561620
6
局部总线
NorFlash
AM29LV160
0
局部总线
NandFlash
K9F1208/更
大
局部总线
总线仲裁
74HC21
总线驱动
74LVHC16245
LED
GPG1
主板
电源
5V输入/LDO
复位
IMP811T
复位逻辑
JTAG
UP-LINK 电 路
网卡1
DM9000AE
2
2
INDEX 0x10000000 DATA 0x10000002
网卡2
DM9000AE
2
3
INDEX 0x10000004 DATA 0x10000006
IDE硬盘
1
6
地址
0x08000000—-0x080000FF
CF CARD
CPLD逻辑
5
7
PCCARD模式
CAN总线
MCP2510
4
GPH0
SPI总线
MMC/SD 卡
2410 MMC
18
MMC总线
RS232-0
MAX3232
UART0
RS232-1
MAX3232
UART1
RS485
MAX485
GPH1
UART2
IrDA
TFDU4100
UART2
首频
UDA1341
GP G8、 9、 0
IIS总线
触摸屏
2410 ADC
GPG12/13/14/15
AIN5/7
LCD
2410 LCD
LCD总线
VGA+AV
LCD总线驱 动
IIC总线配置
AD
分压电位器
AIN0/1/2
DA
MAX504
GPG3
SPI总线
USB 4 HOST
AT43301
USB DEVICE
2410 DUSB
10
插入检测
PS2 接口
ATMAGE8
IIC
小键盘
ATMAGE8
IIC
IC卡接口
ATMAGE8
IIC
中断按钮
2410中断
5
LED
GPI0驱动
GPC5/6/7
lie存储器
AT24C01
IIC总线
PWM DA
PWM
PW M2、 3
数码管
74HC273
1
地址0x08000100
点阵发光管
74HC273
1
地址0x08000102
直流电机
驱动和光检 测
PWM0/1输出和计数器输 入TCLK1
扩展插座
3、4
0、1
扩展总线
13/14
/15
GPG5/6/7
SPI1
9
GPG1
GPH9/10
GPB5/6
TOUTO/1/2/3
TCLK0/1
nRSTOUT
IIC
UART1 、 2
SPIO
IIS
AIN3/4/6
1.3、嵌入式系统开发流程
下图it给出了嵌入式系统开发的总体流程,在第二部分的实验案例中给出了建立工 程,设置编译环境和工程模板参数,编译,调试,下载等过程的详细说明。
嵌入式系统开发流程框图
I PC机硬件平台
图i-i嵌入式系统开发流程框图
第二章ADS1.2集成开发环境简介
ADS1.2是一个使用方便的集成开发环境,全称是ARM Developer Suite vl.2„它是山 ARM公司提供的专门用于ARM相关应用开发和调试的综合性软件。在功能和易用性上比 较SDT都有提高,是一款功能强大又易于使用的开发工具。以下就我们对ADS1.2进行一 些简要的介绍。
ADS囊括了一系列的应用,并有相关的文档和实例的支持。使用者可以用它来编写和 调试各种基于ARM家族RISC处理器的应用。你可以用ADS来开发、编译、调试采用包 括C、C++和ARM汇编语言编写的程序。
ADS主要由以下部件构成:
• 命令行开发工具;
• 图形界面开发工具;
• 各种辅助工具;
• 支持软件。
其中重点介绍一下图形界面开发工具。
• AXD提供给基于Windows和UNIX使用的ARM调试器。它提供了一个完 全的
Windows和UNIX环境来调试你的C, C++.和汇编语言级的代码。
• Code Warrior IDE提供基于Windows使用的工程管理工具。它的使用使源码文 件的管理和编译工程变得非常方便。但CodeWarrior IDE在UNIX下不能使用。
2. 1使用CodeWarrior建立工程并进行编译
CodeWamor通过“工程(Project)”来管理一个项目相关的所有文件。因此,在我们正 确编译这个项目代码以前,首先要建立“工程”,并加入必要的源文件、库文件等。
1、建立工程
(1)运行 ADS1. 2 集成开发环境(CodeWarrior for ARM Developer Suite)o 选择 File I New…菜单,在对话框中选择Project,如图1BT所示,新建一个工程文件。图中示例的工 程名为Exp6. mcpo点set…按钮可为该工程选择路径如图2-1所示,选中CreatFolder选项 后将以图2-1中的ProjectName或图2-2中的文件名为名创建目录,这样可以将所有与该工 程相关的文件放到该工程目录下,便于管理工程。
图2-1新建工程
选中aARM Executable Image,,选项,在右边的编辑框中输入工程名(例如Myhelloworld), 在下面的Location栏中,点击“Set…”,选择放置工程的路径。点击“确定”则工程被建 立:
图2-2新建工程
(2)在新建的工程中,如图2-3所示,选择Debug版本,使用Edit | Debug Settings 菜单对Debug版本进行参数设置。为了设置方便,先点选Targets页面,选中DebugRel 和Relese变量,按下Del键将它们删除,仅留下供调试使用的Debug变量。点击菜单[Edit | Debug Setting---],弹出配置对话框:
图2・3工程配置对话框——目标设置
(3)在 Debug Settings 对话框中选择 Target Settings 项,如图 2-3 所示。在 Post-linker 一栏中选择ARM fromELF。使得工程在链接后再通过fromELF产生二进制代码。
(4)在Debug Settings对话框中选择ARM Linker项,如图2-5。在Output选项卡的Simple image框中设置连接的Read-Only (只读)和Read-Write (读写)地址。地址0x30000000 是开发板上SDRAM的真实地址,是由系统的硬件决定的。
然后选中ARM Linker,对链接器进行设置:
图 2-5 (a) ARM Linker 的设置
选取Layout页面进行设置: