5 实验五 GNU-ARM裸奔程序设计实验.doc

5 实验五 GNU-ARM裸奔程序设计实验.doc

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

实验五 GNU-ARM裸奔程序设计 【实验目的】 1 了解在linux下编写ARM裸奔程序的步骤 2 掌握GNU下arm汇编程序设计的方法 3 了解链接脚本的作用 4 了解arm-linux-objdump, arm-linux-objcopy等工具的使用方法 【实验内容】 1 编写汇编程序led.s--闪烁开发板上的LED灯 2 编写链接脚本 3 编写一个包含多文件的Makefile。 4 烧写到开发板中,运行查看情况 【实验步骤】 1 LED灯的裸奔程序 新建一个项目目录: $ mkdir led $ cd led (2)编写汇编程序文件 ed.s 内容如下: .text .global _start _start: b reset b . b . b . b . b . b . b . reset: @close dog ldr r0,=0 mov r1,#0 str r1,[r0] @ldr sp,=(04096) .extern _delay ldr r0,=0x2fff bl _delay @set gpf4,5,6,7 output ldr r0,=0 ldr r1,=0x5500 str r1,[r0] @set up off ldr r0,=0 ldr r1,=0xf0; loop: ldr r0,=0 ldr r1,=0x0 str r1,[r0] ldr r0,=0x2ffff bl _delay ldr r0,=0 ldr r1,=0xff str r1,[r0] ldr r0,=0x2ffff bl _delay b loop b . .end 编写另一汇编文件: gedit delay.s .global _delay .text _delay: sub r0,r0,#1 cmp r0,#0x0 bne _delay mov pc,lr .end 编写连接脚本 OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { . = 0 .text :{ led.o(.text) *(.text) } .data :{ *(.data) } .bss :{ *(.bss) } } ()编写Makefile led.bin:delay.o led.o led.lds arm-linux-ld -Tled.lds delay.o led.o -o led.elf arm-linux-objcopy -O binary led.elf led.bin delay.o:delay.s arm-linux-gcc -c delay.s -o delay.o led.o:led.s arm-linux-gcc -c led.s -o led.o ()编译,得到led.bin 烧写到开发板中,查看LED灯

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档