博客專欄

        EEPW首頁 > 博客 > qemu 簡介

        qemu 簡介

        發布人:電子禪石 時間:2020-02-18 來源:工程師 發布文章
        QEMU簡介

        • QEMU的英文單詞是:QuickEmulator,它是一個小巧的模擬器。還有很多模擬器,比如VMWare、Virtual Box等。

        • 但是VMWare、VirtualBox只能模擬x86、AMD64/Intel64等PC系統;而QEMU可以模擬更多硬件:ARM、MIPS、PPC、x86、AMD64/Intel64。

        • QEMU用途廣泛,比如Xen、Android模擬器等都是基于QEMU的。

        • 在嵌入式領域,很多人使用QEMU來深研Linux,比如研究文件系統、優化等等。

        • QEMU有兩種模式:

        用戶模式(User Mode)

        • 簡單地說,一個使用arm-xxx-gcc編譯出來的程序,是給ARM板子使用的,它無法在PC機上運行,只能放到ARM板子上去運行。

        • 借助qemu,可以在PC機上運行ARM程序。比如:

            $ gcc -o hello hello.c -static
            $ ./hello  // 這個hello程序是使用gcc給PC機編譯的,可以直接運行
            Hello, world!
            $ arm-linux-gnueabihf-gcc -o hello hello.c -static // 它是給ARM板子編譯的
            $ ./hello // 所以無法在PC上運行
            bash: ./hello: cannot execute binary file: Exec format error
            $ ./qemu-arm ./hello // 我們可以用QEMU在PC上運行它
            Hello, world!

        • 在PC上使用qemu運行單個ARM程序時,這就是使用QEMU的用戶模式。

        • 它會把ARM指令翻譯為PC的指令去運行。

        • 注意,你可能無法做上述實驗,因為:

          • a) 你沒有安裝ARM交叉編譯工具鏈

          • b) 你沒有安裝QEMU

        • 你根據下章《QEMU快速使用》安裝QEMU后,就可以進行上述實驗了。

        系統模式(System Mode)

        • 很多時候我們并不滿足于在PC上運行單個ARM程序,我們想模擬出整個ARM單板:在這個模擬出來的虛擬ARM單板上,運行Linux系統,在其中運行各種APP。

        • 這時候需要使用QEMU的系統模式。

        現在才發現,在qemu 上運行rtt 是用戶模式。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        DIY機械鍵盤相關社區:機械鍵盤DIY


        LCD顯示屏相關文章:lcd顯示屏原理


        lcd相關文章:lcd原理


        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南召县| 苍南县| 抚宁县| 互助| 金溪县| 盐津县| 肇州县| 察隅县| 手机| 榆中县| 琼海市| 桦川县| 长子县| 二手房| 定边县| 池州市| 洱源县| 大连市| 澄江县| 桓仁| 淮北市| 米脂县| 定襄县| 金乡县| 盐山县| 义乌市| 阳谷县| 柳州市| 乌鲁木齐县| 普兰县| 板桥市| 古浪县| 卢龙县| 隆尧县| 滦平县| 汉源县| 梅河口市| 田阳县| 北安市| 昌宁县| 安阳市|