8051 SST89E54RC kann nicht programmiert werden

OP #5023406
Lesenswert?

Hallo zusammen,

ein Freund und ich versuchen nun schon seit längerem den SST89E54RC zu 
programmieren.
Unsere Aufgabe besteht darin, auf diesem µC eine UART zu programmieren. 
Laut Datenblatt müsste dieser einen vorporgrammierten Bootloader haben 
und somit über die serielle Schnittstelle angesteuert werden können. 
Dazu verwenden wir das Tool EasyIAP. Der µC ist fabrikneu.
Die µC haben wir so angeschlossen, wie es im Datenblatt vorgegeben ist. 
Spannungsversorgung von 5V funktioniert. Ursprünglich haben wir einen 
1,8432 Mhz Quarz verwendet. Nachdem dies aber nicht funktioniert hat, 
haben wir einen "original" 8051-Quarz ausprobiert (11,0592 Mhz). Mit 
Beiden haben wir sämtliche Baud-Raten ausprobiert. Die Quarze haben wir 
überprüft und sie funktionieren.
Zur Kommunikation mit dem PC verwenden wir eine USB to Serial bridge, 
dessen Signale kommen am µC auch an. Allerdings reagiert der µC nicht. 
Gibt es die Möglichkeit, zu überprüfen, ob der Bootstraploader überhaupt 
funktioniert?
Für den Boot-Up gibt es eine Grafik im Datenblatt auf S.48 (siehe 
Anhang), wie die Pins angesteuert werden müssen. Auch das haben wir 
mehrfach versucht.
Die Pins EA# und RST haben wir wie im Datenblatt angegeben 
angeschlossen. Leider hat all dies nicht zum Erfolg geführt.

Hat jemand von euch eine Idee, woran es liegen könnte, dass wir den µC 
nicht erreichen?
Im Voraus vielen Dank für Eure Unterstützung.

Beste Grüße
Alex und Stefan
Angehängte Dateien:
Beitrag #5023861 wurde von einem Moderator gelöscht.
Gast #5023931
Lesenswert?

Wenn es ein 51er von STC ist:
Fuer die STC-Controller gibt es noch viel andere SW* um die
Dinger zu programmieren.
Das UI ist dann aber in chinesisch. Aber so viele Knoepfe
zum Druecken sind es ja nicht.


*) z.B.:
- SSCOM
- TV1023
- COMMIX
#5024324
Lesenswert?

Alex R. schrieb:
> Gibt es die Möglichkeit, zu überprüfen, ob der Bootstraploader überhaupt
> funktioniert?

Das sollte mit EasyIap möglich sein. Anbei der folgende Link:
http://www.kswichit.com/Flashflex/BSL11F_Users_Guide.pdf
Zur Überprüfung des Bootloaders würde ich folgendermaßen vorgehen:
Alle Verbindungen zum Mikrokontroller entfernen (ausser 
Spannungsversorgung natürlich), Quarzfrequenz 11.xxx MHz. Reset(Pin 
8)nach Datenblatt beschalten und mit einer Möglichkeit zum manuellen 
Reset versehen. /EA(Pin 31) auf '1'(interner Programmzugriff). RxD und 
TxD (s.Link) über geeignete Pegelwandler mit dem PC verbinden. Easyiap 
starten, ggf. den COMport, Chiptyp und geschätzte Baudrate auswählen, 
den Menüpunkt zum Verbindungsaufbau aktivieren. Manuellen Reset des 
Mikrokontrollers durchführen. Der Bootloader sollte sich jetzt in 
irgendeinem Fenster von EasyIap melden. Falls unleserliches Zeug 
erscheint, andere Baudrate versuchen. Falls gar nichts erscheint, tja, 
fehlerhafte elektrische Verbindungen, kein Bootloader oder Chip kaputt.
Gast #5024362
Lesenswert?

G. O. schrieb:
> Überprüfung des Bootloaders

Da steht "Pre-programmed into SST89E/V5x4Rx and SST89E/V5xRDx MCUs"

Was ist nun aber wenn Microchip den Bootloader tatsächlich nicht 
draufgemacht hat?

Woher bekommt man dann den Bootloader "F51MBLI5.HEX"? Und welcher 
Programmer kann verwendet werden? AT89 ISP geht ja sicher nicht. P89V51 
ICP ist teuer und lohnt nicht.
#5025145
Lesenswert?

Joerg L. schrieb:
> Die SST 8051 die ich vor Jahren in der Hand hatte, hatten ab Werk alle
> einen Bootloader.

Warum schreibt man das aber nicht ins Datenblatt rein?

Ich lese da nur, man kann einen (selber) reinbrennen:
"An example bootstrap loader can be pre-programmed into Partition1 to 
demonstrate the initial user program code loading or subsequent user 
code updating via the IAP operation."
OP #5025832
Lesenswert?

Hallo zusammen,

erst mal vielen Dank an euch alle für eure Unterstützung!

G. O. schrieb:
> Das sollte mit EasyIap möglich sein.

Danke für deinen Vorschlag. Den haben wir so nun mehrmals getestet. 
Leider ohne Erfolg, der µC macht keinen Mucks!

Wir sind davon ausgegangen, dass der Bootloader bereits programmiert 
ist, da es so in dem Software Datenblatt steht.

Peter D. schrieb:
> Du brauchst einen parallel
> Programmer:

Das heißt wir müssen uns jetzt so einen Programmer besorgen um zu 
schauen, ob ein Bootloader drauf ist, richtig?

??? schrieb:
> Woher bekommt man dann den Bootloader "F51MBLI5.HEX"?

