问题描述
我想知道在哪里可以找到关于学习使用 ARM 架构显示到 VGA 的任何好的资源,因为我一直在搜索,除了维基百科页面,这有点帮助,我想找到一个很好的基础教程或纸.
I was wondering where I could find any good resources on learning to display to VGA using the ARM architecture, as I have been searching, and apart from the Wikipedia pages, which help a little, I wanted to find a good basic tutorial or paper.
谢谢
推荐答案
您是说视频中的 VGA 吗?
Are you talking about VGA as in video?
ARM 是处理器,而不是视频芯片.如果你想要视频,讨论需要是关于独立于处理器的视频.你想编写一个外围驱动程序,asm 是一个非常糟糕的选择,只用 C 编写或者更好地借用大量开源代码(在 C 中).
ARM is a processor, not a video chip. If you want video the discussion needs to be about video which is independent of the processor. You want to program a peripheral driver, asm is a very bad choice, just write in C or better borrow from the mountains of open source code (in C).
此外,我们不能在不知道您要为什么操作系统编写此驱动程序的情况下进行此讨论.你是在谈论金属(没有操作系统)还是重新发明一个已经写好的 linux 驱动程序?
Also we cant have this discussion without knowing what operating system you are going to write this driver for. Are you talking on the metal (no operating system) or re-inventing a driver for say linux that has already been written?
假设在金属上,并且由于您提到了 qemu(bochs 是 x86 而不是 arm),请找到 qemu 支持的系统,该系统具有 arm 处理器和模拟视频.查找该模拟视频的文档,无论是芯片还是某种帧缓冲区.该系统将有一个 linux 驱动程序,因此您可以将其用作参考.
Assuming on the metal and since you mention qemu (bochs is x86 not arm), find a system supported by qemu that has both an arm processor and emulated video. Find the documentation for that emulated video be it a chip or some sort of framebuffer. There is going to be a linux driver for that system so you can use that as a reference.
带视频的 Arm 系统足够便宜,你可以一个(ipod classic/video、nintendo gba/nds、open-rd、hawkboard、beagleboard、beaglebone、pandaboard、raspberry pi 等,列表很长) 有些低于 100 美元.在购买之前进行研究,您可能需要额外的硬件才能在平台上进行该级别的开发.
Arm systems with video are cheap enough you could just by one (ipod classic/video, nintendo gba/nds, open-rd, hawkboard, beagleboard, beaglebone, pandaboard, raspberry pi, etc, etc, the list is very long) some are sub $100. Do your research before you buy, you may need extra hardware to do development at that level on a platform.
当然,如果您正在谈论采用现有的 vga 解决方案,这意味着您正在对芯片进行编程并且芯片彼此不同,并且它们的编程与 vga 本身几乎没有关系,那部分是所有这些都对您隐藏,您只是操作寄存器来定义高度、宽度和深度等,然后操作内存中的像素.处理器到外设的接口也因一种解决方案而异,同一个视频芯片可以通过多种方式连接到手臂,因此您可以处理所有这些问题.
All of that above of course if you are talking about taking existing vga solutions which means you are programming chips and the chips are all different from each other, and the programming of them have little to do with vga itself, that part is all hidden from you, you are just manipulating registers to define the height, width and depth, etc, and then manipulating the pixels in memory. The processor to peripheral interface also varying from one solution to the next the same video chip can be interfaced to the arm a number of ways so you have all that to deal with.
使用visualboyadvance或nds模拟器之一对gba或nds进行编程可能是一个很好的起点,通常将像素放在某物上并与外围设备交谈.
Programming a gba or nds using visualboyadvance or one of the nds emulators might be a good starting point in general putting pixels on something and talking to a peripheral.
如果您所指的VGA还有其他定义,请改进您的问题,即使是视频,也请改进您的问题,因为书面上确实无法回答.
If there is another definition for VGA that you are referring to, please improve your question, even if it is video, please improve your question it is really unanswerable as written.
这篇关于ARM 显示转 VGA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!