[国嵌笔记][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.添加初始化脚本 调试器对处理器进行初始化