An iPaq StrongARM emulator named ARMware can run embedded linux, version 0.4
- From: Wei <hu yuehwei gmail com>
- To: gtkmm-list gnome org
- Subject: An iPaq StrongARM emulator named ARMware can run embedded linux, version 0.4
- Date: Tue, 31 May 2005 11:42:08 +0800
Hi all!
I want to present you ARMware. It is an iPaq StrongARM emulator which
can run embedded linux. The current version is 0.4.
I use gtkmm version greater than 2.4 as my GUI toolkit.
Wei
===========================================================
Project homepage:
http://www.csie.ntu.edu.tw/~r88052/ARMware/en/index.php
===========================================================
Changelog:
1. A newly created build-in dynamic compiler, increase the runtime
preformance
dramatically.
2. Users can input commands from serial console.
Booting process (divx4 file, 4.3 MB) :
http://www.csie.ntu.edu.tw/~r88052/ARMware/movie/start.avi
Input commands (divx4 file, 2.1 MB) :
http://www.csie.ntu.edu.tw/~r88052/ARMware/movie/input.avi
Debian package (deb file, 1.1 MB):
http://www.csie.ntu.edu.tw/~r88052/ARMware/download/armware_0.4.0-1_i386.deb
rpm package (rpm file, 1.1 MB):
http://www.csie.ntu.edu.tw/~r88052/ARMware/download/armware-0.4.0-2.i386.rpm
===========================================================
* Version 0.4.0:
o You can type command in the serial console.
o Add UTF-8 tradition chinese translation.
* Version 0.3.0:
o Add a dynamic compiler.
* Version 0.2.0:
o Add threaded code optimization technology.
* Version 0.1.0:
o The original version. Pure interpreter.
ARMware is an emulator for ARM micro-processor. It can only emulate
Intel StrongARM SA-1110 as core for now. However ARMware emulates not only
the Intel StrongARM cpu, but also Compaq iPaq H3600.
The hardware components that ARMware can emulate are:
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
The advantages of ARMware are:
1. The build-in threaded code engine will cache a block of ARM machine codes,
so that it can increase the execuating speed.
2. The build-in dynamic compiler will translate a block of ARM machine codes
to a block of x86 machine codes, so that it can increase the
runtime preformance
dramatically.
The optimization technologies implemented in ARMware includes:
3. In addition, I use assembly codes to re-write parts of it to
increase the run-time
performance. For example, I use MMX and SSE2 instructions to
rotate an angle
of 270 degrees of the LCD screen (That is to say, you have to
execute ARMware
in a CPU with SSE2 instruction sets, like Pentium M or Pentium
4). In addition,
I also use assembly codes to accomplish the condition codes
setting of ARM.
4. ARMware has a build-in memory management subsystem to serve all memory
allocation and deallocation. Through heavely testings, ARMware
almost doesn't
have any memory leaks.
5. It can use Qt (Screenshots) or Gtk (Screenshots) as its user
interface. However,
because of the liscense of Qt, I could only release the version
of ARMware using
Gtk as its interface.
6. ARMware has a serial console window (Movie), so that users can
see the serial
console outputs from ARMware, and input any commands into it.
7. It can use GNU dbm (Screenshots) or xml (Screenshots) as its
machine database.
However, because of the license of GNU dbm, I could only
release the version
of ARMware using xml as its machine database.
8. Conform to the i18n, and ARMware includes two traditional
chinese translations
for the Big5 and UTF-8 locales.
9. Contains a full functional utility to burn a new Flash ROM (Screenshots),
which can be used to emulate the burning operations in the real
world, and you
can use the new created flash rom to start ARMware.
10. Every user's machine database is placed under their home directory.
Thus different users can have different machine database.
===========================================================
Wei
http://www.csie.ntu.edu.tw/~r88052/
--
Wei
http://www.csie.ntu.edu.tw/~r88052/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]