arm原理与c程序设计 第五章.ppt

  1. 1、本文档共209页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
arm原理与c程序设计 第五章

第五章 汇编语言程序设计及 系统初分别化 5.1 ARM汇编语言程序框架   在MDK环境下,新建一个工程ex5_1,拷贝工程ex4_3中的文件S3C2410A.s和initmemcon.s,然后,编写一个新的汇编语言程序ledflash.s,其代码如下:   1 AREA LEDLIGHT, CODE, READONLY   2 EXPORT __main ; LedFlash   3 EXPORT __use_two_region_memory   4 GPCDAT_ADDR EQU 0  5 LED_ON EQU 0x0000   6 LED_OFF EQU 0x00E0   7 ENTRY   8 ; LedFlash   9 __main   10 LDR R0, =GPCDAT_ADDR   11 MOV R1, #LED_ON   12 STR R1, [R0] ; LED ON   13   14 BL Delay   15   16 MOV R1, #LED_OFF   17 STR R1, [R0] ; LED OFF   18   19 BL Delay   20   21 B __main   22 Delay   23 MOV R3, #0x0F0000   24 MOV R4, #0x0F0000   25 subcycle1   26 SUB R3, R3, #1   27 subcycle2   28   SUB R4, R4, #1   29 CMP R4, #0   30 BGE subcycle2   31   32 CMP R3, #0   33 BGE subcycle1   34 BX LR   35   36 __use_two_region_memory ; no warning   37 END   将ledflash.s添加到工程ex5_1中,当前工作主窗口如图5-1所示。先不要编译连接这个工程文件,在5.1.2小节时才能正确地编译连接并执行该工程。 图5-1 工程ex5_1工作界面 5.1.1 通用输入输出C口配置   在图5-1中,双击S3C2410A.s打开它,保持其他设置不变(相对于工程ex4_3)的情况下,对I/O Configuration进行配置,如图5-2所示。   图5-2中将PC5、PC6和PC7配置为输出特性(Output),对应于S3C2410A.s的第0606~0608行代码如下:   PIOC_SETUP EQU 1   PCONC_Val EQU 0xAAAA56AA   PUPC_Val EQU 0图5-2 通用I/O口配置   PIOC_SETUP为1表示图5-2中的Port C被勾选;当设置PC0~PC15如图5-2时,端口C的控制寄存器的值为0xAAAA56AA;端口C所有上拉电阻都是使能的,端口C上拉控制寄存器的值为0   图5-2中的I/O Configuration勾选,对应于S3C2410A.s中的第0510行代码如下:   PIO_SETUP EQU 1   如图5-2设置好之后,下面罗列出启动代码文件S3C2410A.s中与通用I/O口配置相关的代码,如表5-1所示。   S3C2410A.s中的第0981~1038行原始代码如下:    IF   PIO_SETUP 0    LDR R14, =PIO_BASE    IF PIOA_SETUP 0    ADR R0, PIOA_CFG   STR R0, [R14, #PCONA_OFS]   ENDI

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档