Vad är skillnaden mellan emulatorn och debugger

De huvudskillnad mellan emulatorn och debugger är det en emulator är ett verktyg som tillåter ett datorsystem att fungera som ett annat datorsystem medan en debugger är ett verktyg som hjälper till att testa och felsöka datorprogram.  

Ett inbyggt system är ett system som består av hårdvara och mjukvara inbäddad i den. Det utför en specifik funktionalitet och använder en mikrokontroller eller en mikroprocessor. Dessutom har det minne, hårdvara, programvara och kringutrustning för att ansluta komponenter. Det innehåller också sensorer, manöverdon, analog till digitalomvandlare, digital till analogomvandlare etc. Dessutom är de två huvudverktygen som stödjer inbyggd systemutveckling emulator och debugger.

Viktiga områden som omfattas

1. Vad är en emulator
     - Definition, Funktionalitet
2. Vad är en Debugger
     - Definition, Funktionalitet
3. Vad är skillnaden mellan emulatorn och debugger
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

Debugger, Emulator

Vad är en emulator

En emulator är ett verktyg som gör det möjligt för ett datorsystem att fungera som ett annat datorsystem. En hårdvarulimulator ger miljön för målsystemet. Dessutom består den av en mikrokontroller, RAM och relaterade gränssnittskretsar.

En krets för emulerande målsystem förblir oberoende av ett visst målinriktat system och en processor. Antag exempelvis att det finns ett fel i en IC i en elektronisk krets. I stället för att placera IC, är det möjligt att använda en emulator och kontrollera dess beteende. Om systemet fungerar bra är det möjligt att implementera den verkliga applikationen. Sammantaget ger en emulator flexibilitet och gör det lättare att utveckla systemet.

Vad är en Debugger

Debugger är ett verktyg som hjälper till att testa och felsöka program. En värdmaskin utvecklar en inbyggd programvara. Efter denna utvecklingsprocess konverteras den till en körbar kod. Sedan är den inbäddad i målmaskinen.

Det finns tre krav att felsöka ett inbyggt system. De är som följer.

Kör kontroll - Möjligheten att starta, stoppa, toppa processorn och minnet

Minnesubstitution - Byta ROM-baserat minne med RAM för snabb och enkel kodnedladdning och reparationscykler

Realtid analys - Följande kodflöde i realtid med realtidsanalys

Ett felsökningssystem bör ha två processer. De är testprogrammet och debuggern. Med andra ord är de debug-kärnan i målet och värdprogrammet som kommunicerar med det. Det är viktigt att köra debugger som en separat process och att tillhandahålla en separat körningsenhet för att köra en debugger.

Skillnad mellan emulator och debugger

Definition

En emulator är en hårdvara eller mjukvara som gör det möjligt för ett datorsystem att fungera som ett annat datorsystem. Däremot är en debugger ett datorprogram som hjälper till att testa och felsöka andra program eller målprogram. Detta är den grundläggande skillnaden mellan emulator och debugger. 

Användande

En emulator tillåter värdsystemet att köra programvara, kringutrustning och andra komponenter som är konstruerade för målsystemet. Under tiden hjälper en debugger att identifiera fel i ett datorprogram och fixa dem. Detta är en annan skillnad mellan emulator och debugger.

Slutsats

Emulator och debugger är två huvudverktyg som stödjer inbyggd systemutveckling. Den grundläggande skillnaden mellan emulator och debugger är att en emulator är ett verktyg som tillåter ett datorsystem att fungera som ett annat datorsystem medan en debugger är ett verktyg som hjälper till att testa och felsöka datorprogram. 

Referens:

1. "Emulator" Wikipedia, Wikimedia Foundation, 8 oktober 2018, Tillgänglig här.
2. "Debugger". Wikipedia, Wikimedia Foundation, 18 juli 2018, Tillgänglig här.

Image Courtesy: 

1. "Hercules-emulator-running-ubuntu" Med eget arbete - Egent arbete (Public Domain) via Commons Wikimedia
2. "Debugger" Av Batka 3024 - Egent arbete (CC BY-SA 4.0) via Commons Wikimedia