160 likes | 472 Views
实验二 ARM 汇编控制 LED 实验. 一、实验目的 1 、理解掌握通过 ARM 汇编控制硬件操作; 2 、熟练使用 ARM 调试软件 RVDS 进行硬件调试。 二、实验内容 1 、掌握 ARM 处理器 GPIO 相关寄存器的使用; 2 、用 ARM 汇编实现控制开发 LED 按照一定方式点亮。 三、预备知识 1 、 ARM 汇编基础 2 、 ARM 处理器通用 IO 口的操作. 1. 四、实验设备与工具 硬件 : ARM 嵌入式开发板, PC 机 Pentium100 以上,并口线, JTAG 板, JTAG 连接线
E N D
实验二 ARM汇编控制LED实验 一、实验目的 1、理解掌握通过ARM汇编控制硬件操作; 2、熟练使用ARM调试软件RVDS进行硬件调试。 二、实验内容 1、掌握ARM处理器GPIO相关寄存器的使用; 2、用ARM汇编实现控制开发LED按照一定方式点亮。 三、预备知识 1、ARM汇编基础 2、ARM处理器通用IO口的操作 1
四、实验设备与工具 • 硬件:ARM嵌入式开发板,PC 机Pentium100 以上,并口线,JTAG板,JTAG连接线 • 软件:Windows操作系统,RVDS软件
五、实验原理及说明 • 1、 S3C2440处理器相关寄存器介绍 • PORT G 控制寄存器( GPGCON ) • PORT G数据寄存器(GPGDAT) • PORT G禁止上拉寄存器(GPGUP) • 注:以上寄存器详细描述见实验指导书或者S3C2440芯片手册。 • 2、开发板LED部分原理图说明 • GPG5接LED4,串联上拉电阻 • GPG6接LED5,串联上拉电阻 • GPG7接LED6,串联上拉电阻 • GPG8接LED7,串联上拉电阻 • 所以,当IO口输出低电平时,相应的LED才能点亮。 3
六、实验步骤 (一)LED汇编实验 1、通过查看S3C2440处理器G口控制寄存器,在 ledtest.s文件中添加汇编代码,设置GPG5-GPG8为output。 2、在ledtest.s文件中添加汇编代码,禁止GPG5-GPG8端口的上拉电阻。 3、在ledtest.s文件中添加汇编代码,点亮LED6,熄灭LED5,LED7,LED8,并调用延时。 4、在ledtest.s文件中添加汇编代码,点亮LED7,熄灭LED5,LED6,LED8,并调用延时。 5、在ledtest.s文件中添加汇编代码,点亮LED8,熄灭LED5,LED6,LED7,并调用延时。 6、在ledtest.s文件中添加汇编代码,实现LED5-LED8依次点亮。 7.连接好JTAG仿真板,一口与PC的并口相连,另一口与开发板的JTAG口相连,打开开发板电源。打开H-jtag程序,检测CPU,点击RVDS中的“Debug”,打开RVD进行硬件调试 (二)LED C语言实验(选做) 4
七、思考题 • 1 、如何实现 LED0-LED7 的循环点亮。 • 2 、一般情况下,配置通用 IO 口的需要哪些步骤。 • 3 、 ledtest.s 文件的汇编程序中代码 ldr r0,=0x f fffff 的作用是什么。
实验三 ARM汇编实现串口通信实验 一、实验目的 1.掌握ARM 的串行口工作原理。2.学习编程实现ARM和PC机的UART通信。3.掌握ARM裸机下汇编语言编程方法。 二. 实验内容 1.学习串行通信原理,了解串行通信控制寄存器。 2.编程实现ARM 和计算机之间的串行通信。
三.实验设备与工具 • 硬件:ARM嵌入式开发平台,PC 机一台,并口线,串口线,JTAG板 • 软件:RVDS,H-JTAG 7 7
四、实验原理 1.异步串行I/O 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线(输入,输出)即可进行。 8 8
2. S3C2440处理器相关寄存器介绍 (1)UART行控制寄存器 9
五、 实验步骤 (一)串口汇编实验 • 1. 打开CodeWarrior for RVDS,建立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输,需添加的代码参考流程图如下:
2. 设置工程配置选项,Language Setting->Realview Assembler和Realview Compiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->Realview Linker中的RO Base为0x30000000 • 3. 编译和调试工程。 • 4. 连接PC和实验板的并口,串口;并口连接至ARM的JTAG口,串口连接至COM PORT口;打开电源;打开H-JTAG程序(。 • 5. 点击调试器Dubeg->Run,运行程序,打开超级终端,在开始->程序->附件->通讯里打开超级终端,使用COM1,设置波特率115200,8位数据位,无奇偶校验,1位停止位,无数据流控制。 • 6. 从键盘输入数据,观察超级终端是否打印出字符。如有正确的字符打印,则通信成功。 (二)串口C语言实验(选做)
六、思考题 • 1. 查看相关寄存器,思考怎么配置UART时钟信号和UART配置寄存器? • 2. 修改串口传输函数,使其在超级终端中输入“Enter”回车键后,输出“回车”加“换行”。(“回车”和“换行”对应的ASCⅡ码分别为0x0d和0x0a).
下次实验 实验四 基于ARM的嵌入式Linux开发环境建立