ARM微处理器实验指导书(选修).docx

上传人:牧羊曲112 文档编号:4219430 上传时间:2023-04-10 格式:DOCX 页数:36 大小:770.69KB
返回 下载 相关 举报
ARM微处理器实验指导书(选修).docx_第1页
第1页 / 共36页
ARM微处理器实验指导书(选修).docx_第2页
第2页 / 共36页
ARM微处理器实验指导书(选修).docx_第3页
第3页 / 共36页
ARM微处理器实验指导书(选修).docx_第4页
第4页 / 共36页
ARM微处理器实验指导书(选修).docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《ARM微处理器实验指导书(选修).docx》由会员分享,可在线阅读,更多相关《ARM微处理器实验指导书(选修).docx(36页珍藏版)》请在三一办公上搜索。

1、嵌入式微处理器结构与应用基于 ARM7TDMI 微处理器 S3C44B0X实验指导书选修班) 撰稿人:韩桂明 张锟 2018年3月信息科技学院 电子项目系实验目录实验一实验开发环境的创建和使用 1实验二 ARM 汇编程序实验 11实验三 GPIO 输出控制实验 14实验四 GPIO 输入控制实验 16实验五 PWM 信号实验 17实验六定时中断实验 19实验七键盘及 LED 驱动实验 24实验一 实验开发环境的创建和使用一、实验目的1. 熟悉 ADS1.2 开发环境,学习使用 ADS 编译、下载、调试并跟踪程序。2. 了解嵌入式开发的基本思想和过程。3. 了解 UP-NETARM3000 实验

2、箱,学会 ARM 仿真器的使用。4. 掌握 Windows 超级终端的设置,能够正确使用实验箱提供的 BIOS 功能二、实验内容1. 运行 Windows 系统下的超级终端,通过超级终端查看 BIOS 启动情况。2. 配置 ADS 集成开发环境,新建一个简单的项目文件,并编译这个项目文件。3. 学习 ARM 仿真器的使用和开发环境的设置。4. 下载已经编译好的文件到嵌入式控制器中运行,学会在程序中设置断点,观察系统内 存和变量,为调试应用程序打下基础。三、实验设备及工具1. 硬件: UP-NETARM3000 实验箱、 JTAG仿真器、 PC机。2. 软件:PC 机操作系统 WinXP 、AD

3、S1.2 集成开发环境、仿真器驱动程序、超级终端 通讯程序。四、实验步骤1. 超级终端设置及 BIOS 功能使用1)运行 Windows 系统下的超级终端 HyperTerminal)应用程序,新建一个通信终 端。如果要求输入区号、电话号码等信息请随意输入。出现如图1.1所示对话框时,为所建超级终端取名,如“ arm”;可以为其选一个图标,然后单击“确定”按钮。图 1.1 创建超级终端2)在接下来的对话框中选择 ARM 开发平台实际连接的 PC 机串口 如COM1 ), 按确定后出现如图 1.2所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位 8,无奇偶校验,停止位 1

4、,无数据流控制。按确定完成设置图 1.2 设置串行口3)完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前 设置保存为一个特定超级终端到桌面上,以备后用。用串口线将 PC 机串口和平台 UART0 正确连接后,就可以在超级终端上看到程序输出的信息。4)启动开发板,按住开发板上键盘的任意按键,使开发板进入 BIOS设置状态。如 图1.3所示。图 1.3系统的 BIOS 设置程序5)该画面上提示了该 BIOS 的版本等信息。 Shell Menu 是平台的检测菜单,每个 条目的最左边字母是该功能的快捷键,按 PC 机键盘相应键将执行对应功能。注意操作 时保持超级终端处于激活状态,

