Attiny 13 mit Arduino Uno auslesen und programmieren

Hey Forum.
Ich hab mal wieder ein Problem und zwar möchte ich einen Attiny 13 auslesen und dann programmieren.
Die Frage ist jetzt kann ich den Attiny über den ISP port am Arduino programmieren mit dem Programmer vom Arduino und den Atmega vom Arduino einfach rausziehen ? und dann das ganze mit Code Vision auslesen und programmieren?
Gruß
Moritz.

Etwas schwer zu lesen:

Du möchtest einen ATtiny13 auslesen und gleichzeitig einen weitern programmieren? Also duplizieren?!
Dürfte gehen mit den Auslesen der hex Datei. Variablenänderungen sind dann aber nicht möglich.

Wenn du einen Arduino als ISP Programmer nutzen willst, musst du den Atmega 168/328P nicht rausziehen, das ist nur bei der Variante über Rx/Tx notwendig, wofür aber ein Bootloader vorhanden sein muss.

Wie gut das mit dem Arduino selber geht, kann ich nicht beurteilen, denke aber, das ein richtiger AVR ISP Programmer doch etwas komfortabler ist.

Also ich hab ja so einen ASP usb programmer, aber der wird nicht von Codevision erkannt :confused:
Der arduino schon, nur da bekomme ich immer den Fehler Communication error. Ich bin da mit meinem Latein am Ende

Was ich vielleicht noch hätte erwähnen sollen ist, dass ich das hier http://www.ebay.de/itm/Thermostat-Steuerung-Elektronik-fur-Peltier-kuhlen-und-heizen-/281270033049?pt=Bauteile&hash=item417d001a99 Programmieren will, da aber schon code auf dem Teil vorhanden ist will ich den auslesen und dann den veränderten code wieder drauf spielen.

Auslesen würde vielleicht noch gehen, aber verändern und wieder aufspielen wird nicht klappen. Es ist theoretisch bedingt sogar möglich, du bekommst da aber keinen leserlichen Code raus, wo du mal eben einen Wert ändern kannst.

Sehe aber auch keinen Vorteil, den Code auszulesen. Das scheint eine einfache Heizkennlinie zu sein.

Ich würde aber gerne den Code änder können um das Peltier auf andere Werte kühlen zu lassen

Das wird so nicht möglich sein. Der Anbieter liefert auch lediglich nur die Hex-Dateien. Da kannst du nichts wirklich dran ändern.
Wenn es eine einmalige Aktion ist, die SOLL_TEMP zu ändern, solltest du einen eigenen Sketch dafür schreiben. Setzt aber auch fortgeschrittene Programmierkenntnisse voraus.

Alternativ, was vermutlich die deutlich einfachere Möglichkeit wäre, eine eigene Schaltung aufzubauen. SOLL_TEMP über einen Poti auslesen. Lüfter und Peltiergerät dann über Logic Mosfet ansteuern.

Ok aber das ist ja nicht der Sinn der Sache weil nach der Anleitung soll es möglich sein :roll_eyes:
Außerdem warum ist es denn nicht möglich bei dem Attiny 13 den Code zu ändern ?

toniton Anleitung1.pdf (146 KB)

Das hast du falsch verstanden

8. Projekt öffnen
in Codevision >File>open und das passende .proj file angeben, am besten das ganze ^
Projekt Verzeichnis vorher kopieren und mit einer Kopie arbeiten

Das bezieht sich nicht auf das Auslesen des Attiny! Hier ist ein bereits geschriebenens geöffnet worden und auf den Attiny geschrieben worden.

Dann ist der Attiny noch garnicht beschrieben oder ?
Also könnte ich meinen Code schreiben und dann über den Arduino aufspielen ?

Diese Programm

int led = 13;

void setup() 
{
  pinMode(led, OUTPUT);
}
void loop() 
{
  digitalWrite(led, HIGH); 
  delay(1000); 
  digitalWrite(led, LOW);
  delay(1000); 
}

wird wie folgt auf dem Mikrokontroller geladen.

