Forum: Mikrocontroller und Digitale Elektronik Motorola/Freescale BDM


von Sebastian B. (sfreak) Benutzerseite


Lesenswert?

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

von Tobias P. (hubertus)


Lesenswert?

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

von Sebastian B. (sfreak) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Tobias P. (hubertus)


Lesenswert?

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

von Sebastian B. (sfreak) Benutzerseite


Lesenswert?

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

von Tobias P. (hubertus)


Lesenswert?

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?

von Sebastian B. (sfreak) Benutzerseite


Lesenswert?

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

von Sebastian B. (sfreak) Benutzerseite


Lesenswert?

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?

von Tobias P. (hubertus)


Lesenswert?

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
Noch kein Account? Hier anmelden.