5、并且 PC 机键盘必须为小写。6)用户可以按超级终端的提示尝试部分测试功能,其中:l:测试LCD 的文本和图形显示。执行该命令后 LCD 上会打出文本提示,然后进入 图形模式并显示一幅彩色条形图案,然后在超级终端上看提示按任意键返回文本模 式,并退出 LCD 测试返回测试菜单。o:格式化开发平台的 16M FLASH ,其中的文件将丢失,需要重新拷贝。执行该 命令后超级终端上会出现确认提示,如果按“ y”键则会格式化 Flash,之后返回菜单。n :设置开发平台网卡的 IP 地址,子网掩码等,下有子菜单。执行该命令后出现 子菜单:p:设置 MAC 地址,执行该命令后按提示操作i:设置IP 地址

6、,执行该命令后按提示操作,请与所在局域网在同一网段 m:设置子网掩码,执行该命令后按提示操作 g:设置网关的 IP 地址,执行该命令后按提示操作s:保存所设地址,设置完 IP 地址等后必须执行该命令保存设置,否则设置无效 d:设置默认地址q:退出子菜单,返回到主菜单。u:激活开发平台的 USB 连接,开发平台的 Flash 可以作为 U 盘使用,从而可以方 便的将字库和应用程序等文件从 PC 机拷贝到平台的 FLASH 中。使用此功能时,必须 保证USB 电缆正确连接。e:测试由 ZLG7289 驱动的 LED 显示,共分 3 步,请看超级终端提示按任意键继 续,同时观察 LED 的变化,最后

7、返回主菜单。k:测试由 ZLG7289 控制的键盘扫描,执行该命令后按开发平台的键盘,看超级终 端的键名显示,而在超级终端上按 PC 键盘任意键则退出测试返回菜单。s:测试开发平台触摸屏,触摸屏有动作时在超级终端上会显示动作类型和坐标。 按PC键盘任意键后,再点一下触摸屏即可退出测试并返回主菜单。h:设置触摸屏的坐标基准点,也就是校屏功能。需要按提示点击触摸屏的3 个位置并保存结果。a:测试开发平台的 AD 电路,执行该命令后调节平台的 4个电位器,在超级终端上 显示AD0 AD3 的数值。按 PC 键盘任意键退出测试并返回。d:测试开发平台的 DA 电路,在超级终端显示电压值,需要用电压表测

8、量平台 DA 输出端子。按 PC 键盘任意键退出测试并返回。t:设置开发平台的 RTC 时间参数,该时间由开发平台上的钮扣电池保证持续计 时。请按提示确认修改时间并分别输入时间。设置完成合需要保存,否则设置参数无 效。i:测试平台的音频电路,执行该命令后可以听到一段从平台扬声器发出的音乐。 请适当调节音量电位器。m:测试平台的两个电机,需要打开电机附近的电机电源开关,按提示分别测试直 流电机和步进电机。c:测试平台的 CAN 控制器。执行该命令在超级终端显示 CAN 控制器 ID ,正常应 该显示 1234 或0000。b:引导FLASH 中的应用程序 system.bin。执行该功能将退出

9、BIOS 状态,把控制交 给应用程序。7)按PC 键盘的u 键要使超级终端处于活动状态),这时超级终端上会显示如图 1.4所示的信息。图 1.4 进入 U 盘状态这时,在“我的电脑”中可以发现多了一个“可移动磁盘”,这就是开发板的海 量存储器 16M 非线性 Flash。开发平台的 Flash 芯片就像一个 U 盘,可以通过“我的电 脑”进行操作。可以把编译后生成的 system.bin 文件通过 USB 下载到嵌入式开发板中, 复位系统,运行并检查输出结果。system.bin 文件是系统通过 BIOS 引导以后,装入内存中运行的默认文件名。2. 配置 ADS 集成开发环境1运行ADS1.2

10、 集成开发环境 CodeWarrior for ARM Developer Suite)。选择“ FileNew”菜单,在对话框中选择 Project,如图 1.5所示,新建一个项目 文件。图中示例的项目名为 Exp6.mcp。图 1.5 新建项目点“ set”按钮可为该项目选择路径如图 1.6所示,选中 CreatFolder 选项后将以图1.5中的ProjectName为名创建目录,这样可以将所有与该项目相关的文件放到该项目目 录下,便于管理项目。图 1.6 保存项目在图1.5中项目模板列表中我们选择 ARM Executable Image 通用模板。我们随后将 一步一步的把它配置成针对

