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
Wenn du einen Bootloader einspielen willst, wirst du, wie du schon selbst angemerkt hast, zwangsläufig den PIC neu programmieren müssen. Somit ist das immer noch keine Lösung, da dann immer noch deine LEDs gebraten werden. Natürlich dann nur einmalig, aber das ist in deiner Situtation egal da nach einmal die LEDs wohl hinüber sind. Falls du doch deine Zeit mit Bootloadern, die dir ja wegen oben genannten Problem nichts bringen werden, 'verschwenden' willst: http://www.sprut.de/electronic/pic/bootloader/bootloader.htm Wie das aber ohne Schnittstelle nach außen funktionieren soll, ist mir ein Rätsel. Ansonsten: Warum schließt du nicht einfach den RESET Eingang noch nachträglich an? Dafür gibt es Haardraht. Du könntest ihn ja auch auf einen Schalter legen, oder an eine Lötbrücke um ihn beim Programmieren manuell ausschalten zu können. Alternativ kannst du die Versorgungsleitung auf der Platine für die LEDs mit einem kleinen Cutter-Messer kappen, Lötstopplack abkratzen und eine Lötbrücke setzen. Wenn du programmieren willst musst du die Lötbrücke eben entfernen, danach wieder hinsetzen.
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.