Hallo, aus Platzgründen kann ich nur einen kleinen Stecker zum Programmieren meiner Platine einbauen. Es muss ein Altera MAX V CPLD über JTAG und ein STM32F1 über SWD programmiert werden. Für den µC würde ich ja auch JTAG nehmen und daisy chaining machen, wenn ich einen JTAG Programmer hätte (ich hab nur das STM32F4 Disco) und nicht zwei zusätzliche Pins am µC kosten würde. Die Frage die ich mir nun stelle ist ob man trotzdem welche von den SWD Pins mit den JTAG Pins kombinieren kann. Mindestens sollten ja schonmal die Clock Signale gehen aber was ist mit SWDIO? Kann man das mit TDI verbinden? Beim Programmieren des µCs könnte man möglicherweise den CPLD durcheinander bringen und beim Programmieren des CPLD darf der µC nichts auf SWDIO ausgeben. Kann man diese Fälle ausschließen?
Du brauchst für das CPLD einen JTAG Programmer, der sollte dann eigentlich auch den STM32 über JTAG programieren können, z.B. mit OpenOCD. SWD mit JTAG irgendwie zuammenschalten geht nicht, Du müsstest die Pins getrennt ausführen.
Für den CPLD habe ich mir einen dieser Altera USB Blaster Klons bestellt. Damit soll man auch den STM32 programmieren können? Kurz nach dem posten hier habe ich selbst noch dieses Dokument gefunden: http://www.arm.com/files/pdf/Low_Pin-Count_Debug_Interfaces_for_Multi-device_Systems.pdf Dort wird auf Seite 5 unten rechts gezeigt wo ein SWD Gerät am TMS Signal von JTAG hängt. Scheint also doch zu gehen. Hat das vielleicht schonmal jemand gemacht?
Sebastian V. O. schrieb: > Für den CPLD habe ich mir einen dieser Altera USB Blaster Klons > bestellt. Damit soll man auch den STM32 programmieren können? Ja, wenn der STM32 denn JTAG unterstützt. Bei kleineren Packages muss das nicht der Fall sein.
Bisher ist JTAG noch recht neu für mich aber bisher schien es mir immer so, dass es zwar irgendwie standardisiert ist, die verschiedenen Hersteller aber doch irgendwie immernoch ihr eigenes Süppchen kochen. Wenn ich mir z.B. den Segger JLink anschaue dann kann der scheinbar auch nur ARM µCs programmieren aber kein CPLD von Altera. Daher erstaunt es mich nun, dass man mit dem Altera Teil auch µCs programmieren können soll.
Der JTAG-Standard definiert bestimmte Protokolle zum Testen von Bausteinen (Boundary Scan etc.). Die JTAG-Schnittstelle wird weiterhin dazu "mißbraucht", um herstellerspezifische Protokolle(z.B. Debuggen, Flash-Programmieren etc) zu implementieren. Diese Protokolle sind folglich von Hersteller zu Hersteller unterschiedlich. Du brauchst für den CPLD eine PC-Software, die das CPLD-Flash-Protokoll unterstützt und einen JTAG-Adapter, der von der PC-Software unterstützt wird. Das gleiche brauchst Du für den µC.
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.