s3c2410基础实验教程.pdf

s3c2410基础实验教程.pdf

ID:52924122

大小:2.93 MB

页数:119页

时间:2020-04-01

s3c2410基础实验教程.pdf_第1页
s3c2410基础实验教程.pdf_第2页
s3c2410基础实验教程.pdf_第3页
s3c2410基础实验教程.pdf_第4页
s3c2410基础实验教程.pdf_第5页
资源描述:

《s3c2410基础实验教程.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验1ARM汇编指令实验1、实验目的:ò熟悉ADS开发环境和wiggler调试环境。ò掌握简单的ARM汇编指令的使用方法。2、实验设备òPC机、JTAG调试板、S3C2410开发板。3、实验内容ò熟悉ARM开发环境的建立。ò使用ARM汇编指令设置GPIO口的相应寄存器,控制LED灯的亮灭。4、实验原理下面介绍本实验用到的一些汇编指令。1).LDR/STR指令说明:LDR/STR指令用于加载/存储寄存器。举例说明:示例:LDRr3,[r0],#4//从r0表示的地址中读取数据分别存放到r3中,然后将r0加4。STRr3,[r1],#4//将r3中的数据保存到r1表示的地址中,然后将r1加4

2、。LDMIA/STMIA指令说明:LDM/STM指令用于加载/存储多个寄存器,举例示例:LDMIAr0!,{r4---r11}//从r0表示的地址中顺利取出8个字数据分别存放到r4-r11中。2).程序分支指令B指令说明:B指令为ARM的分支指令,将引起处理器转移到制定标号处执行。示例:BLabel//处理器转移到Label标号处执行BEQstop//Z标记置位,则跳转到stop标号处执行;否则继续下一条指令BNEoctcopy//Z标记清0,则跳转到octcopy标号处执行;否则继续下一条指令3).其他指令SUBS说明:该指令有SUB指令加上S后缀组成,S后缀标志根据执行结果更新条件标

3、志码。示例:SUBSr3,r3,#1//如果r3等于0,则Z位清0MOVS指令说明:该指令由MOV指令加上后缀S组成,S后缀标志根据执行结果更新条件标志码。1示例:MOVSr3,r2,LSB#3//将r2右移3位即除以8,然后赋值给r3。5、实验相应寄存器说明GPFCON-端口配置寄存器。GPFDAT-端口数据寄存器GPFUP-端口上拉电阻使能寄存器6、实验电路图27.实验程序实现利用ARM汇编语言实现跑马灯程序/*asm.s*/GPFCONEQU0x56000050GPFDATEQU0x56000054GPFUPEQU0x56000058EXPORTLEDTESTAREALEDTEST

4、ASM,CODE,READONLY;该伪指令定义了一个代码段,段名为LEDTESTASM,属性只读LEDTEST;设置GPF4-GPF7为outputldrr0,=GPFCONldrr1,=0x5500strr1,[r0];禁止GPF4-GPF7端口的上拉电阻ldrr0,=GPFUPldrr1,=0xff00strr1,[r0];将数据端口F的数据寄存器的地址赋值给寄存器r2ldrr2,=GPFDAT;跑马灯循环ledloop1ldrr1,=0xf0strr1,[r2];使GPF7输出高电平,D9-D12灯会灭bldelay1;调用延迟子程序ledloop2ldrr1,=0x0strr1

5、,[r2];使GPE7输出低电平 D9-D12灯亮3bldelay2;调用延迟;延迟程序delay1ldrr3,=0x1ffff;设置延迟的时间delay3subr3,r3,#1;r3=r3-1cmpr3,#0x0;将r3的值与0相比较bnedelay3;比较的结果不为0(r3不为0),继续调用delay1,否则执行下一条语句bledloop2movpc,lr;返回;延迟程序delay2ldrr3,=0x2ffff;设置延迟的时间delay4subr3,r3,#1;r3=r3-1cmpr3,#0x0;将r3的值与0相比较bnedelay4;比较的结果不为0(r3不为0),继续调用dela

6、y1,否则执行下一条语句bledloop1movpc,lr;返回END;程序结束符4实验2C和汇编语言的混合编程实验1、实验目的ò学习在C程序中使用嵌入式汇编编写程序ò了解嵌入式汇编的格式、语言特点2、实验设备òS3C2410开发板òADS1.2集成开发环境,JTAG调试器ò串口连接线3、实验原理在ARM的应用开发中,C语言功能强大且容易编写程序,但是汇编程序在底层的操作仍然具有C程序无法替代的功能,有时候我们需要在C程序中嵌入汇编程序来完成一些直接对底层的诸如寄存器的操作。在ARMC语言中,使用关键词__asm来标志一段汇编指令程序:其格式如下,__asm{汇编程序}嵌入式汇编语言不同

7、的地方有:ò如果一行中有多个汇编指令,指令之间用分号(;)隔离ò如果一天指令占多行,要使用续行符号()ò在汇编指令段中可以使用C语言的注释语句4、实验电路图5、程序实现5.1创建GPFC.c源文件,应用C语言实现嵌入式编程/*这是一个利用GPIO做跑马灯的程序*/1/*GPIO1到GPIO4分别对应2410的GPF4到GPF7*/#include"2410lib.h"#defineGPFCON(*(volatileunsigned

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。