[国嵌笔记][024][ARM汇编编程概述]

汇编程序用途

1.在bootloader与内核初始化时,还没有建立C语言运行环境,需要用到汇编程序

2.在对访问效率要求很高的情况下,需要用到汇编程序

ARM汇编分类

1.ARM标准汇编:适合于Windows在平台下使用

2.GUN汇编:适合于Linux在平台下使用

汇编程序框架

完整版:

.section .data   数据段
	<初始化数据>
.section bss   bss段
	<未初始化数据>
.section .text   代码段
.global _start   通过global申明给全局标号,方便被外部引用
_start:   程序入口
	<汇编代码>

简化版:

.text
.global _start
_start:
	<汇编代码>

建立汇编环境

1.创建汇编文件

   vim start.S

2.编写代码

.text
.global _start
_start:
        mov r1,#1
        mov r2,#2
        mov r3,#3

3.编写Makefile

  vim Makefile

all:start.o
		arm-linux-ld -Ttext 0x30000000 $^ -o start.elf   “-Ttext”表示不指定链接器脚本时,直接指定链接地址。”0x30000000”表示2440内存的起始地址。引用要生成elf文件直接下载到内存中调试
%.o:%.S
		arm-linux-gcc -g -c $^ -o $@
clean:
		rm *.o *.elf

4.连接开发板

  JLinkGDBServer   启动后的窗口不要关掉

5.启动eclipse

  1.创建工程

    file->new->Makefile Project...

  2.编译工程 

    project->build all

  3.配置调试

    1.debug->debug configurations...

    2.添加调试文件   添加elf文件

    3.添加调试工具   arm-linux-gdb,同时去掉stop on main选项

    4.添加初始化脚本   调试器对处理器进行初始化

原文地址:https://www.cnblogs.com/d442130165/p/4892050.html