Und wo bekommen wir dann die Hex-File her, um den µC dann zu 
programmieren? Im Datenblatt wird hier auf die SST-Website verwiesen. 
Die Website scheint dies aber nicht mehr herzugeben.

Peter D. schrieb:
> Der AT89C51RB2-3CSUM ist ähnlich und mit UART-Bootloader

Danke für den Vorschlag. Wir müssen aber den genannten µC verwenden.

Grüße Alex und Stefan
#5026339
Lesenswert?

Alex R. schrieb:
> Wir müssen aber den genannten µC verwenden.

Dann soll doch der-/diejenige, der/die euch im Nacken sitzt, sagen, wie 
ihr euer Programm in gerade diesen Prozessor hineinbekommt und wieviel 
ihm/ihr der damit verbundene Aufwand wert ist. :-|

Alex R. schrieb:
> Wir sind davon ausgegangen, dass der Bootloader bereits programmiert
> ist, da es so in dem Software Datenblatt steht

Naja, wenn man sich das Datenblatt dieses Prozessors, insbesondere die 
Einleitung, ansieht, dann liest man, wie PeDa schon bemerkte, nichts 
über einen vorprogrammierten Bootloader, im Gegensatz zu den 
Datenblättern von anderen Prozessoren aus dieser Familie, in denen ein 
Bootloader ausdrücklich erwähnt wird. Im Datenblatt dieses Prozessors 
ist zu lesen, dass ein Bootloader bei Bedarf von der SST-Seite (die 
offensichtlich nicht mehr existiert) heruntergeladen werden kann.
Der Loader kann im Internet zwar noch gefunden werden, allerdings ist 
der Download an Bedingungen geknüpft und wohl auch nicht ganz ohne 
Risiko.
(Firma: 100nF 0603 X7R) #5026471
Lesenswert?

Die CPU aus meinem letzten Design mit SST war ein SST89V58RD2 (Foto).
Booloader war ab Werk drin, Programmierung war über EasyIAP SW-Rev06, 
11/1/05 problemlos möglich, über eine USB/UART Bridge eines bekannten 
schottischen Herstellers.
Den Unterschied 89V5x zu 89e5x habe ich als 3V/5V Betriebsspannung in 
Erinnerung. Einen 89e5x Chip habe ich nicht vorliegen, kann also keine 
Tests damit machen. Mir fehlt momentan auch die Zeit dazu.

Details aus der Schaltung damals:
- An das Bild aus dem Datenblatt mit P1.0 und P1.1 auf GND für den 
Bootloader kann ich mich nicht erinnern. Das muß ich damals übersehen 
haben. In meiner Schaltung liegen beide über Pullups nach VCC. 
Programmieren war meiner Erinnerung nach möglich.
- RTS und CTS von der USB/UART Bridge sind verbunden, und sind über eine 
Diode mit dem Reset-Eingang verbunden. Damit kann das EasyIAP einen 
Reset des 8051 auslösen.
- Quarz ist wie auf dem Foto erkennbar der Standard-11.0592MHz

HTH,
Jörg
Angehängte Dateien:
#5026487
Lesenswert?

Die alten Philips P89C51RD2 hatten auch nen schönen Bug. Man konnte sich 
für immer aus dem Bootloader aussperren, indem man den Bootvector 
verstellte:

"If the factory default setting for the Boot Vector (0FCH) is changed, 
it
will no longer point to the ISP masked-ROM boot loader code. If this
happens, the only way it is possible to change the contents of the
Boot Vector is through the parallel programming method"
#5027113
Lesenswert?

Joerg L. schrieb:
> Die CPU aus meinem letzten Design mit SST war ein SST89V58RD2 (Foto).
> Booloader war ab Werk drin, Programmierung war über EasyIAP SW-Rev06,
> 11/1/05 problemlos möglich, über eine USB/UART Bridge eines bekannten
> schottischen Herstellers.

Nein!
Das was intern (ab Werk bei allen SST89...) enthalten ist, ist nicht der 
angesprochene Bootloader, sondern eine IAP-Software 
(In-Application-Programming).
Diese Programmoierung funktioniert nur gemeinsam mit "EasyIap" oder 
einem vergleichbaren Programm.

Die klassische Bootloader-Funktion (Download Intel-Hex via serieller 
Schnittstelle) benötigt eine extra Software im Mikrocontroller.
(Firma: 100nF 0603 X7R) #5027199
Lesenswert?

Route 6. schrieb:
> Nein!
> Das was intern (ab Werk bei allen SST89...) enthalten ist, ist nicht der
> angesprochene Bootloader, sondern eine IAP-Software
> (In-Application-Programming).

Für mich ist das das Gleiche.
Die "alten" 8051 hatten das alle gar nicht, jedes ab Werk enthaltene 
Stück Software zur IAP ist damit ein riesen Fortschritt, und verdient in 
meinen Augen diesen Namen.

Wenn Du es aber genau nehmen willst, darfst Du einen Bootloader nur dann 
so nennen, wenn er zum Laden der Firmware von einem externen Speicher 
ins RAM dient (SPI-Flash, Festplatte, usw). IAP ist streng genommen kein 
Bootloader.
Gast #5033237
Lesenswert?

Alex R. schrieb:

> Danke für den Vorschlag. Wir müssen aber den genannten µC verwenden.
>
> Grüße Alex und Stefan

Alex R. schrieb:
> Wir werden das Projekt mit diesem µC an dieser Stelle abbrechen.

So etwas nennt man wohl heiße Luft. Erst ein großes Fass aufmachen und 
dann Pfffffffffffffffft.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren