PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmiertool für Assembler



Smokey
17.02.2006, 13:38
Hi, ich hab mir jetzt einen pic Brenner gebaut und wollte quasi loslegen da fiel mir auf das der standart mäßige Editor kaum Funktionen hat.Meine Frage ist jetzt welche Editoren ihr verwendet und welcher Editor vielleicht am einsteigerfreundlichsten ist?

Danke schon im vorraus

Smokey

mcs
17.02.2006, 16:03
hi

unter windows würde ich das mplab von mircochip verwenden, das ist kostenlos. für linux gibt es pikdev.

mfg matthias

Smokey
17.02.2006, 17:02
jo Danke ich dachte die software is nur zum übertagen der hex Files und zum assemblieren. Danke

Smokey
18.02.2006, 01:17
Kennt einer von euch vielleicht nen tutorial für Mplab?

ruediw
18.02.2006, 02:19
In welcher Sprache willst Du denn programmieren ?

Ich würde die mal raten PSPAD anzuschauen.

Smokey
18.02.2006, 10:10
Ich wollte in Assembler programmieren.Weil ich auch in meiner Abschlussprüfung(Elektroniker für Geräte und Systeme\ 3. Lehrjahr)einen Pic16F84A umprogrammieren muss.Ich Interessier mich aber auch algemein dafür also nich nur wegen der Prüfung.

mcs
18.02.2006, 12:27
schau mal auf sprut.de

mfg matthias

ruediw
18.02.2006, 13:46
Wenn Du nur einen guten Freeware-Edito brauchts, sehe Dir wie oben
gepostet PSPAD an, wenn Du eher an Informationen am PIC
(hardware und Software) interessiert bist dann schaue mal hier:

http://www.fernando-heitor.de/

vorbei...

PICture
18.02.2006, 14:46
Hallo Smokey!

Wenn für Dich english kein Problem ist würde ich Dir raten sich direkt bei Microchip umzuschauen. Ich benutze selber MPASM und bin damit wirklich sehr zufrieden. Ich bin Umsteiger von zuletzt Z80 und kann es gut beurteilen. Ich habe mit MPASM und Webseite vom Sprut angefangen. Der MPASM ist auch kostenlos zum downladen.

MfG

kalledom
18.02.2006, 15:29
Hallo Smokey,
da kann ich PICture nur beipflichten; mein Weg war ähnlich: 8080 - Z80 - Z8000 - SAB80C166 - PIC16F877, alles in Assembler.
Den PIC habe ich begonnen mit PicStart, dann MPLAB (MPASM) + ICD und zuletzt die neueste MPLAB-Version mit dem ICD2 (schw....teuer).
Geholfen hat mir neben Microchip und Sprut auch http://www.fernando-heitor.de/picforum/index.php. Mittlerweile habe ich eigene Beispiele und Fehler-Checklisten: http://www.domnick-elektronik.de/elek.htm.
PS: englisch ist für mich ein Problem, aber es geht.

PICture
18.02.2006, 16:03
Hallo!

Ich möchte noch was passendes zu diesem Thema fragen. Ich habe vor ca. einem Jahr mit PIC´s angefangen. Bei den vorherigen Prozessorem musste ich immer zuerst die Hardware verdrahten und dann den Spinnenetz Programmieren. Nach dem ich auf PIC umgestiegen bin habe ich Hardware in einem Chip und konnte nur Programmieren geniessen. Da hat mir aber der direkte Einblick in RAM gefehlt. Deswegen habe ich mir ein paar "Werkzeuge" (Programme) eingerichtet. Sie haben mein Einstieg deutlich beschleunigt und die benutze ich bis heute. Jetzt möchte ich sie in diesem Forum veroffentlichen. Ich möchte sie auch weiter entwickeln. Meine Frage: wie nennt man Fachmänisch solche Programme die folgendes ermöglichen ? :

- zeigen gewähltes Teil des RAM´s sogar dann, wenn das ausführendes Programm in endloser Schleife läuft

- ermöglichen Eingabe Hexzahlen in bestimmte Register danach starten eines Programms und anschliessend zeigen den Inhalt bestimmten Register

Es handelt sich um Programme die sich im Programspeicher des PIC´s befinden. Der PIC ist mit einem Miniterminal (3 Tasten + 4x20 Zeichen Matrixdisplay) verbunden.

Vielen Dank für alle Vorschläge im voraus!

MfG

kalledom
18.02.2006, 16:23
@PICture
Ein Kommunikations-Programm für den SAB80C166 nennt sich Monitor-Programm, das Auflisten des Speichers = HexDump (auch wenn da ASCII-Zeichen mit angezeigt werden), Ändern von Registern = RegisterChange, ... Alles in Allem gibts / gabs das auch für den PC und nennt / nannte sich Debug.com, also Debugger ? Monitor-Programm ?

PS: Wenn Du MPLAB benutzt, kannst Du doch den Simmulator benutzen und den Programmablauf verfolgen, Speicherinhalte betrachten, Breakpoints setzen, ....

