EC1204B V1.2 LED rotating clock Programm auslesen und ändern

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#1
03.10.2016, 18:24

Hallo, bräuchte mal eure Hilfe! Hab mich mal an diesen schönen Bausatz mit SMD Teilen gewagt. Hat auch alles hingehauen. Die Uhr läuft https://youtu.be/dzdXJjZNyNs Big Grin! Das einzige was mich ein wenig stört sind die schnellen Umschaltzeiten zwischen Zeit, Datum und Temperatur. Kann man den AT89S52 auslesen b.z.w. das Programm ändernHuh? Welchen Programmer und welche Software bräuchte ich dafür?

Gruß Titanes
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#2
03.10.2016, 19:05

Hallo Titanes,

prinzipiell kann man die Atmel-Microcontroller auch auslesen. Dazu benötigst Du einen üblichen ISP-Programmer, der über MISO, MOSI, SCK und RESET angeschlossen wird. Das AtmelStudio bietet dann über die normale Programmierfunktion auch die Möglichkeit, den Chip auszulesen. Du bekommst dann ein HEX-File (das ist das übliche Intel-Format), welche letztendlich Assembler bzw. Maschinensprache repräsentiert. Also nix mit lesbarem Code. Da musst Du dann in die Tiefen der Assembler-Programmierung absteigen :-)

Leider gibt es evtl. aber noch eine weitere Hürde: Die Atmel-Chip haben sogenannte "Fuses". Das sind spezielle Bytes, die bestimmte "Einstellungen" im Chip beeinflussen. Einer dieser Fuses verhindert das Auslesen des Chips, wenn er gesetzt wird. Ich meine mich aber zu erinnern, dass Dein Chip nicht über diese Einstellung verfügt. Sicher bin ich mir allerdings nicht.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#3
04.10.2016, 22:53

Hallo, danke für die schnelle Antwort. Werd mir dann mal einen ISP-Programmer zulegen und dann mal weiter schauen.

Gruß Titanes
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#4
05.10.2016, 08:20

Ich nutze schon seit langem den hier:

http://www.diamex.de/dxshop/Diamex-ALL-A...Programmer
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#5
08.01.2017, 22:20

(05.10.2016, 08:20)Unilein schrieb: Ich nutze schon seit langem den hier:

http://www.diamex.de/dxshop/Diamex-ALL-A...Programmer
Hallo, hab mir den Diamex Programmer zugelegt und das Atmel-Studio 7 installiert . Ich mußte dann jedoch feststellen, daß der AT89S52 unter den Devices nicht aufgeführt war . Hab dann eine Software auf der Atmelseite gefunden. Diese erkennt aber leider den Programmer nicht. Gibt es noch irgendeine andere Software oder die Möglichkeit im Atmel-Studio den At89S52 auszulesen? Einen, ich nenne es mal Treiber für den AT89S52 manuell in das Atmel-Studio einzubinden?

Gruß Titanes


Gesendet von meinem SM-T800 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#6
11.01.2017, 20:52

Hallo Titanes,

ich hätte ja gerne schon früher geantwortet, aber leider hatte ich ein Anmeldeproblem im Forum. Tesacrep hat es behoben und jetzt scheint alles wieder zu klappen. :-)

Zu Deinem Thema: Ich musste jetzt erst einmal nachlesen, was der AT89S52 überhaupt für ein Baustein ist, denn das hatte ich nicht auf dem Schirm. Der AT89S52 ist ein Mikrocontroller mit 8051-Architektur. Es gibt den 8051 in verschiedenen Varianten. Beim AT89S52 haben wir es mit einem 8051 mit Flash und SRAM zu tun. Das ist eine Besonderheit.

Nach dieser Erkenntnis habe ich mit das Atmel-Studio mal vorgenommen und auch bei mir geschaut, ob ich den Baustein in meiner Device-Liste habe... Nö... Nix da... Darüber wundere ich mich auch, da ja Atmel prinzipiell für alle seine Mikrocontroller die passenden Includes zur Verfügung stellt. Es bleibt eine Vermutung, aber es könnte sein, dass die Version 7 des Studios diese Dateien nicht mehr an Bord hat. Es könnte aber auch sein, dass es nie welche gab, da der AT89S52 vom Atmel-Standard ein wenig abweicht.

Ok, das löst ja jetzt Dein Problem nicht. Also überlegen wir mal, was man machen könnte:

