如何使用QEMU学习ARM Linux内核开发? [英] How to use QEMU for learning ARM Linux kernel development?

查看:477
本文介绍了如何使用QEMU学习ARM Linux内核开发?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想像开发一些设备驱动程序一样学习它,并为此使用QEMU,因为我没有像beagle板那样的ARM硬件板.你们有什么建议?我可以使用Qemu模拟器在ARM目标上学习Linux内核吗?或我应该尝试的其他任何选择?

I want to learn it like developing some device driver etc and use QEMU for this because i have no hardware board for ARM like beagle board. What you guys suggest? Can i use Qemu simulator to learn Linux kernel on ARM targets? or any other option i should try ?

推荐答案

这取决于您要学习的内容:硬件还是软件.如果您真的想试验不同的GPIO输出以实现诸如伺服电机控制,LED指示灯闪烁和显示之类的东西,那么最好选择便宜的开发板(例如,Raspberry Pi,约合25美元).

It depends on what you want to learn: hardware or software. If you really want to experiment with the different GPIO output to implement things like servo motor control, LED light blinking and display, a cheap board (eg, Raspberry Pi, about USD25) is much preferred.

但是,如果您想总体上学习软件,那么qemu肯定快得多,它可以让您了解正在发生的事情的内部.使用硬件进行实验将需要示波器等.但是使用软件进行实验将取决于其他人在其软件中实现的错误输出.

But if you want to learn software in general, qemu is definitely much faster, and it lets you see the internal of what is happening. Experimenting with hardware will require oscilloscope etc. But experiment with software will depends on the error output of what others has implemented in their software.

关于驱动程序开发,应在QEMU上快速开发第一个版本.但是应该在硬件上进行自然涉及硬件的测试.

As for drivers development, first version should be rapidly developed on QEMU. But testing which naturally involved hardware, should be done on the hardware.

最重要的是:x86的速度如此之快,以至于交叉编译总是在x86上进行,然后再在ARM板上启动.在板上进行编译非常耗时,有时可能会占用大量用于开发库和源代码的存储空间.

Bottomline is: x86 is so much faster, that cross-crompilation is always done on x86 before it gets booted on the ARM board. Compiling on the board is too time consuming, and sometimes it may involved considerable amount of storage space for development libraries and source codes.

这篇关于如何使用QEMU学习ARM Linux内核开发?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