Hi, ich habe hier ein Paar antike MC68331 Mikrocontroller die ich gerne mal verbauen wuerde. Also habe ich mich auch schon mal ein einem Debug/Programmier-Geraet umgesehen. Nun nennen sich ja alle Debugschnittstellen von allen Freescale-Prozessoren BDM... die entsprechenden Geraete unterstuetzen aber immer nur ein Paar Prozessoren. Gibt es irgendwo eine Uebersicht, welche Prozessoren welches Protokoll verwenden und in wie weit die untereinander kompatibel sind? Ich habe bisher in dem Chaos noch ueberhauot keinen Ueberblick. Ach ja: Am liebsten haette ich ein BDM-Interfac mit USB. Und mit dem MC68331 soll es natuerlich funktionieren... Auf Erleuchtung hoffend Sebastian
Hallo Sebastian, mit USB kann ich leider nicht dienen. Aber du kannst dir ganz einfach dein eigenes BDM-Interface basteln, welches du dann an den Parallelport hängen kannst. Mit der Software BD32, welche sich von Freescale.com runterladen lässt, kannst du dann über diesen Parallelport auf deine BDM-Schnittstelle zugreifen. Das klappt mit jedem Microcontroller, der BDM hat, beschränkt sich also nicht auf einen bestimmten. So klappt das z.B. mit allen M68300-Microcontrollern, aber ich glaube, ColdFire sollte sich auch damit ansprechen lassen (bin mir aber nicht 100%ig sicher, da ich ColdFire nicht wirklich kenne). Wenn es dich ncht reut, ein solches Gerät zu kaufen (welches sicher nicht allzu günstig ist), dann schau mal nach BDI1000 oder BDI2000 von Abatron (z.B.). Das Gerät hat Ethernet- und RS-232-Schnittstellen, und man kann es am ColdFire, M68300 und vielen anderen Micro's mit BDM verwendetn. Ich benutze das Gerät in der Firma, es ist wirklich nicht schlecht ;) vor allem extrem schnell halt, da kommt ein selbergebastelts Interface nicht ran. Wie auch immer, ich würde es mal mit BD32 probieren. BTW: Wie machst du das mit der Leiterplatte? Ich versuche schon seit längerem, ein komplexeres Board zu realisieren, aber ich scheitere immer beim Layout, weil ich mir nicht mehr als 2 Lagen gönnen will (aus Kostengründen) und es irgendwie schlichtweg unmöglich ist, mit einem solchen Microcontroller zu layouten... ich verwende übrigens den '332, fast dasselbe. Grüsse Tobias
Hi, um diesen antiken Thread und das dranhaengende Projekt mal wieder aufzuwaermen... Vielleicht kann ich mich ja so dazu bringen das ganze endlich mal fertig zu machen. Ich denke es ist schon moeglich ein (einfaches) Board mit dem Controller auf zwei Lagen zu quetschen. Die Massefuehrung ist dann sicher nicht mehr optimal aber ich habe schon viel schlimmeres (funktionieren) gesehen. Inzwischen habe ich aber auch ein Paar andere 4-lagige Projekte, vielleicht mache ich das Board nochmal neu mit 4 Lagen. Ein Bildchen von meinem Versuch fuer 2 Lagen mal im Anhang. Offensichtlich noch nicht ganz fertig geroutet und ein Paar Kondensatoren mehr wuerden auch nicht schaden, mit ein bisschen quetschen lassen sich auch noch ein paar weitere Pins vom Prozessor auf die Stiftleiste legen. Nun liegt das Projekt aber schon seit Monaten (Jahren?) unangetastet hier herum, ermutige mich mal jemand daran weiterzuarbeiten :-) Ueber BDM habe ich mich inzwischen auch etwas ausfuehrlicher informiert. Es sollte sich problemlos und einigermassen performant z.B. mit dem FT2232 USB-Chip von FTDI umsetzen lassen. Nur bin ich mir nicht sicher ob ich Lust habe die Software dazu zu schreiben... hardware bauen macht mir mehr Spass :-) Sebastian
Hoi, die Geschichte mit dem FT2232 würde mich interessieren. Wie hast du das gemacht? BTW: Board sieht nicht so übel aus. Was kann es alles? Gruss
Hi Tobias, also gemacht hab ich das noch gar nicht, bisher ist das blos eine theoretische Ueberlegung. Aber BDM ist einfach ein synchrones serielles Interface, sehr aehnlich zu SPI. Der FT2232 hat zwei Schnittstellen: eine koennte man z.B. als "normale" asynchrone serielle Schnittstelle konfigurieren und die andere als synchrone eben fuer BDM benutzen. Genau den selben Aufbau benutzen divere Low-Cost JTAG Adapter fuer FPGAs und ARMs die auf diesem Chip basieren. Die sollten sich problemlos durch Tausch der Software auf PC-Seite in BDM-Debugger umwidmen lassen. Bislang hab ich aber noch keine entsprechende Software gefunden. Werde in den naechsten Tagen mal schauen wie viel Aufwand es ist gdb entsprechend anzupassen. Das Board hat vorgesehen: 2 MB SRAM, 1..2 MB Flash, Ethernet (LAN91c96) und die Siftleiste fuer Erweiterungen. Allerdings bin ich mit der Belegung der Stiftleiste noch nicht zufrieden. Und ich bin am Ueberlegen den Ethernet-Chip und die RS232-Buchse durch o.g. USB-Baustein zu ersetzen - aber dann muss ich quasi das ganze Board neu routen... mal sehen was ich mir in den naechsten Tagen noch ueberlege. Sebastian
Hoi Sebastian, in dem Fall brauchst du wohl dann eine spezielle Software um dein FT2232->BDM ansprechen zu können oder? Cool wärs natürlich, wenn es mit dem 'normalen' BD32 oder irgend ner anderen, bereits existierenden Software, ginge. Dann müsste man nichts basteln ;-) Hast du schon ne Ahnung, wie schnell du diese Schnittstelle machen könntest? Oft sind es ja nur paar kB/s, aber mit 'richtigen' BDM-Geräten (wir haben in der Firma eine BDI-Box von Abatron, mit Ethernet-Anschluss) läuft die schnittstelle mit bis zu mehreren MB/s. Halt je nach Prozessortakt ;-) So als Tipp: Ethernet lässt sich auch mit einem CP2200 gut machen. Der ist wesentlich kleiner als dein LAN91c96 (48 Pins im QFP) und hat nen 8 Bit parallel-Bus. Allerdings kann er auch nur 10 MBit, wenn dich das nicht stört. Den CP2200 gibts z.B. bei microcontroller-starterkits.de, wie auch passende Übertrager. Gruss PS: Was hast du für SRAM Chips?
Ja, ein kleine Software ist noetig. Da ich mit den GNU-Tools arbeiten moechte muss ein Interface fuer den GNU Debugger her. gdb verwendet ein seriellen Protokoll um mit dem Target zu kommunizieren (da gibts dann Befehle um Breakpoints zu setzen, Speicher zu lesen etc.). Da aber keine normale serielle Verbindung verwendet werden soll, schreibt man ein kleines Programm das auf der einen Seite mit gdb spricht und auf der anderen Seite die entsprechenden Befehle per USB rausschickt. Dann kann man den gdb ganz normal benutzen um Programme zu laden und zu debuggen. So wird's auch normalerweise gemacht wenn man gdb und JTAG zusammen bringen will. Siehe: http://sourceware.org/gdb/current/onlinedocs/gdb_18.html http://www.embedded.com/1999/9911/9911feat3.htm (nur das ich hier keinen Stub verwenden will sondern quasi eine eigene Version von gdbserver) Was die Performance angeht ist dies sicher keine High-End-Loesung, aber deutlich schneller als ein zusammengefrickelter Parallelport-Adapter. Die maximale Frequenz auf dem synchronen seriellen Port vom FT2232 ist 6 Mhz, aber USB-Delays machen die Sache noch deutlch langsamer. Wenn der FT2232 fuer JTAG verwendet wird kann man wohl so 100 bis 150 kB/s erreichen. Ich wuerde BDM in der selben Groessenordnung vermuten. Die SRAMs sind 512k * 8Bit, hab den Typen von Reichelt vorgesehen, dort unter 628512 wenn ich mich recht entsinne. Sebastian
Allerdings ist es natuerlich keine gute Idee so anzufangen wie mir das im Moment vorschwebt: neue Entwicklungstools auf neuer (und wahrscheinlich nicht funktionierender) Hardware zu entwickeln mit anderen Tools die ich vorher nicht ausprobiert habe. Das kann eigentlich nur schief gehen. Also sollte ich mir vielleicht erstmal ein funktionierendes CPU32 System besorgen um die Idee mit dem FT2232 auszutesten und erst wenn ich weiss das das tatsaechlich klappt meine Platine bauen... nur wo soll ich das hernehmen? Mal sehen ob in den naechsten Wochen was bei eBay auftaucht. Andere Vorschlaege?
Kannst ja, wenn du willst, dein Schema mal hier posten. Da ich den '332 recht gut kenne, finden wir dann zusammen schon anhand des Schemas raus, ob das läuft oder nicht ;-) Ansonsten kann ich dir bei Bedarf vlt. Auszugsweise ein paar andere Schemata zeigen, die ich hier rumliegen habe. Gruss
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.