如何通过QEMU(ARM)输出VGA?

4

我想尝试制作一个专为ARM设计的玩具操作系统。我已经下载了Linux arm-test (http://wiki.qemu.org/Testing),它在QEMU中运行一个裸机Linux环境,包括带有帧缓冲区(控制台上显示企鹅图形)。

我以前曾尝试过制作相对基本的x86操作系统,现在想在ARM上尝试一下。

显然,我需要一种方法将信息显示在屏幕上。我还没有开始,但我的问题是,我该如何访问图形设备/视频内存?我知道在x86中,您可以在特定地址处访问视频内存以执行所需操作,但我可能花了一个小时查找类似于QEMU ARM的方法,却找不到任何内容。

1个回答

1
QEMU显然模拟了一些基于ARM的系统,但您可能希望使用ARM通用基板模型,该模型具有PL110 CLCD控制器。 ARM和x86之间的主要区别在于没有BIOS来标准化事物,因此您可以自由地做自己喜欢的事情。您选择的基板/CPU组合的内存映射将告诉您PL110的配置寄存器映射到哪里,从那里您可以设置它并将其指向您想用作帧缓冲区的任何RAM位。这里没有专用视频内存。

供参考,Linux PL110驱动程序并不是非常复杂,快速搜索可以找到一个更简单的例子(现在已存档,但仍可下载)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接