Pregunta

Estoy trabajando en el procesador ARM 9 con 266 Mhz con el apoyo FPU y 32 MB de RAM, estoy en Linux en it.I quieren emularlo en el PC (no tengo Linux y Windows availabe en el PC). Quiero perfil Mis cuentas de ciclo, correr mis ejecutables cross-compilado directamente en el emulador. ¿Hay algún proyecto de código abierto disponible para crear emulador fácilmente, ¿Cuánto cambio / código / esfuerzo lo hace tengo que escribir para hacer emulador de encargo con ella? Sería muy bueno si se proporciona tutoriales me ot otra referencia para obtener el puntapié inicial.

Gracias y Saludos,

Sunny.

¿Fue útil?

Solución

Usted debe dar un vistazo a QEMU . No entiendo, sin embargo, ¿por qué necesita un emulador completa?

Ya puede un montón de perfiles sin emulador. ¿Cuáles son los beneficios que se pueden esperar de tener un emulador de sistema?

Otros consejos

¿Quieres emular simplemente el procesador o una máquina completa?

emular una CPU es muy fácil, sólo definir una estructura que contiene todos los registros de la CPU, crear una matriz para simular RAM y luego simplemente emular así:

    cpu_ticks = 0;  // counter for cpu cycles 

    while (true) {

      opcode = RAM[CPU.PC++]; // Fetch opcode and increment program counter

      switch (opcode) {

        case 0x12: // invented opcode for "MOV A,B"
          CPU.A = CPU.B;
          cpu_ticks += 4; // imagine you need 4 ticks for this operation
          set_cpu_flags_mov();
          break;

        case 0x23: // invented opcode for "ADD A, #"
          CPU.A += RAM[CPU. PC++]; // get operand from memory
          cpu_ticks += 8;
          set_cpu_flags_add();
          break;

        case 0x45: // invented opcode for "JP Z, #"
          if (CPU.FLAGS.Z) CPU.PC=RAM[CPU.PC++]; // jump
          else CPU.PC++; // continue
          cpu_ticks += 12;
          set_cpu_flags_jump();
          break;
        ...
      }

      handle_interrupts();

    }

Emular una máquina completa es mucho más difícil ... que necesita para emular controladores LCD, memoria mapeada registros, bancos de memoria, controladores DMA, dispositivos de entrada, sonido, cosas de E / S ... También es probable que necesite un vertedero de el BIOS del sistema y operativo ... no sé el procesador ARM pero si tiene tuberías, cachés y esas cosas, las cosas se complican más para medir el tiempo.

Si usted tiene todas las piezas de hardware totalmente documentadas, no hay problema, pero si necesita realizar ingeniería inversa o adivinar cómo funciona la máquina emulada ... usted tendrá un tiempo difícil.

Haga clic aquí: http://infocenter.arm.com/help/index.jsp y descargar el "Manual de Referencia técnica" para su procesador.

Y para preguntas generales de emulación: http: // www .google.es / search? q = cómo + + escribir un emulador +

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top