:100000000C9461000C947E000C947E000C947E0095
:100010000C947E000C947E000C947E000C947E0068
:100020000C947E000C947E000C947E000C947E0058
:100030000C947E000C947E000C947E000C947E0048
:100040000C949D000C947E000C947E000C947E0019
:100050000C947E000C947E000C947E000C947E0028
:100060000C947E000C947E00000000002400270009
:100070002A0000000000250028002B0000000000DE
:1000800023002600290004040404040404040202DA
:100090000202020203030303030301020408102007
:1000A0004080010204081020010204081020000012
:1000B0000007000201000003040600000000000029
:1000C000000011241FBECFEFD8E0DEBFCDBF11E08E
:1000D000A0E0B1E0EAE5F4E002C005900D92A230A4
:1000E000B107D9F711E0A2E0B1E001C01D92AB3039
:1000F000B107E1F70E941B020C942B020C94000044
:100100008091000161E00E94C70168EE73E080E029
:1001100090E00E9420018091000160E00E94C701F0
:1001200068EE73E080E090E00E94200108958091E5
:10013000000161E00E94880108951F920F920FB69E
:100140000F9211242F933F938F939F93AF93BF935D
:100150008091060190910701A0910801B0910901D9
:1001600030910A010196A11DB11D232F2D5F2D375E
:1001700020F02D570196A11DB11D20930A018093F7
:10018000060190930701A0930801B09309018091A3
:10019000020190910301A0910401B0910501019623
:1001A000A11DB11D8093020190930301A09304014E
:1001B000B0930501BF91AF919F918F913F912F9186
:1001C0000F900FBE0F901F901895789484B58260A1
:1001D00084BD84B5816084BD85B5826085BD85B5EB
:1001E000816085BDEEE6F0E0808181608083E1E89A
:1001F000F0E01082808182608083808181608083D2
:10020000E0E8F0E0808181608083E1EBF0E08081D4
:1002100084608083E0EBF0E0808181608083EAE7A6
:10022000F0E080818460808380818260808380812F
:10023000816080838081806880831092C1000895EE
:10024000EF92FF920F931F93CF93DF937B018C016B
:100250003FB7F8948091020190910301A0910401AD
:10026000B091050126B5A89B05C02F3F19F0019656
:10027000A11DB11D3FBFBA2FA92F982F8827820F2C
:10028000911DA11DB11D52E0880F991FAA1FBB1F10
:100290005A95D1F7EC0130C00E942A023FB7F8947A
:1002A0008091020190910301A0910401B091050198
:1002B00026B5A89B05C02F3F19F00196A11DB11DC1
:1002C0003FBFBA2FA92F982F8827820F911DA11DFC
:1002D000B11D32E0880F991FAA1FBB1F3A95D1F7B5
:1002E0008C1B9D0B885E9340B8F20894E108F108DE
:1002F00001091109C851DC4FE114F1040105110590
:1003000059F6DF91CF911F910F91FF90EF900895D3
:10031000CF93DF93482F50E0CA0186569F4FFC01D0
:1003200034914A575F4FFA018491882369F190E034
:10033000880F991FFC01E859FF4FA591B491FC016A
:10034000EE58FF4FC591D491662351F42FB7F8941E
:100350008C91932F909589238C93888189230BC04E
:10036000623061F42FB7F8948C91932F9095892384
:100370008C938881832B88832FBF06C09FB7F89406
:100380008C91832B8C939FBFDF91CF910895482F41
:1003900050E0CA0182559F4FFC012491CA01865644
:1003A0009F4FFC0194914A575F4FFA0134913323D8
:1003B00009F440C0222351F1233071F0243028F495
:1003C0002130A1F0223011F514C02630B1F02730D1
:1003D000C1F02430D9F404C0809180008F7703C02D
:1003E000809180008F7D8093800010C084B58F77CE
:1003F00002C084B58F7D84BD09C08091B0008F7725
:1004000003C08091B0008F7D8093B000E32FF0E0B7
:10041000EE0FFF1FEE58FF4FA591B4912FB7F89440
:10042000662321F48C919095892302C08C91892BAD
:100430008C932FBF0895CF93DF930E94E5000E9415
:100440009700C0E0D0E00E9480002097E1F30E9476
:0A0450000000F9CF0895F894FFCFE3
:02045A000D0093
:00000001FF

Somit sollte dir klar sein, dass du mit der Datei recht wenig anfangen kannst, wenn du diese wieder vom Mikrokontroller ausliest.

Ich gehe davon aus, dass die Teile bereits beschrieben sind. Natürlich kannst du deinen Code schreiben und dann aufspielen.

Macht Sinn :slight_smile:
Und wie bekomme ich jetzt meinen Code auf den Attiny ?

Es gibt natürlich Disassembler, aber damit hat man dann nur Assembler und keinen C-Code. So oder so sind bei sowas alle Variablen-Namen weg. Deshalb muss man sich schon sehr, sehr, sehr gut auskennen um damit was anfangen zu können.

Pram:
Also ich hab ja so einen ASP usb programmer, aber der wird nicht von Codevision erkannt :confused:
Der arduino schon, nur da bekomme ich immer den Fehler Communication error. Ich bin da mit meinem Latein am Ende

Du hast ein codevision projekt, nur codevision erkennt deinen ISP Programmer nicht ???

Wenn das stimmt, dann hast du ja den Quellcode, den du bequem ändern kannst.
Fragt sich nur, wie du das eigentliche Problem löst:

  • Statt deines Programmers einen Arduino als ISP Programmer verwenden, wenn codevision den als Programmer erkennt
    oder
  • einen Arduino sketch draus machen und den mit deinem Programmer hochladen.
    oder
  • auf der codevision Seite schauen, warum das mit deinem Programmer nicht geht.
    ( Aber billiger als 1 year advanced codevisionavr support wäre natürlich ein unterstützter Programmer. )