簡體   English   中英

如何使用QEMU學習ARM Linux kernel開發?

[英]How to use QEMU for learning ARM Linux kernel development?

我想像開發一些設備驅動程序等一樣學習它並為此使用 QEMU,因為我沒有像 beagle 板一樣的 ARM 硬件板。 你們有什么建議? 我可以使用 Qemu 模擬器在 ARM 目標上學習 Linux kernel 嗎? 或我應該嘗試的任何其他選擇?

這取決於您想學習什么:硬件或軟件。 如果您真的想嘗試不同的 GPIO output 來實現伺服電機控制、LED 燈閃爍和顯示等功能,那么便宜的板子(例如 Raspberry Pi,大約 25 美元)是首選。

但是如果你想學習一般的軟件,qemu 肯定要快得多,它可以讓你看到正在發生的事情的內部。 硬件實驗需要示波器等。但軟件實驗將取決於其他人在他們的軟件中實現的錯誤 output。

至於驅動開發,第一版應該在QEMU上快速開發。 但是自然涉及硬件的測試,應該在硬件上進行。

底線是:x86 的速度要快得多,以至於在 x86 在 ARM 板上啟動之前,始終會在 x86 上完成交叉編譯。 在板子上編譯太費時間,有時可能會占用相當大的存儲空間來存放開發庫和源代碼。

QEMU + Buildroot 是 ARM kernel 開發的絕佳組合

這是我的設置,它(主要)支持 x86 和 ARM: https://github.com/cirosantilli/linux-kernel-module-cheat

kernel、工具鏈、用戶空間和 QEMU 具有驚人的便攜性,從 x86 到 ARM 幾乎是微不足道的。

實際上,您很少會觸及拱形細節,因此您不妨從 x86 開始。

我還沒有玩過 ARM 設備, 只有 x86 ,但我敢打賭它會同樣容易(即由於缺乏教程而並非微不足道,但可行)。

我使用 Qemu 為嵌入式編程 class 開發設備驅動程序。 它工作得很好。 當時我們正在學習設備驅動程序編程,然后過渡到 Gumstix 板。 我不記得我們使用的是什么核心,但 Qemu 運行良好。

沒有做過ARM開發,不知道是不是學習ARM的最佳選擇。 但是,如果您是司機新手,這可能是一個不錯的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM