Servus, eine dumme Frage, braucht Emulation von MCUs unbedingt Hardware Emulator? Im Gegensatz dazu benötigen Simulationen bei DSPs nur Software. Ist Emulation zuverlässiger als Simulation? Gruss Junghans
Was heißt hier "zuverlässiger" ? Der Emulator ersetzt in deiner Applikation den Prozessor oder den uC. Also ist hier Hardware notwendig. Der Emulator ist in sofern "zuverlässoger" als er real auf externe Signale reagiert, während der Simulator nur bedingt auf externe Signale reagieren kann. Z.B. bei den PIC-Microcontrollern kann man einige externe Signal simulieren (MPLAB-Simulator) aber man kann nicht alles simulieren. Timing-geschichten kann man zuverlässig nur mit dem Emulator überprüfen. Gerhard
'... Timing-geschichten kann man zuverlässig nur mit dem Emulator überprüfen ...' Also IMHO stimmt das nicht ganz, da der Code im Emulator nicht zu 100% dem finalen (der, der auf den uC geflasht wird) Code entspricht. Die Abweichungen ergeben sich durch Zusätzlichen Code, den der Emulator braucht, um z.B. Breakpoints zu verwalten oder Speicherinhalte anzuzeigen / zu verändern. Wenn Du wirklich genaue Informationen über das Timingverhalten haben möchtest, bleibt m. M. nach nur die Variante, den geflashten uC bestimmte Pins toggeln zu lassen und dieses Toggeln mit einem Oszilloskop zu messen. Aber - back to topic - ein vollwertiger Emulator (oder z.B. auch ein JTAG-Debugger)ist den Debug-Möglichkeiten eines herkömmlichen Simulators (z.B. auf PC-Ebene) weit überlegen, da der Code ja auf der Zielarchitektur läuft. ICE (In-Circuit-Emulator) -> die MCU auf dem PCB wird komplett durch den ICE ersetzt, kein Verlust an Pins (vgl. JTAG-Debugger), oft wird für jede unterschiedliche MCU ein anderer ICE benötigt - dafür gibt es für fast alle MCUs entsprechende ICE, geringe Abweichungen vom originalen Code, meistens recht teuer. JTAG-Debugger -> die eigentliche MCU sitzt auf dem PCB und ist mit der Applikation geflasht, Verlust an PINs (die PINs der JTAG-Schnittstelle stehen der Applikation normalerweise nicht mehr zur Verfügung), nicht jede MCU verfügt über eine JTAG-Schnittstelle, keine Abweichungen vom Originalcode - da das Debugging über ein MCU-interne Monitorprogramm abgewickelt wird, meistens recht günstig Dann gibts bei den neueren Atmels noch das 1-wire-debug-interface, womit ich mich allerdings nicht wirklich auskenne. Sollte aber sowas wie das JATG-Interface sein, es werden weniger PINs benötigt (1 anstatt 4/5), ansonsten gilt wohl der Rest aus dem Kapitel JTAG greetz z0ttel
"Also IMHO stimmt das nicht ganz, da der Code im Emulator nicht zu 100% dem finalen (der, der auf den uC geflasht wird) Code entspricht. Die Abweichungen ergeben sich durch Zusätzlichen Code, den der Emulator braucht, um z.B. Breakpoints zu verwalten oder Speicherinhalte anzuzeigen / zu verändern." Das wäre mir neu. Die Verwaltung der Breakpoints usw. wird doch nicht in der Software gemacht, sondern in der Emulator- bzw. JTAG-Hardware.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.