11、我们 ARM3000 开发板的模板 44B0 ARM Executable Imaage,并把它拷贝到 ADS1.2 安装目录下的 Stationery 目录中 所有的项目模板都在此 目录下)。以后我们新建项目时,在项目模板列表中直接选中 44B0 ARM Executable Imaage 模板选项,就不必每次重新配置模板了。2)在新建的项目中,如图 1.7所示,选择 Debug 版本,使用 Edit | Debug Settings菜 单对Debug 版本进行参数设置。图 1.7 选择版本在 Debug Settings 对话框中选择 Target Settings项 ,如图 1.8 所示

12、。在 Post-linker 栏中选择 ARM fromELF ,点击右下角的 Apply 使其有效。图 1.8 Target Settings在Debug Settings 对话框中选择 ARM Linker 项,如图 1.9。在Output 下的Linktype中 有三种类型的连接方式,我们常用的是 Simple 和Scattered 两种。如果程序需要用到标 准C 库函数的话需要按 Scattered 进行连接地址的设置。如果用不到标准C 库函数的话,请选择 Simple 选项。下面以 Simple方式设置为例:在 ARM Linker 项的 Output 选项卡中,我们选择 Simpl

13、e 选项,如图 1.9所示。在 Simple image 框中设置连接的 Read-Only 只 读)和 Read-Write函数的内容:int main(voidARMTargetInit( 。 /开发版初始化LCD_Init( 。LCD_ChangeMode(DspTxtMode。 /转换 LCD 显示模式为文本显示模式LCD_Cls( 。 /文本模式下清屏命令LCD_printf(Hello world!n 。 /向液晶屏输出Uart_Printf(nHello world!n 。 / 向串口输出while(1 。读者可以查看其他源文件的内容以对系统运行有所了解。可以发现 ADS 的文本

14、编 辑器可以按语法分颜色显示,读者可以根据喜好在 Edit 菜单下的 Preferences 窗口中进 行设置。4. 进行程序的在线仿真、调试1 回到项目窗口选中 Debug 版本,执行菜单 Project | Make 对项目进行编译连接。 在出现的错误 / 警告窗口中选择某错误 /警告信息, ADS 会自动打开相应源文件并用箭 头指向出错的文本行。如果某个源文件被修改,重新编译时 ADS 会自动同步各文件的 日期信息。2 在ADS 中执行菜单 Project | Debug 启动ADS1.2 的调试工具 AXD 。3 在 AXD 中执行菜单 Options | Configure Targ

15、et 对 AXD 进行设置。如图 1.15所示。选择 ADP 即远程调试,点 Configure 按钮进一步设置具体参数,如图 1.16所示图 1.15 设置 AXD 参数4)在图 1.16中点Select 按钮选择远程连接为 ARM ethernet driver,点Configure按钮 输入仿真器的 IP 地址。如果用户使用的是并行口仿真器,请输入 127.0.0.1 即可。图 1.16 设置远程连接5)等待程序装载完毕以后,通过 Execute | Go 菜单以及 Execute | Stop或者工具栏 中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。6)通过

16、Execute | Step 菜单 或者工具栏中的相应按钮)可以单步运行程序。也可 以使用 Step In、Step Out 菜单命令进入或者跳出函数的调用。 Run To Cursor 命令运行到 光标位置。7)程序停止后可以通过 Processor Views | Sources 菜单查看源文件,并可在适当位 置按F9 设置端点。8)使用在 Processor View 菜单下的 Registers、Variables 和Memory 命令可以查看工 作寄存器或者内存变量。读者可以逐一地尝试,为以后调试程序打下基础。在进行调试时在 ADS 中必须选择当前项目的 Debug 版本,如果选择

17、Release 版本则无法正常调 试程序。实验二 ARM 汇编程序实验一、实验目的1. 掌握ARM汇编指令的含义和使用方法。2. 了解ARM指令灵活的第二操作数。3. 学习简单汇编程序的编写。二、实验内容1. 使用 ARM 的数据传送指令,能够访问寄存器和存储器。2. 使用相关指令完成数据加 /减运算及逻辑运算。三、实验设备及工具1. 硬件: UP-NETARM3000 实验箱、 JTAG仿真器、 PC机。2. 软件:PC 机操作系统 WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超级 终端通讯程序。四、实验原理实验参考程序:五、实验步骤1. 启动 ADS1.2,建立一个项目文件。然

18、后建立汇编源文件,添加到项目中,编写 实验程序。2. 编写好实验程序后,编译连接项目,选择 ProjectDebug,启动AXD 进行软件仿 真调试。或者点击 Debug图标。3. 调试并观察程序执行过程1) AXD 调试模式,选择 Options-Configure Target,如图:2)选择软件仿真,点击 ARMUL ,并点击 OK3)点击 Load Image,装载我们的 .axf文件4)打开寄存器窗口 Processor Register)s ,选择 Current项监视各寄存器的值。 说明:使用鼠标左键选择一个寄存器,然后右击,在Format项中选择显示格式Hex、 Decimal

