www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Motorola/Freescale BDM

Autor: Sebastian B. (sfreak) Benutzerseite
Datum:

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
Autor: Tobias Plüss (hubertus)
Datum:

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
Autor: Sebastian B. (sfreak) Benutzerseite
Datum:
Angehängte Dateien:

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
Autor: Tobias Plüss (hubertus)
Datum:

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
Autor: Sebastian B. (sfreak) Benutzerseite
Datum:

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
Autor: Tobias Plüss (hubertus)
Datum:

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?
Autor: Sebastian B. (sfreak) Benutzerseite
Datum:

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
Autor: Sebastian B. (sfreak) Benutzerseite
Datum:

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?
Autor: Tobias Plüss (hubertus)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net