PICture
18.02.2006, 16:28
Kann ich da auch was sehen wenn das Programm in endloser Schleife laüft?

Ich habe das entwickelt fur Schaltungen die mir echter Hardware laufen, was konkretes machen und nicht simulieren.

MfG

kalledom
18.02.2006, 16:51
Nein, das geht nicht, das Programm wird immer unterbrochen, meistens per Interrupt. Die Rücksprung-Adresse ist ja bekannt, benutzte Register werden gerettet und so können diverse Einblicke in das Innerste des µC vorgenommen werden.
Wenn bei MPLAB ICD1 der Debugger benutzt wird, wird ein zusätzliches Debug-Programm an eine bestimmte Stelle des PIC mit 'gebrannt'. Dieser Platz muß zum Debuggen frei bleiben. Ebenfalls die RAM-Adresse 0x70.
Beim 80C166 wird an der RAM-Adresse (Debuggen funktioniert nur im RAM) des Breakpoints der Befehl gegen einen Trap-Befehl (ähnlich Int) ausgetauscht. Bei Erreichen dieser Adresse wird zum Monitor-Programm 'umgeleitet'. Nach Löschung des Breakpoints wird der ursprüngliche Befehl wieder eingesetzt. Wie das beim PIC funktioniert, der ja kein RAM-ProgrammSpeicher hat, kann ich nicht sagen, auch nicht, ob das Debug-Programm dann durch einen Interrupt aufgerufen wird.

PICture
18.02.2006, 17:44
Bei meinem Programm wenn man z. B. für zwei Schleifen den gleichen Register als Zähler nimmt und es wird eine endlose Schleife daraus, dann wird man sehen, das sich Inhalt nur des eines Registers ständig ändert. Somit kann man wirklich schnell viel Fehler finden. Ich möchte bloss den Neulingen die Programmierung erleichtern. Ich kenne solche die fünf minuten schreiben ein Programm und danach fünf Stunden suchen Fehler. Bei mir war vor zig Jahren auch so.

MfG

kalledom
18.02.2006, 19:12
Viele PIC-User (-Beginner) testen ihre (kleinen) Programme erst mit dem MPLAB-Simmulator. Wenn dann beim echten Ablauf Probleme auftauchen, wenden sie sich an ein PIC-Forum oder ein Forum mit PIC-Unter-Forum.

stegr
19.02.2006, 15:04
Also an uns ;)

Ich muss aber sagen, dass der Simulator richtig gut ist und von dem meisten unterschätzt wird - habe ich am Anfang auch gemacht, aber inzwischen eins meiner Lieblingstools für die PICs.

Was ich dir empfehlen kann, wenn du sauber debuggen willst, wäre das ICD2. Das kostet zwar bissle was, aber ist sein Geld voll wert. Du kannst Breakpoints setzen, das Programm im Einzelschrittmodus ablaufen lassen, Variablen überwachen, ...

Das ICD2 ist natürlich für die meisten Einsteiger zu teuer, daher empfehle ich da immer die klassische Methode: Debug-Meldungen über die serielle Schnittstelle. Damit weiss man immer, was das Programm grade macht und kann sich dann gezielt auf die Suche machen.
Für Stackprobleme ist der Simulator aber das einzig wahre (selbst wenn man ein ICD2 hat).

MfG
Stefan

PICture
19.02.2006, 15:19
Hallo stegr!

Hast Du in Deinem Beitrag mir das ICD2 empfohlen? Danke, aber ich habe keine Problemme mit programmierung in ASM, da ich als Umsteiger von Z80 der fast 1000 Befehle hat, nur die PIC Befehle erlernen musste.

MfG

kalledom
19.02.2006, 16:22
Zum Simmulieren ist 'nur' MPLAB erforderlich; das gibt's kostenlos.
Zum Debuggen wird dann ICD 2 benötigt und das Ganze kann dann auch wirklich auf dem Board getestet werden, auf dem der PIC sitzt einschließlich der gesamten Hardware.

Smokey
23.02.2006, 12:03
Kann mir jemand sagen was ICD 2 ist? Mit Debuggen ist warscheinlich eine art Fehlersuche gemeint oder?

Smokey
05.03.2006, 20:19
Gibt es bei Mplap ein tool das Schreibfehler im programm anzeigt ?
Eine Funktion die einem bei der Fehlersuche hilft?

PICture
06.03.2006, 01:57
Hallo Smokey!

Wenn Du Mpasm benutzen werdest (was ich sehr empfehlen kann), dann werden automatisch alle für ihm "unverständliche" Wörter als Fehler angezeigt. Das betrifft nur Programm, weil er die Kommentare hinter ";" nicht liest.

MfG

PICture
16.06.2007, 22:30
Hallo!

Ich habe das Tread noch "ausgegraben" um mitzuteilen, dass ich von mir geschriebene und bis heute benutzte Programmiertools für Assembler in Wiki "PIC Assembler" als Hilfsmittel veröfentlicht habe:

https://www.roboternetz.de/wissen/index.php/PIC_Assembler#Hilfsmittel

Viel Spass damit! :)

MfG