Hallo,
ich habe beim letzten platinenlayout einen Fehler gemacht und muss jetzt
die software umgestalten. Mein Fehler: der Enable-Eingang eines
LED-Treiber-Schieberegister-ICs ist nicht (an die RESET-Leitung)
angeschlossen. Daher treibt er immer die LEDs. Der Strom ist für den
gepulsten MUX-Betrieb ausgelegt. Während ich den µC aber programmiere,
steht der Multiplexer und der Treiber verbrennt die LEDs.
Der beste Vorschlag hier im board, war es, einen bootloader einzusetzen.
So kann ich in jedem Fall den Treiber erstmal abschalten, bevor die
Möglichkeit besteht, dass der µC programmiert wird.
So etwas habe ich bislang noch nicht gemacht und hätte jetzt gerne ein
paar Tips.
1. Wie den Bootloader übertragen:
Ich gehe davon aus, dass ich den einfach über ISP in den PIC bekomme.
Ich habe ein picKit3 zur Verfügung. Aber wie stelle ich sicher, dass er
an der richtigen Adresse im Flash landet?
2. Verbindung für die Übertragung der eigentlichen Programme:
Ich habe auf meiner platine nur PGC und PGD herausgeführt. An die
seriellen Schnittstellen komme ich nicht heran. Höchstens ISP/I²C käme
noch in Frage. Oder ich fummel etwas mit pogo-pins hin, was mir aber
direkt an den TQFP-Pads nicht so sehr gefällt.
3. Verbindung PC-seitig:
Am besten wäre es natürlich, wenn ich zum Übertragen der Software wieder
das picKit verwenden kann. Gibt's hierfür geeignete PC-Tools?
Ansonsten brauche ich wohl oder übel noch einen Wandler für die unter 2.
gewählte Schnittstelle. Habt ihr da Vorschläge?
Lochraster oder fertiges Gerät kämen in Frage. Eine neue SMD-Platine
möche ich hierfür nicht herstellen lassen.
4. Welchen Bootloader verwenden?
auf der webseite habe ich nur diesen hier gefunden:
http://ww1.microchip.com/downloads/en/DeviceDoc/srlbootl.zip
Der ist allerdings für die Serielle Schnittstelle gedacht. An die beiden
EUSARTs komme ja nicht ran.
Gibt's irgendwelche bootloaderprojekte, auf die ich zurückgreifen
könnte?
Ich programmiere fast nur in C. Aber wenn sich ASM-lernen nicht
vermeiden lässt, muss es eben sein!
ihr seht, es bleiben also einige freiheitsgrade:
welche Schnittstelle am µC?
welche Schnittstelle am PC?
welche Software am PC?
welche Firmware aufspielen?
mein pic:
PIC18F46K22-IPT @ 4x16MHz