Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Debugger vs Symulator, MPLAB SIM.

Freddie Chopin 13 Jun 2008 13:47 1714 7
Computer Controls
  • #1
    Freddie Chopin
    MCUs specialist
    Bigfoot wrote:
    :arrow: Freddie Chopin dlaczego wprowadzasz jakies dziwne uwagi? MPLAB SIM jest debuggerem tyle, ze nie sprzetowym a softwarowym.

    ... czyli symulatorem.

    zobacz sam - microchip tez jakies dziwne uwagi wprowadza:

    Quote:

    MPLAB SIM, high speed software simulator for PIC and dsPIC devices with peripheral simulation, complex stimulus injection and register logging

    http://www.microchip.com/stellent/idcplg?IdcS...E&nodeId=1406&dDocName=en019469&part=SW007002

    @\/3!!
  • Computer Controls
  • #2
    Bigfoot
    Level 25  
    Symulator (MPLAB-SIM) jest debuggerem softwarowym. Nalezy wiec do szerszej rodziny jaka sa debuggery. Koniec - kropka.

    BF
  • Computer Controls
  • #3
    Freddie Chopin
    MCUs specialist
    omg kropkuj sobie ile chcesz. symulator to symulator, debugger to debugger. i koniec. i tez kropka.

    proponuje takie myslenie:
    symulator w mplabie vs. symulatory lotu (gry). MPSIM nalezy wiec do szerszej rodziny jaka sa gry. gry jak wiadomo powoduja wzrost morderstw wsrod nieodpornej psychicznie mlodziezy. dlatego proponuje wprowadzic granice wieku na uzywanie gry MPSIM na conajmniej 12 lat.

    symulator tym sie rozni od debugger'a, ze NIE MA WSZYSTKIEGO. w MPSIM nie masz obslugi wszystkich peryferiow, dlatego jest to SYMULATOR. w ICD2 mozesz sobie debuggowac wszystkie peryferia jakie ma ten procek, dlatego tez jest to DEBUGGER. czego nie ma symulator to chyba nie musze wymieniac?

    @\/3!!
  • #4
    Bigfoot
    Level 25  
    A ja nie twierdze, ze MPLAB-SIM ma wszystko, co ma kazdy inny debugger (wiadomo, ze nie obsluge np. wszystkich peryferiow). Ale debuggerem oczywiscie jest. Proponuje zapoznac sie dokladnie ze znaczeniem slowa debugger, np tu:
    http://en.wikipedia.org/wiki/Debugging
    http://en.wikipedia.org/wiki/Debugger

    Quote:
    Debuggers are software tools which enable the programmer to monitor the execution of a program, stop it, re-start it, set breakpoints, change values in memory and even, in some cases, go back in time. The term debugger can also refer to the person who is doing the debugging.

    MPLAB-SIM - symulator dzialania programu - jest debuggerem. Twoja gierka na PC jest symulatorem ale debuggerem juz nie. ICD tez oczywiscie jest debuggerem, tyle ze In Circuit Debuggerem. Ale caly czas i MPLAB-SIM, i IDC debugerrami sa.

    BF
  • #5
    Freddie Chopin
    MCUs specialist
    as u wish

    Quote:

    A debugger is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be much slower than executing the code directly on the appropriate processor.


    mplab ma wiec debugger - program ktory ustawia breakpointy, puszcza i pauzuje wykonywanie kodu. kod jest wykonywany na SYMULATORZE albo na rzeczywistym ukladzie (poprzez ICD2 na przyklad).

    w tym rozumieniu ktore podales w tych linkach, debugger nie jest niczym innym jak owymi paroma przyciskami (play, stop, pause, ...), i funkcjami do sciagniecia zawartosci pamieci z okreslonej lokalizacji, dzieki czemu mozna wiedziec gdzie jest aktualnie procek (rejestr PC), albo co ma w ramie. kod natomiast jest wykonywany w symulatorze (w przypadku MPSIM of course). debugger nie jest wiec - wg tego rozumienia - niczym ponad interfejs do kontrolowania 'czegos'. tym 'czyms' moze byc symulator, czesc rdzenia odpowiedzialna za debuggowanie, ICE w ARMach, ...

    do tego kluczowe slowo:
    Quote:
    Debuggers are software tools which enable the programmer to monitor the execution of a program, stop it, re-start it, set breakpoints, change values in memory and even, in some cases, go back in time. The term debugger can also refer to the person who is doing the debugging.


    nie kojarzy sie z 'monitorem' ktorego albo mplab realizuje programowo, albo z tym, ktory siedzi (sprzetowo) w nowszych prockach, ale wymaga zajecia tych poczatkowych 80b RAMu?

    wg tego rozumienia oboje mamy racje, tyle ze nie mowimy do konca o tym samym. ja mowie o tym fragmencie, ktory REALIZUJE rozkazy assemblera i jest to definitywnie symulator (poniewaz ma on za zadanie symulowac wiernie zachowanie rdzenia). ty zas mowisz - wg tego - o nakladce do mplab'a, ktora pozwala kontrolowac 'cos' co wykonuje kod, dzieki czemu mozliwy jest debugging (debugging jako kontrolowanie przebiegu realizacji rozkazow, podglad i modyfikacja zawartosci pamieci).

    EDIT: http://en.wikipedia.org/wiki/Gdb
    to wyjasnia o czym mowie - gdb jest jedynie aplikacja sterujaca.

    @\/3!!
  • #6
    UDMA
    Level 16  
    FC - strasznie zamotałeś prostą sprawę.
    Polecam zdanie kluczowe z wiki o GDB:
    "GDB has compiled-in simulators for target processors even for lesser-known target processors such like M32R or V850."
    GDB umożliwia testowanie kodu na wiele sposobów, jednym z nich jest symulacja programowa (jak MPSIM). The End.
  • #7
    Freddie Chopin
    MCUs specialist
    no to ja polecam ci to co pisze 2 akapity wyzej:

    opis mozliwosci debuggera gdb:
    Quote:

    GDB offers extensive facilities for tracing and altering the execution of computer programs. The user can monitor and modify the values of programs' internal variables, and even call functions independently of the program's normal behavior.


    ani slowa, o WYKONYWANIU kodu.

    to, ze w gdb wbudowane sa DODATKOWO symulatory wrecz swiadczy na korzysc mojej tezy, bo gdyby to bylo oczywiste, ze sumulator == debugger, to nikt by o tym nie pisal w formie ciekawostki, ze jakis debugger nawet ma jakies symulatory w sobie. pozatym... ma w sobie symulatory, czyli aplikacje przeznaczone do nasladowania rdzenia i wykonujace kod, ktore owy debugger (gdb) moze prosto kontrolowac.

    lecimy dalej:
    http://en.wikipedia.org/wiki/Instruction_Set_Simulator

    Quote:

    It (ISS) is sometimes integrated with simulated peripheral circuits such as timers, interrupts, serial port, general I/O port, etc to mimic the behavior of microcontroller.


    wciaz pisza o symulatorze i opis ten idealnie pasuje do tego, czym jest mpsim. the end.

    4\/3!!
  • #8
    Ch.M.
    Level 27  
    taa, każde lepsze środowisko ma debugger i symulator, ale trzeba jeszcze podłączyć kod do procka bo inaczej to wszystko się zwie emulatorem :)
    Zahaczamy o środowiska rozproszone: część kodu jest wykonywana na procku, ale tak czy siak wykonuje on dodatkowe komendy które nie są dostępne z warstwy programu który możemy napisać.
    Co jest software a co hardware w takim przypadku? - granica jest całkiem płynna :) nie ma o co kopii kruszyć

    Pozdrawiam