19、等,如图所示。单步运行程序,观察寄存器值的变化。 说明:有变化的寄存器会以红色显示,如图4. 编写、调试、观察以下程序通过课本 P61页【例 3.5】【例 3.6】,掌握无符号数和有符号数的相关运算六、思考题1. 指令“ MOV R0,#0x12345678”是否正确?为什么?2. 将 参 考 程 序 中 应 用 CMP 指 令 的代 码 , 功 能 改 为 “若 (2*X, 则 R5=R5|0x000000FF否, 则 R5=R5&0XFFFF0000”,程序应如何修改?3. 更改参考程序 X的值为 200,Y的值为 163,单步运行程序,每执行一步程序的结 果是多少?实验三 GPIO 输出

20、控制实验一、实验目的1. 熟悉 S3C44B0 ARM 芯片的 GPIO输入输出配置方法。2. 通过实验掌握 ARM 芯片 I/O 控制 LED 显示的方法。3. 进一步熟悉 ARM 汇编语言程序设计步骤。二、实验内容1. 熟悉 ARM 芯片 I/O 口的编程配置方法。2. 熟悉 S3C44B0 芯片 I/O 口配置寄存器。3. 通过编程实现 GPIO 的 E 口输入, A 口输出来控制实验平台上的 LED三、实验设备及工具1. 硬件: UP-NETARM3000 实验箱、 JTAG 仿真器、 PC 机。2. 软件: PC 机操作系统 WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超

21、级 终端通讯程序。四、实验原理S3C44B0芯片上共有 71 个多功能 I/O 引脚,它们分为 7 组 I/O 端口:2个9位I/O端口端口 E和F)。 2个8位I/O端口端口 D和G)。1 个 16位 I/O 端口 端口 C)。1 个 10位 I/O 端口 端口 A)。1 个 11位 I/O 端口 端口 B)。 每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要 1)流程示意图开始E 端口输出初始化E 端口数据寄存器赋值延时结束2 部分参考程序3 电路原理图五、实验步骤GPE6GPE71. 启动 AD S13.2C,44建B立0一芯个片项目文件然后建立汇编源文件,添加到项目中,编写V

22、CC3.3实验程序2. 编写程序,实现用 E口输出控制 LED 灯亮、灭的汇编程序3. 单步运行程序,查看工作寄存器;并观察 LED 灯的亮、灭情况六、思考题1. 用 C语言如何实现上述程序的编写实验四 GPIO 输入控制实验一、实验目的1. 熟悉 S3C44B0 ARM 芯片的 GPIO输入输出配置方法。2. 通过实验掌握 ARM 芯片 I/O 控制 LED 显示的方法。3. 进一步熟悉 ARM 汇编语言程序设计步骤。二、实验内容1. 熟悉 ARM 芯片 I/O 口的编程配置方法。2. 熟悉 S3C44B0 芯片 I/O 口配置寄存器。3. 通过编程实现 GPIO 的 E口输入, A 口输出

