risc-v中文社区

 找回密码
 立即注册
查看: 1352|回复: 0

基于 QEMU USER MODE 运行 AARCH64 程序

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2022-8-3 09:25:35 | 显示全部楼层 |阅读模式
工具准备
aarch64-linux-gnu-gcc:可以通过下载 linaro 工具链
qemu-aarch64
程序范例
aarch64 汇编
创建文件asm64.S,其内容如下

.section .text
.global _start

_start:
        /* syscall write(int fd, const void *buf, size_t count) */
        mov x0, #1
        ldr x1, =msg
        ldr x2, =len
        mov w8, #64
        svc #0

        /* syscall exit(int status) */
        mov x0, #0
        mov w8, #93
        svc #0

msg:
        .ascii "Hello, ARM64!\n"
        len = . - msg
然后编译并使用 qemu 虚拟机运行

$ aarch64-linux-gnu-gcc -nostdlib -nodefaultlibs -o asm64 asm64.S
$ qemu-aarch64 ./asm64
aarch64 C语言
创建文件hello64.c,其内容如下

#include <stdio.h>

int main(int argc, char *argv)
{
        printf("Hello, I'm executing ARM64 instructions\n");

        return 0;
}
然后编译并使用 qemu 运行

$ aarch64-linux-gnu-gcc -static -o hello64 hello64.c
$ qemu-aarch64 ./hello64
参考
arm-on-x86-qemu-user
本文来自博客园,作者:Legend_Lone,转载请注明原文链接:https://www.cnblogs.com/sun-ye/p/14992339.html

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-24 03:00 , Processed in 0.019840 second(s), 26 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表