1. Du hast eine Entwicklungsumgebung gefunden, die den AT89S52 unterstützt, aber den Diamex nicht erkennt.
2. Du hast Atmel Studio 7, welches mit dem Diamex klar kommt, jedoch den AT89S52 nicht kennt.

Also folgende Empfehlung:

1. Du entwickelst Dein Programm mit der AT89S52-Umgebung
2. Du versuchst, ob Du das HEX-File mit dem Atmel Studio 7 hochladen kannst.

Ob das funktioniert, weiß ich nicht, aber es ist einen Versuch wert. Und derweil machen wir uns auf die Suche nach Includes für den AT89S52 und dem Atmel Studio

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#7
13.01.2017, 13:48

Hi,

jetzt kann ich meine Aussagen noch ein wenig erweitern:


None of the AVR tools support 8051 assembly or compilation.
Some programmer hardware supports it. e.g. STK500, AVRISP-2 via stk500.exe or Studio
The Atmel STK500 only uses active-high RESET)
PonyProg will let you configure the polarity of the RESET line.
SDCC works fairly well as an 8051 C compiler.
Keil is excellent, but do you want to pay $1000 for an obsolescent CPU family?
The AT89S52 is a pretty bog-standard 8051. There are faster, better featured alternatives.


Das Atmel Studio kann den AT89S52 nicht unterstützen, da dieser eben die 8051-Architektur unterstützt und der der Maschinencode für diese Prozessoren vom Atmel-Standard abweicht.

Üblicherweise programmiert man den Baustein sogar in Assembler und nicht in C. Atmel Studio können wir hier also vergessen.

Mit welchem Tool arbeitest Du nun? Du benötigst ja jetzt ein Programm, welches den Code auf den Chip bringt und dabei den Diamex unterstützt.

Gruß,
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#8
13.01.2017, 16:26

Nochmal Hi,

jetzt habe ich mir nochmal die ursprüngliche Anforderung angesehen, damit wir hier nicht in die falsche Richtung steuern. Du wolltest ja eigentlich zunächst einmal das Programm auslesen.

Rein von der Pinbelegung des AT89S52 her sollte das klappen. Du benötigst folgende Pins des AT89S52:

Miso
Mosi
SCK
/Prog
Gnd

Verbindung mit dem Diamex wie folgt:


AT89S52 -- Diamex
Miso an Miso
Mosi an Mosi
SCK an SCK
/Prog an Reset
Gnd an Gnd

Und dann mal im Atmel Studio versuchen, das Programm auszulesen. Dafür sollte das Device egal sein, ich würde spontan einen Atmega 328 wählen.

Tja... Und dann schauen wir uns das Ergebnis mal an.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Titanes
Member
***

Beiträge: 69
Registriert seit: Aug 2015
Bewertung: 0
#9
16.01.2017, 23:58

Hallo, danke erst mal für die Antworten. Wollte gerade nochmal das Auslesen mit dem Atmelstudio antesten. Da ist mir jedoch aufgefallen, daß in der Steckleiste auf der Vorderseite der Uhr der Prog Pin nicht vorhanden ist.
(Belegung Leiste: GND, RST, SCK, MISO, MOSI, VCC). Ich muß dann wohl nochmal das Bluetoothmodul, welches leider quer über den AT89S52 liegt auslöten um an den Prog Pin dranzukommen oder um den Chip ganz aus den Sockel nehmen. Mach ich jedoch heute nicht mehr. Kann man mit dieser Belegung denn den Chip beschreiben, wenn man das Hex-File hätte?
Hab hier auch noch eien Link, wo es wohl mit einem Arduino funktionieren soll den Chip zu beschreiben.

https://tiktakx.wordpress.com/2014/04/19...for-grabs/

Gruß
Markus
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#10
17.01.2017, 10:53

Auch das Beschreiben des Chips sollte so möglich sein. Das Datenblatt des AT89S52 gibt dazu aber auch nähere Infos. Das habe ich mir die Tage mal angesehen.

Hier der Link zum Datenblatt, falls Du das nicht sowieso schon hast: http://www.atmel.com/Images/doc1919.pdf

edit: Ich sehe gerade in dem Arduino-Beispiel aus Deinem Link, dass die den RST-Pin des AT89S52 nutzen, um den Chip zu programmieren. Ich weiß jetzt allerdings gerade nicht, ob dieser Pin nicht auch als /PROG bezeichnet wird. Pin 9 ist gemeint. Auch das lässt sich sicher über das Datenblatt herausfinden.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2017, 11:06 von Unilein.)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste