baron · 11月29日

aarch64 汇编开发和学习环境有哪些

目录

  • GNU GCC + QEMU + GDB
  • ARM 汇编在线仿真器
  • C 语言/汇编在线转换工具
  • 在线指令速查网站
  • cemu 汇编模拟器

GNU GCC + QEMU + GDB

安装 ARM 交叉编译器:

sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu  

安装 QEMU 环境:

sudo apt install qemu qemu-user qemu-user-static  

安装 gdb 环境

sudo apt install gdb-multiarch 

image.png

编写汇编代码:hello_world.s

.section .data
msg:    .asciz "Hello, AArch64!\n"

.section .text
.global _start

_start:
    // Write the string to stdout
    mov     x0, 1              // File descriptor (stdout)
    ldr     x1, =msg           // Load the address of the string
    mov     x2, 16             // Length of the string
    mov     x8, 64             // syscall: write
    svc     0                  // Make syscall

    // Exit the program
    mov     x8, 93             // syscall: exit
    mov     x0, 0              // Exit status
    svc     0                  // Make syscall

编写 Makefile 文件

hello_world:hello_world.o
        aarch64-linux-gnu-ld -o hello_world hello_world.o

hello_world.o:hello_world.s
        aarch64-linux-gnu-as -o hello_world.o hello_world.s

clean:
        rm hello_world.o

执行 hello_world 程序

Image

hello_world 代码的程序解释

Image

ARM 汇编在线仿真器

http://163.238.35.161/~zhangs/arm64simulator/

Image

C 语言/汇编在线转换工具

https://godbolt.org/

Image

在线指令速查网站

http://hehezhou.cn/A64-2024/
Image

cemu 汇编模拟器

Image

推荐阅读
关注数
9466
内容数
212
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息