嵌入式学习——5.使用QEMU模拟

嵌入式学习——5.使用QEMU模拟

  1. 创建start.SMakefile文件,文件内容如下:

start.S文件内容:

	.globl	_start
	_start:
	    mov x0, #1
	    ldr w1, =0x778899
	    add x0, x0, x1
	    mrs x3, CurrentEL
	reset_end:
	    b reset_end

Makefile文件内容:

	CC = aarch64-linux-gnu-gcc
	LD = aarch64-linux-gnu-ld
	
	CFLAGS = -g -O0 -nostdlib -nodefaultlibs
	
	start: start.o
		$(LD) -o $@ $^
	
	%.o: %.S
		$(CC) $(CFLAGS) -c $< -o $@
	
	.PHONY: clean
	
	clean:
		-rm start.o
		-rm start	
  1. 执行make命令,进行编译,生成执行文件start
$ make  //编译,生成执行文件start 
  1. 设置.vscode/launch.json文件
    内容如下:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/start",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            // 如果远程登入到linux 服务器上面,路径不用写 /user/bin/gdb-multiarch
            "miDebuggerPath": "gdb-multiarch",
            "miDebuggerServerAddress": "localhost:1234",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  1. 执行命令,启动qemu服务
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic -kernel start -S -s
  1. 按F5运行或调试start.S

注:如果此时运行报错,提示连接超时,则需要重启一下主板。
在这里插入图片描述

  1. 成功运行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值