EC1204B V1.2 LED rotating clock Programm auslesen und ändern
Titanes Member ![]() ![]() ![]() Beiträge: 142 Registriert seit: Aug 2015 Bewertung: 0 |
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
![]() ![]() Gruß Titanes |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
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
-----
Sic mundus creatus est. |
||
|
Titanes Member ![]() ![]() ![]() Beiträge: 142 Registriert seit: Aug 2015 Bewertung: 0 |
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 |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
05.10.2016, 08:20
-----
Sic mundus creatus est. |
||
|
Titanes Member ![]() ![]() ![]() Beiträge: 142 Registriert seit: Aug 2015 Bewertung: 0 |
08.01.2017, 22:20
(05.10.2016, 08:20)Unilein schrieb: Ich nutze schon seit langem den hier:Hallo, hab mir den Diamex Programmer zugelegt und das Atmel-Studio 7 installiert ![]() ![]() Gruß Titanes Gesendet von meinem SM-T800 mit Tapatalk |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
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
-----
Sic mundus creatus est. |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
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
-----
Sic mundus creatus est. |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
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
-----
Sic mundus creatus est. |
||
|
Titanes Member ![]() ![]() ![]() Beiträge: 142 Registriert seit: Aug 2015 Bewertung: 0 |
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 |
||
|
Unilein Fachgebiet Rauchentwicklung ![]() ![]() ![]() ![]() ![]() ![]() ![]() Beiträge: 817 Registriert seit: Apr 2014 Bewertung: 5 |
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
-----
Sic mundus creatus est.
(Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2017, 11:06 von Unilein.)
|
||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste