Emulació en circuit

De la Viquipèdia, l'enciclopèdia lliure
Emulador de circuits per al microcontrolador M16C
In emuladors de circuits fets per Cypress. A l'esquerra hi ha l'ICE Cube, que és una versió recent que admet la família PSoC, la dreta és el CY3654 amb una placa de personalitat per als controladors USB basats en EnCoRe M8.

L'emulació en circuit (ICE) és l'ús d'un dispositiu de maquinari o emulador en circuit utilitzat per depurar el programari d'un sistema incrustat. Funciona utilitzant un processador amb la capacitat addicional de suportar les operacions de depuració, així com per dur a terme la funció principal del sistema. Particularment per als sistemes més antics, amb processadors limitats, això normalment implicava substituir el processador temporalment per un emulador de maquinari: una versió més potent encara que més cara. Històricament va ser en forma de processador de connexió que té molts senyals interns per a la depuració. Aquests senyals proporcionen informació sobre l'estat del processador.[1]

Més recentment, el terme també cobreix els depuradors de maquinari basats en JTAG que proporcionen un accés equivalent mitjançant maquinari de depuració en xip amb xips de producció estàndard. L'ús de xips estàndard en lloc de versions d'acoblament personalitzades fa que la tecnologia sigui omnipresent i de baix cost, i elimina la majoria de diferències entre els entorns de desenvolupament i de temps d'execució. En aquest cas comú, el terme emulador en circuit és un nom inadequat, de vegades confús, perquè l'emulació ja no està implicada.[2]

JTAG-Depurador per ATMEL-Microcontrolador

Els sistemes incrustats presenten problemes especials per als programadors perquè normalment no tenen teclats, monitors, unitats de disc i altres interfícies d'usuari presents als ordinadors. Aquestes deficiències fan que les eines de depuració de programari en circuit siguin essencials per a moltes tasques de desenvolupament habituals.[3]

Funció[modifica]

Un emulador en circuit (ICE) proporciona una finestra al sistema incrustat. El programador utilitza l'emulador per carregar programes al sistema incrustat, executar-los, passar-hi lentament i veure i canviar les dades utilitzades pel programari del sistema.

Un emulador rep el seu nom perquè emula (imita) la unitat central de processament (CPU) de l'ordinador del sistema incrustat. Tradicionalment tenia un endoll que s'insereix a l'endoll on normalment es col·locaria el xip del circuit integrat de la CPU. La majoria dels sistemes moderns utilitzen directament la CPU del sistema objectiu, amb un accés especial de depuració basat en JTAG. L'emulació del processador, o l'accés directe a JTAG, permet que l'ICE faci qualsevol cosa que pugui fer el processador, però sota el control d'un desenvolupador de programari.[4]

Referències[modifica]

  1. «Introduction to In-Circuit Emulators» (en anglès). [Consulta: 3 desembre 2023].
  2. «In-Circuit Emulators | How it works, Application & Advantages» (en anglès americà), 26-10-2023. [Consulta: 3 desembre 2023].
  3. «What is an In-Circuit Emulator?» (en anglès). [Consulta: 3 desembre 2023].
  4. «Circuit Emulator - an overview | ScienceDirect Topics» (en anglès). [Consulta: 3 desembre 2023].