QEMU内存分配低于0x40000000

问题描述 投票:0回答:1

我正在尝试将我的项目链接到一个定制的嵌入式系统,其中一个RAM芯片安装在地址0x20000000

我已更改了链接器文件,以将数据指向该区域,并且它按照映射文件中的验证正确地编译和映射了数据。

但是当我将gdb连接到QEMU并尝试加载可执行文件时,会出现错误。

似乎QEMU正在保护0x40000000以下的区域,因为它认为以下区域可能被某些内核使用?

如果我将地址更改为0x4XXX_XXXX以上,则RAM正常工作。

如何处理?

linker gdb qemu
1个回答
0
投票

似乎QEMU仍在保护0x40000000以下的区域下面的思考区域可能被某些内核使用?

softmmu QEMU中的初始计算机状态通常不依赖于来宾代码。但是,您使用的机器型号可能没有0x20000000的物理内存。您可以使用gdb monitor info mtree命令进行检查。

如何处理?

您可以将自定义嵌入式系统的模型添加到QEMU,并将物理内存放置在0x20000000。

© www.soinside.com 2019 - 2024. All rights reserved.