Pergunta

Eu estou trabalhando em processador ARM 9 com 266 Mhz, com o apoio fpu e 32 MB de RAM, eu rodar o Linux em it.I querer imitá-lo no PC (eu tenho Linux e Windows availabe on pc). Quero Perfil Minha contagens de ciclo, executar meus executáveis ??compilado-cross diretamente no emulador. Existe algum projeto opensource disponíveis para criar emulador facilmente, Quanta mudança / code / esforço que eu preciso escrever para fazer emulador personalizada com isso? Seria ótimo se você me fornecer tutoriais ot outra referência para obter pontapé inicial.

Obrigado e cumprimentos,

Sunny.

Foi útil?

Solução

Você deve dar uma olhada QEMU . Eu não entendo no entanto, por que você precisa de um emulador completo?

Você pode já um monte de profiling sem emulador. Quais são os ganhos que você espera de ter um emulador de sistema?

Outras dicas

Você quer emular apenas o processador ou uma máquina inteira?

emular uma CPU é muito fácil, basta definir uma estrutura que contém todos os registros de CPU, criar uma matriz de RAM simular e depois é só emular como esta:

    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();

    }

Emulate uma máquina inteira é muito, muito mais difícil ... você precisa controladores Emulate LCD, registros de memória mapeada, controladores de bancos de memória, DMAs, dispositivos de entrada, som, I / stuff O ... também, provavelmente, você precisa de um despejo de o BIOS e sistema operacional ... eu não sei o processador ARM, mas se ele tem oleodutos, caches e tais coisas, as coisas ficam mais complicadas para o sincronismo.

Se você tem todas as peças de hardware totalmente documentadas, não há problema, mas se você precisa fazer engenharia reversa ou adivinhar como funciona a máquina emulada ... você terá um tempo difícil.

Iniciar aqui: http://infocenter.arm.com/help/index.jsp e fazer o download do "manual de Referência Técnica" para o seu processador.

E para questões gerais de emulação: http: // www .google.es / search? q = como + gravação + um + emulador

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top