顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - halajohn

頁: [1]
1
可跑 Embedded Linux 的 ARM 平台模擬器 ARMware 0.5.0 版 發佈
===========================================================
計畫網址 :
http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php
===========================================================
胡岳偉
http://www.csie.ntu.edu.tw/~r88052/
===========================================================

ARMware 是個類似 VMware 或 Bochs 的硬體平台模擬器, 不過相對於
VMware 或 Bochs 所模擬的 x86 平台, ARMware 提供了一個模擬 ARM
處理器平台的環境. 目前 ARMware 所能模擬的核心為
Intel StrongARM SA-1110
(模擬 Intel Xscale 的功能正在開發中). 並且 ARMware 以
Compaq iPaq H3600
為對象, 提供了一個模擬 H3600 的執行環境 (未來的 Intel Xscale 模擬
環境將會以 HP iPaq H5500 系列為模擬對象).

0.5.0 版:

    * 整體架構部份
   
          - 新增模組化架構, 把不同的機器型號所獨有的功能以模組的
            方式切割出去, 這樣可以達到同時支援多種機器的功能, 又不
            會降低執行時期的效率. 這個模組化的架構對於未來支援多
            種機器型號有著重大的影響.

    * Serial Console 部份
   
          - 修改 serial console 程式碼,加速 serial console 的顯示速度.
         
          - 使用者可以為 serial console 選擇喜愛的字型, 文字顏色,
            以及背景顏色.
            ( http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php#serial_console_modify_screenshot )
             
          - Serial console 新增支援 ANSI 顏色碼的功能.
             ( http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php#serial_console_prove_screenshot )

    * 模擬環境部份
   
          - 使用者可以調整模擬環境的記憶體大小, 並且由於不同的機器
            型號有不同的最大記憶體容量限制, 因此 ARMware 也會為此做
            出相對應的調整.
            ( http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php#dram_size_modify_screenshot )
            ( http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php#dram_size_prove_screenshot )
             
          - Power Off 按鈕可以正常運作了, 可正確的停止模擬環境的執行.
         
          - Xscale 處理器的支援正在開發中, 而整體的執行環境以 HP iPaq
            H5500 為目標模擬平台.
             
          - 完成 ARM Architecture version 5 Instruction Set 的模擬.

===========================================================
計畫網址 :
http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php
===========================================================
胡岳偉
http://www.csie.ntu.edu.tw/~r88052/

2
可跑 Embedded linux 的 ARMware iPaq StrongARM 模擬器 0.4 版 發佈
胡岳偉

===========================================================
計畫網址 :
http://www.csie.ntu.edu.tw/~r88052/ARMware/tw/index.php
===========================================================

這個版本跟之前版本最大的不同之處有 2:

   1. 內建一個 dynamic compiler, 大幅的增加執行時期效能.
   2. 可以從 serial console 輸入命令.

開機動畫 (divx4 檔案, 4.3 MB) :

http://www.csie.ntu.edu.tw/~r88052/ARMware/movie/start.avi

輸入命令動畫 (divx4 檔案, 2.1 MB) :

http://www.csie.ntu.edu.tw/~r88052/ARMware/movie/input.avi

Debian 套件下載 (deb 檔案, 1.1 MB):

http://www.csie.ntu.edu.tw/~r88052/ARMware/download/armware_0.4.0-1_i386.deb

rpm 套件下載 (rpm 檔案, 1.1 MB):

http://www.csie.ntu.edu.tw/~r88052/ARMware/download/armware-0.4.0-2.i386.rpm

===========================================================
    * 0.4.0 版:
          - 可以從 serial console 輸入.
          - 新增 UTF-8 繁體中文翻譯.

    * 0.3.0 版:
          - 加上 dynamic compiler 技術.

    * 0.2.0 版:
          - 加上 threaded code 最佳化技術.

    * 0.1.0 版:
          - 最原始的版本, 純粹的 interpreter 架構.

ARMware 是個 ARM 微處理器的模擬器, 目前所能模擬的核心為
Intel StrongARM SA-1110. 並且 ARMware 以 Compaq iPaq H3600
為對象, 提供了一個軟體模擬 H3600 的環境.

目前 ARMware 所模擬的元件包括:

   1. ARM architecture version 4 core
   2. ARM standard system coprocessor (CP15)
   3. Memory Management Unit (MMU)
   4. Translation Lookaside Buffer (TLB)
   5. LCD Controller
   6. DMA Controller
   7. EGPIO
   8. Operation System Timer
   9. Reset Controller
  10. Real Time Clock (RTC)
  11. GPIO Controll Block
  12. Interrupt Controller
  13. Power Management
  14. Serial Port 1
  15. Serial Port 3
  16. Intel StrataFlash J3 Flash ROM
  17. Atmel micro-controller
  18. LCD screen
  19. Touch panel

ARMware 的優點有:

   1. 內建 threaded code engine, 會把 ARM machine code 給 cache 起來,
       因此可以加快執行的速度.

   2. 內建 dynamic compiler, 這個 compiler 會動態的把 ARM 的 machine code
       編譯成 x86 的 machine code, 因此可以加快執行的速度.
       目前實作的最佳化有:
       
   3. 除此之外, 我也以 assembly codes 重寫了某些部份, 希望能夠更加快
       執行的速度. 比方說, 我完全以 MMX 及 SSE2 的指令集來完成 LCD
       旋轉 270 度的動作 (這也就是說, 你必須在一台具備 SSE2 指令集的
       x86 CPU 上來執行 ARMware, 例如 Pentium M 以及 Pentium 4), 以及
       condition codes 的 assembly 化等等.

   4. 內建一個記憶體管理子系統, 並且經過冗常的測試, ARMware 幾乎
       沒有 memory leak 的情況.

   5. 具有 Qt (螢幕快照) 或 Gtk (螢幕快照) 的使用者介面, 但由於 Qt 的
       license 問題, 所以目前我只釋放出以 Gtk 為使用者介面的 ARMware.

   6. 具備一個 serial console 視窗 (螢幕動畫), 因此可以從該視窗中看到
       ARMware 的 serial console 輸出, 同時也可以從該視窗中輸入使用者
       命令.

   7. 可以使用 GNU dbm (螢幕快照) 或 xml (螢幕快照) 為機器資料的資料庫.
       但同樣的, 由於 GNU dbm 的 license 問題, 所以我目前只釋放出以 xml
       為機器資料庫的 ARMware.

   8. 符合 i18n 標準的繁體中文化介面, 目前的繁體中文翻譯有 Big5 以及
       UTF-8.

   9. 具備一個完整的模擬燒錄 Flash ROM 工具(螢幕快照),
       可用來模擬真實世界中的燒錄 Flash 動作, 並且使用燒錄出來的
       Flash ROM 檔案來啟動 ARMware.

  10. 每個使用者的機器資料庫分別存放在使用者個家目錄中,
        因此不同使用者可以擁有各自的機器資料庫而不會衝突.
       
===========================================================

胡岳偉
http://www.csie.ntu.edu.tw/~r88052/

頁: [1]