23、来控制实验平台上的 LED。三、实验设备及工具1. 硬件: UP-NETARM3000 实验箱、 JTAG 仿真器、 PC 机。2. 软件:PC 机操作系统 WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超级 终端通讯程序。四、实验原理S3C44B0芯片上共有 71个多功能 I/O 引脚,它们分为 7组 I/O 端口: 2个 9位 I/O 端口端口 E和 F)。2个 8位 I/O 端口端口 D 和 G)。1 个 16位 I/O 端口 端口 C)。1 个 10位 I/O 端口 端口 A)。1 个 11位 I/O 端口 端口 B)。 每组端口都可以通过软件配置寄存器来满足不同系统和设计的

24、需要。1)流程图2 部分参考程序3 电路原理图GPA2GPA3S3C44B0芯片 五、实验步骤 芯片DS1.2,建立一个项目G文PE件7 。输入然后建立汇编源文件,添加到项目中,编写VCC3.31. 启动 A 实验程序。2. 编写实现 E 口输入的汇编程序,使用 JTAG进行仿真调试。3. 编写程序,实现用 A 口输出控制 LED 灯亮、灭的汇编程序。4. 编写程序,通过 E口输入来控制 A 口的 LED灯亮、灭, A 口、 E口的配置采用 调用子程序的方式。5. 单步运行程序,查看工作寄存器;并观察 LED 灯的亮、灭情况。六、思考题1. 用 C 语言如何实现上述程序的编写。实验五 PWM

25、信号实验一、实验目的1. 了解 PWM 信号的特点。2. 掌握 S3C44B0X产生 PWM 信号的方法。3. 练习如何优化代码。二、实验内容1. 定时器工作方式设置。2. 配置 GPIO为 PWM 信号输出引脚。三、实验设备及工具1. 硬件: UP-NETARM3000 实验箱、 JTAG 仿真器、 PC 机。2. 软件:PC 机操作系统 WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超级 终端通讯程序。四、实验原理1. 实验电路示意图如下:S3C44B0芯片R1Led1PWM 信号输出2. 实验主程序框图如下:3. 实验参考程序:PCONEEQU0X01D20028PDATEEQ

26、U0X01D2002CPUPEEQU0X01D20030TCFG0EQU0X01D50000TCFG1EQU0X01D50004TCONEQU0X01D50008TCNTB3EQU 0X01D50030TCMPB3EQU0X01D50034TCNTO3EQU 0X01D50014CMD1EQU0X00A0000CMD2EQU0X0090000AREAtime,CODE,READONLYENTRY。程序入口CODE32。指定为 32 位的STARTLDRR1,=PCONELDR R0,=0X02000STRR0,R1LDRR1,=PUPE 。不配置LDRR0,=0X1FFARM 程序代码E口的上

27、拉电阻STR R0,R1LDR R1,=TCFG0LDR R2,=0X0000FF00STR R2,R1LDR R1,=TCFG1LDR R2,=0X02000STR R2,R1LDR R1,=TCNTB3LDR R2,=0XFFFFFFFFSTR R2,R1LDR R2,=0X88888888STR R2,R1LDR R1,=TCONLDR R2,=CMD1STR R2,R1LDR R1,=TCONLDR R2,=CMD2WAITSTR R2,R1B WAITEND五、实验步骤1. 启动 ADS1.2,建立一个项目文件。然后建立汇编源文件,添加到项目中,编写 实验程序。2. 编写程序实现 P

