s3c2440学习之路-001 汇编点亮led_第1页
s3c2440学习之路-001 汇编点亮led_第2页
s3c2440学习之路-001 汇编点亮led_第3页
s3c2440学习之路-001 汇编点亮led_第4页
s3c2440学习之路-001 汇编点亮led_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页s3c2440学习之路-001汇编点亮led1.原理分析2.主要流程3.源码4.dis文件分析

硬件平台:jz2440软件平台:Ubuntu16.04arm-linux-gcc-3.4.5

1.原理分析点亮LED最简单的方法就是给二极管正负极接上电,中间串一个电阻图1点亮LED

由于2440芯片Pin脚的驱动能力不够,所以无法直接用Pin脚来点亮LED,只能把Pin脚连接到LED的负极,充当开关的作用。当Pin脚为高电平时,LED两端无电压差,LED灭当Pin脚为低电平时,LED两端有电压差,LED亮图22440连接LED

2.主要流程2.1原理图介绍这里只介绍LED1,LED1负极与2440的GPF4相连,中间串联1K电阻,LED1正极接3.3V,图3LED1对应的Pin脚图4LED1的接法

2.2主要寄存器主要使用到的寄存器只有2个GPFCON,控制寄存器,地址为0x56000050GPFDAT,数据寄存器,地址为0x56000054图5主要寄存器

2.3软件流程主要流程很简单:1)将GPF4配置成输出模式2)将GPF4输出低电平,即可点亮LED1

3源码3.1汇编源码,文件名为led_on.s.text

.global_start_start:

/*1,setoutputmode*GPFCON[9:8]01*0x56000050*/ldrr1,=0x56000050ldrr0,=0x100strr0,[r1]

/*2,setvalueto0*GPFDAT[4]0*0x56000054*/ldrr1,=0x56000054ldrr0,=0strr0,[r1]

loop:bloop

3.2Makefileall:arm-linux-gcc-c-oled_on.oled_on.sarm-linux-ld-Ttext0led_on.o-oled_on.elfarm-linux-objcopy-Obinary-Sled_on.elfled_on.binclean:rm*.elf*.o*.bin-rf

4dis文件分析执行Makefile后,会生产led_on.elf文件。再通过arm-linux-objdump-Dled_on.elf>led_on.dis生成dis文件

产生的dis文件内容如下

led_on.elf:fileformatelf32-littlearm

Disassemblyofsection.text:

00000000:0:e59f1014ldrr1,[pc,#20];1c4:e3a00c01movr0,#256;0x1008:e5810000strr0,[r1]c:e59f100cldrr1,[pc,#12];2010:e3a00000movr0,#0;0x014:e5810000strr0,[r1]

00000018:18:eafffffeb181c:56000050undefined20:56000054undefined

因为ARM是流水线处理,分三步:取指,译码,执行。当执行到某条命令时,PC的数值已经跳到了当前命令地址+8的位置。下面是对dis文件的分析

分析反汇编代码led_on.elf:fileformatelf32-littlearm

Disassemblyofsection.text:地址机器码汇编指令00000000:这里是pc+20的值,pc=当前地址+8=0+8[pc,#20]=[0+8+20]=28=0x1c0x1c地址的数值是56000050r1=560000500:e59f1014ldrr1,[pc,#20];1cr0=0x1004:e3a00c01movr0,#256;0x10056000050地址的值=0x1008:e5810000strr0,[r1][pc,#12]=[0xc+8+12]=32=0x200x20地址的数值是56000054r1=56000054c:e59f100cldrr1,[pc,#12];20r0=010:e3a00000movr0,#0;0x056000064地址的值=014:e5810000strr0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论