linux - 如何使用QEMU学习ARM Linux内核开发?

标签 linux linux-kernel arm embedded-linux qemu

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

最佳答案

这取决于您想学习什么:硬件还是软件。如果您真的想尝试使用不同的 GPIO 输出来实现伺服电机控制、LED 灯闪烁和显示等功能,那么便宜的板(例如,Raspberry Pi,约 25 美元)是首选。

但是如果你想学习一般的软件,qemu 肯定要快得多,而且它可以让你看到正在发生的事情的内部。用硬件进行实验需要示波器等。但是用软件进行实验将取决于其他人在他们的软件中实现的错误输出。

驱动开发方面,第一个版本应该在QEMU上快速开发。但是自然涉及硬件的测试应该在硬件上完成。

底线是:x86 快得多,交叉编译总是在 x86 上完成,然后再在 ARM 板上启动。在板上编译太耗时,有时可能会占用大量开发库和源代码的存储空间。

关于linux - 如何使用QEMU学习ARM Linux内核开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764301/

相关文章:

iphone - 架构 armv7 的重复符号

linux - 在 Linux 上以递归方式对特定文件类型进行 grep

c - 内部引导加载程序 ARM cortex M4 NRF52 芯片

ios - Mach-O 符号 stub (IOS)

c - 理解 Linux 内核中的 hlist_bl_for_each_entry_rcu 宏

linux - Linux内核add_timer的可靠性只有一个小问题吗?

android - 我们可以访问我的安卓手机的麦克风驱动程序吗

python - 文件计数 - os.listdir 与 ls | wc -l

c - 正确使用 volatile sig_atomic_t

c - Windows 到 Linux 的 Port C 项目