28、WM 输出控制 LED 灯亮度,使用 JTAG进行仿真调试。3. 单步运行程序,查看工作寄存器;并观察 LED 灯的情况。4. 修改、完善源程序,实现程序的模块化。六、思考题1. 在进行汇编模块化编程的时候如何建立堆栈,实现对现场的保护。2. 用 C语言如何实现上述程序的编写。实验六定时中断实验一、实验目的1. 了解 S3C44B0X处理器的定时器应用方法。2. 掌握 S3C44B0X处理器上中断的程序编写。3. 进一步熟悉平台硬件及其驱动程序的编写。二、实验内容1.设置并启动定时器。2.设置中断,编写定时器中断服务程序,对中断次数进行计数并用 LED 显示结 果。三、实验设备及工具1. 硬件

29、: UP-NETARM3000 实验箱、 JTAG 仿真器、 PC 机。2. 软件:PC 机操作系统 WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超级 终端通讯程序。四、实验原理1. 定时器原理S3C44B0X 具有6个16bit 定时器,每个定时器可以基于中断模式或 DMA 模式运 行。定时器 0、1、2、3 具有PWM 功能,定时器 0 还具有死区发生器可用于大电流设 备。定时器0 和1,2 和3,4 和5 分别共享3个8bit 预比例因子寄存器。每个定时器都各 有一个4 或5 级的分频器,用 TCFG0 和TCFG1 可以设置这些比例因子或分频系数。计数值缓存寄存器 TCNT

30、Bn 的值在定时器启动后装载到减法计数器中。比较缓存寄存器TCMPBn 的值将装载到比较寄存器中以和计数器中的值进行比较。 TCNTBn 和TCMPBn 的这种双缓存技术使得当频率和占空比改变时定时器能有一个稳定的输出。 即使设置了一个新的计数值,当前定时器操作继续完成。当减法计数器到达 0 时将产生定时器中断请求,通知 CPU 定时器操作已经完成。 此时,如果自动重装控制位使能, TCNTBn 的值会自动装载到计数器并开始下一操作 周期。当通过清除定时器使能位等方法使定时器停止后,计数值将不会自动重装。TCMPBn 的值用于PWM 或产生波形。当减法计数器的值和比较寄存器的值匹配 时,定时器

31、控制逻辑将改变输出电平。这样可以控制定时器输出的波形占空比。下图是定时器 2 和3 的结构图,其中没有死区发生器。启动定时器的步骤如下:1)将初始值写入 TCNTBn 和TCMPBn 。2)将该定时器的人工刷新位 。3)将该定时器的启动位置 1,启动定时器,同时清除人工刷新位。 定时器时钟频率和比例因子、分频系数以及系统主频的关系如下:Timer input clock Frequency = MCLK / prescaler value + 1 / divider valueprescaler value = 0-255divider value = 2, 4, 8, 16, 322. 中断

32、控制器S3C44B0X的中断控制器接受来自于 30 个中断源的请求。这些中断源包括 DMA 控 制器, UART和SIO 等等。其中外部中断 EINT4/5/6/7是相或的。中断控制器的任务是经 过仲裁过程 (_ISR_STARTADDRESS+0x18其中的宏 _ISR_STARTADDRESS 的定义在 option.h文件中:#define _ISR_STARTADDRESS 0xc7fff00这就意味着 HandleIRQ 和 pISR_IRQ 有着特殊的关系,前者是地址,后者是这个 地址上的内容,也就是说 pISR_IRQ 就可认为是中断服务程序的地址了。在 UHAL.C 中有这个函数 void uHALr_InterruptRequestInit( 用来初始化中断。其 中有: pISR_IRQ= (unsigned IRQ_Handler。而 IRQ_Handler 又回到了 0Bank 的 ROM 中,在 44BINIT.S 中有:IRQ_HandlerIMPORT ISR_IrqHandlerSTMFD sp!, r0-r12, lrBL ISR_IrqHandlerLDMFD sp!, r0-r12, lrSUBS pc, lr, #4EXPORT IRQ_Ha

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号