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

查看:26
本文介绍了如何使用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天全站免登陆