Forum: Mikrocontroller und Digitale Elektronik Assembler Programm von ATtiny13 auf ATtiny45 portieren


von Hans S. (hasch)


Angehängte Dateien:

Lesenswert?

Ich habe ein Assembler-Programm für einen ATtiny13 das auch super 
funktioniert. Das Programm bindet eine Datei "ringtones.inc" ein. Diese 
Datei enthält Klingeltöne im Nokia RTTTL Format, allerdings passen in 
der ATtiny13 nur 2 Klingeltöne rein. Ich habe deshalb versucht, das 
Programm auf den ATtiny45 zu portieren. Allerdings scheint es nicht 
damit getan zu sein, in Zeile 2 die Definition anzupassen. Kann mal 
jemand von euch drübergucken und mir sagen, was ich sonst noch ändern 
muss? Ich habe von Assembler keine Ahnung.

Ergänzung:
Ich bekomme von Microchip Studio 3 Fehlermeldungen geliefert:
1
Severity  Code  Description  Project  File  Line
2
Error    Undefined symbol: EEAR  RTTTL  C:\Users\HaSch\Documents\Atmel Studio\7.0\RTTTL\RTTTL\main.asm  327
3
Error    Undefined symbol: EEAR  RTTTL  C:\Users\HaSch\Documents\Atmel Studio\7.0\RTTTL\RTTTL\main.asm  335
4
Error    Undefined symbol: TIMSK0  RTTTL  C:\Users\HaSch\Documents\Atmel Studio\7.0\RTTTL\RTTTL\main.asm  67

[Mod: code-Tags eingefügt]

: Bearbeitet durch Moderator
von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

die nachfolgend hinzu gefügte Fehlermeldung zeigt unbekannte 
Registernamen an.

Man nimmt sich also beide Datenblätter.pdf beider µCs her, schaut in die 
Registertabelle und prüft, ob der "neue" µC etwa ähnliche Registernamen 
hat und wenn ja, ändert man diese im Quelltext auf die neuen Namen ab.

Zusätzlich muß die Interrupttabelle angepaßt werden auf den "neuen" µC.

beispielsweise sieht diese beim At13 so aus:

If the program never enables an interrupt source, the Interrupt Vectors 
are not used, and
regular program code can be placed at these locations. The most typical 
and general
program setup for the Reset and Interrupt Vector Addresses in ATtiny13 
is:
1
Address Labels Code Comments
2
0x0000 rjmp RESET ; Reset Handler
3
0x0001 rjmp EXT_INT0 ; IRQ0 Handler
4
0x0002 rjmp PCINT0 ; PCINT0 Handler
5
0x0003 rjmp TIM0_OVF ; Timer0 Overflow Handler
6
0x0004 rjmp EE_RDY ; EEPROM Ready Handler
7
0x0005 rjmp ANA_COMP ; Analog Comparator Handler
8
0x0006 rjmp TIM0_COMPA ; Timer0 CompareA Handler
9
0x0007 rjmp TIM0_COMPB ; Timer0 CompareB Handler
10
0x0008 rjmp WATCHDOG ; Watchdog Interrupt Handler
11
0x0009 rjmp ADC ; ADC Conversion Handler
12
;
13
0x000A RESET: ldi r16, low(RAMEND); Main program start
14
0x000B out SPL,r16 ; Set Stack Pointer to top of
15
RAM
16
0x000C sei ; Enable interrupts
17
0x000D <instr> xxx
18
... ... ... ...
19
Table 18. Reset and Interrupt Vectors
20
Vector
21
No.
22
Program
23
Address Source Interrupt Definition
24
1 0x0000 RESET External Pin, Power-on Reset, Brown-out Reset,
25
Watchdog Reset
26
2 0x0001 INT0 External Interrupt Request 0
27
3 0x0002 PCINT0 Pin Change Interrupt Request 0
28
4 0x0003 TIM0_OVF Timer/Counter Overflow
29
5 0x0004 EE_RDY EEPROM Ready
30
6 0x0005 ANA_COMP Analog Comparator
31
7 0x0006 TIM0_COMPA Timer/Counter Compare Match A
32
8 0x0007 TIM0_COMPB Timer/Counter Compare Match B
33
9 0x0008 WDT Watchdog Time-out
34
10 0x0009 ADC ADC Conversion Complete

________________________________________________

Diese also ersetzen durch diejenige des "neuen" µCs. Ich bin allerdings 
seit Jahren aus diesen Theman raus und mir ist die Zeit zu knapp. Viel 
Erfolg.

mfg

[Mod: code-Tags eingefügt]

: Bearbeitet durch Moderator
von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> EEAR
> TIMSK0

Die heißen dann EEARL bzw TIMSK.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> EEAR
>> TIMSK0
>
> Die heißen dann EEARL bzw TIMSK.

Danke, damit läuft das Build nun ohne Fehlermeldung durch. Allerdings 
funktioniert das Programm noch nicht. Es sieht so aus, als ob es nicht 
gestartet würde. In main.asm sind nun folgende Zeilen grün markiert:
1
.INCLUDE "TN45def.inc"
2
...
3
OUT TIMSK,R16
4
...
5
unter READROM:
6
OUT EEARL,R16
7
...
8
unter WRITEROM:
9
OUT EEARL,R16
10
...
11
rjmp start
Also die Zeilen, die ich geändert habe und die letzte (rjmp start).Was 
bedeutet die grüne Markierung? Muss ich die letzte Zeile mit der start 
Anweisung auch noch ändern?

[Mod: code-Tags eingefügt]

: Bearbeitet durch Moderator
von S. L. (sldt)


Lesenswert?

Ganz so einfach wird es nicht werden; z.B. ist die Frequenz des 
'Calibrated Internal Oscillator' verschieden.

Nur aus allgemeinem Interesse: wie sieht dieses 'ringtones.inc' aus?

von Karl B. (gustav)


Lesenswert?

Hans S. schrieb:
> Allerdings
> funktioniert das Programm noch nicht.
Meine Idee:
das Include file "ringtones.inc" einmal direkt ausformuliert eingeben.
Die Reihenfolge, wie Programmschnipsel eingegeben werden müssen, ist 
auch wichtig. Und, steht das File auch auf derselben Directory, damit 
der Programmer das auch findet?
Zum Beispiel klappt bei mir "lcdroutines.inc" nicht. Ich muss die 
LCD-Routinen ausformulieren, Befehl für Befehl. Dann gehts.

ciao
gustav

: Bearbeitet durch User
von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
> Ganz so einfach wird es nicht werden; z.B. ist die Frequenz des
> 'Calibrated Internal Oscillator' verschieden.
>
> Nur aus allgemeinem Interesse: wie sieht dieses 'ringtones.inc' aus?

So:
1
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2
;OCTAVE TABLES
3
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
4
5
OCTAVE3:
6
.DB "P",3,85,40,5,"A",3,85,40,5,"a",3,80,118,5,"B",3,76,202,5,"C",3,72,34,6,"c",3,68,127,6,"D",3,64,226,6,"d",3,60,75,7,"E",3,57,186,7,"F",3,54,47,8,"f",3,51,172,8,"G",3,48,48,9,"g",3,45,188,9
7
OCTAVE4:
8
.DB "A",3,43,80,10,"a",3,40,237,10,"B",3,38,147,11,"C",3,36,68,12,"c",3,34,254,12,"D",3,32,196,13,"d",2,241,150,14,"E",2,228,116,15,"F",2,215,95,16,"f",2,203,88,17,"G",2,191,96,18,"g",2,181,120,19
9
OCTAVE5:
10
.DB "A",2,170,160,20,"a",2,161,218,21,"B",2,152,39,23,"C",2,143,135,24,"c",2,135,252,25,"D",2,128,136,27,"d",2,121,43,29,"E",2,114,231,30,"F",2,107,189,32,"f",2,101,176,34,"G",2,96,192,36,"g",2,90,239,38
11
OCTAVE6:
12
.DB "A",2,85,64,41,"a",2,80,180,43,"B",2,76,77,46,"C",2,72,14,49,"c",2,68,249,51,"D",2,64,16,55,"d",2,60,86,58,"E",2,57,206,61,"F",2,54,123,65,"f",2,51,96,69,"G",2,48,128,73,"g",2,45,223,77
13
OCTAVE7:
14
.DB "A",2,43,128,82,"a",2,40,104,87,"B",2,38,154,92,"C",2,36,28,98,"c",2,34,242,103,"D",2,32,32,110,"d",1,241,172,116,"E",1,228,156,123,"F",1,215,246,130,"f",1,203,191,138,"G",1,191,0,147,"g",1,181,189,155
15
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
16
;RINGTONES 'DURATION,OCTAVE,TEMPO,TEMPO,NOTE1,NOTE2,...,NOTEn,0
17
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
18
Popcorn:
19
.DB 4,5,160,0,195,62,225,61,195,62,199,61,228,61,199,61,67,195,62,225,61,195,62,199,61,228,61,199,61,67,195,62,196,62,228,62,195,126,228,62,195,126,228,62,196,62,225,125,196,62,225,125,196,62,195,62,225,61,199,61,225,61,195,30,0
20
Indiana:
21
.DB 4,5,250,0,69,208,61,198,61,199,61,208,61,195,6,208,61,208,125,68,208,61,197,61,198,5,80,208,61,71,208,61,193,61,194,61,208,61,198,6,80,65,208,61,194,61,195,14,196,14,197,14,69,208,61,198,61,199,61,208,61,195,6,80,196,30,208,61,197,62,198,6,198,14,71,208,61,199,61,197,30,197,62,208,61,196,30,208,61,199,61,197,30,197,62,208,61,196,30,208,61,199,61,198,30,198,62,208,61,197,30,208,61,196,62,195,14,0
22
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
23
;EEPROM SECTION
24
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
25
.ESEG
26
;ringtone,ringtones
27
.DB 1,2
28
.DW Popcorn<<1,Indiana<<1

[Mode: Code-Tages eingefügt]

: Bearbeitet durch Moderator
von Hans S. (hasch)


Lesenswert?

Karl B. schrieb:
> Hans S. schrieb:
>> Allerdings
>> funktioniert das Programm noch nicht.
> Meine Idee:
> ...
> Und, steht das File auch auf derselben Directory, damit
> der Programmer das auch findet?

Ja, ist im selben Verzeichnis wie main.asm und wenn ich das Programm für 
den tiny13 kompiliere wird es ohne Fehlermeldung eingebunden.

von Hans S. (hasch)


Lesenswert?

Die ringtones.inc wird mit einem Converter-utility erzeugt z.B. aus 
folgendem Textfile:
1
Popcorn:d=4,o=5,b=160:8c6,8a#,8c6,8g,8d#,8g,c,8c6,8a#,8c6,8g,8d#,8g,c,8c6,8d6,8d#6,16c6,8d#6,16c6,8d#6,8d6,16a#,8d6,16a#,8d6,8c6,8a#,8g,8a#,c6
2
Indiana:d=4,o=5,b=250:e,8p,8f,8g,8p,1c6,8p.,d,8p,8e,1f,p.,g,8p,8a,8b,8p,1f6,p,a,8p,8b,2c6,2d6,2e6,e,8p,8f,8g,8p,1c6,p,d6,8p,8e6,1f.6,g,8p,8g,e.6,8p,d6,8p,8g,e.6,8p,d6,8p,8g,f.6,8p,e6,8p,8d6,2c6
Man muss dann nur noch die Oszillator-Frequenz angeben und dann hat man 
das .inc file.

[Mod: code-Tags eingefügt]

: Bearbeitet durch Moderator
von H. H. (hhinz)


Lesenswert?

Welche Fuses sind denn gesetzt?

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Welche Fuses sind denn gesetzt?

Nur die, die standardmäßig bei den µCs gesetzt sind.
Ext 0xFF
HIGH 0xD7
LOW 0xE2
beim tiny45

und
HIGH 0xFF
LOW 0x2A
beim tiny13

: Bearbeitet durch User
Beitrag #7878310 wurde vom Autor gelöscht.
von Karl B. (gustav)


Lesenswert?

Habe Prog kurz ins Studio 4 kopiert:
C:\Users\admin\Documents\Tone_x.asm(279): error: Undefined symbol: 
OCTAVE6

Die Teile vom ringtone sind noch nicht drin.
und epromsegment fehlt noch.
Sonst keine Fehlermeldungen
Und EEAR Durch EAARL ersetzt Danke Hinz!

ciao
gustav

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> LOW 0xE2
> beim tiny45

Prozessor läuft mit 8MHz.


> LOW 0x2A
> beim tiny13

Und der mit 1,2MHz.


Und man wird die Interrupts anpassen müssen.

von Hans S. (hasch)


Lesenswert?

Karl B. schrieb:
> Habe Prog kurz ins Studio 4 kopiert:
> C:\Users\admin\Documents\Tone_x.asm(279): error: Undefined symbol:
> OCTAVE6
>
> Die Teile vom ringtone sind noch nicht drin.
> und epromsegment fehlt noch.
> Sonst keine Fehlermeldungen
> Und EEAR Durch EAARL ersetzt Danke Hinz!
>
> ciao
> gustav

Fehlermeldungen hatte ich ja auch nicht und das mit der OCTAVE6 wird 
erledigt sein wenn die ringtone drin ist. Trotzdem funktioniert es 
nicht. Ich frage mich auch, ob EEARL wirklich richtig ist. Nach 
Datenblatt tiny13 gibt es das da nämlich auch.

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Ich frage mich auch, ob EEARL wirklich richtig ist. Nach
> Datenblatt tiny13 gibt es das da nämlich auch.

25.9 Rev. 2535B-01/04:
      14. Changed instances of EEAR to EEARL.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> Ich frage mich auch, ob EEARL wirklich richtig ist. Nach
>> Datenblatt tiny13 gibt es das da nämlich auch.
>
> 25.9 Rev. 2535B-01/04:
>       14. Changed instances of EEAR to EEARL.

Gefunden! Heißt das, dass ich einen alten ATtiny13 habe? Oder würde der 
auch mit EEARL funktionieren?

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Heißt das, dass ich einen alten ATtiny13 habe?

Nein, nur stammt dein Programm aus älteren Tagen.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> Heißt das, dass ich einen alten ATtiny13 habe?
>
> Nein, nur stammt dein Programm aus älteren Tagen.

Ja, das stimmt! Genauer gesagt: aus 2009
Aber heißt das, dass ich das auf den tiny13 auch mit EEARL flashen 
könnte? Das würde bedeuten, dass Studio7 beide Anweisungen verarbeiten 
könnte.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich bitte die Beteiligten, Code auch in [ code ] .... [ /code ] (ohne 
Leerzeichen in den Tags) einzupassen. Auf Mobilgeräten mit 
Proportionalfont wird sonst alles in eine Zeile geklatscht und damit 
unlesbar.

Ich habe die obigen Beiträge angepasst.

Danke.

von Hans S. (hasch)


Lesenswert?

Frank M. schrieb:
> Ich bitte die Beteiligten, Code auch in [ code ] .... [ /code ] (ohne
> Leerzeichen in den Tags) einzupassen. Auf Mobilgeräten mit
> Proportionalfont wird sonst alles in eine Zeile geklatscht und damit
> unlesbar.
>
> Ich habe die obigen Beiträge angepasst.
>
> Danke.

Danke, ich hatte nicht gefunden, wie das geht.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> LOW 0xE2
>> beim tiny45
>
> Prozessor läuft mit 8MHz.
>
>
>> LOW 0x2A
>> beim tiny13
>
> Und der mit 1,2MHz.
>
>
> Und man wird die Interrupts anpassen müssen.

Wie müssen denn die Interrupts angepasst werden? Die ringtones.inc kann 
ich mit der richtigen Oszillatorfrequenz im converter-utility erzeugen.
Beim tiny45 habe ich testweise auch mal LOW 0x2A geflasht mit dem 
"Erfolg", dass ich nicht mehr auf ihn zugreifen konnte und ich ihn über 
HV Programmierung zurücksetzen musste.

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> den tiny13 auch mit EEARL flashen

Der merkt doch gar nichts davon. Der Unterschied ist lediglich die 
Schreibweise in der TN13def.inc.

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Beim tiny45 habe ich testweise auch mal LOW 0x2A geflasht

Nur das CLKDIV8 einschalten.

: Bearbeitet durch User
von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> Beim tiny45 habe ich testweise auch mal LOW 0x2A geflasht
>
> Nur das CLKDIV8 einschalten.
Das ist eingeschaltet:
LOW.CKDIV8 hat ein Häkchen

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
>> Nur das CLKDIV8 einschalten.
> Das ist eingeschaltet:
> LOW.CKDIV8 hat ein Häkchen

Dann stimmt aber das hier nicht:

Hans S. schrieb:
> LOW 0xE2
> beim tiny45

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Dann stimmt aber das hier nicht:
>
> Hans S. schrieb:
>> LOW 0xE2
>> beim tiny45

Du hast recht, das stimmt nicht, ist LOW 0x62 (Ablesefehler)

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

Versuchen Sie einmal dies hier - ein Versuch wär's wert ...

PS:
Zu Beginn 'TN85def.inc' durch 'TN45def.inc' ersetzen.

: Bearbeitet durch User
von Roland F. (rhf)


Angehängte Dateien:

Lesenswert?

Hallo,
Hans S. schrieb:
> Danke, ich hatte nicht gefunden, wie das geht.

Wie das geht steht am Ende dieser Diskussion, siehe auch Anhang.

rhf

von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
> Versuchen Sie einmal dies hier - ein Versuch wär's wert ...
>
> PS:
> Zu Beginn 'TN85def.inc' durch 'TN45def.inc' ersetzen.

Kompilieren läuft durch ohne Fehler aber es funktioniert leider auch 
nicht.

von S. L. (sldt)


Lesenswert?

Parbleu! Bei mir dudelt es. .hex und .eep auf den ATtiny45 übertragen?

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Kompilieren

Assemblieren!

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

Um Assemblier- oder ganz allgemein IDE-Fehler auszuschließen, hier meine 
Dateien.

von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
> Parbleu! Bei mir dudelt es. .hex und .eep auf den ATtiny45 übertragen?

Die .eep Datei wird bei mir überhaupt nicht angelegt.

von S. L. (sldt)


Lesenswert?

Was ausgesprochen merkwürdig ist, denn es wird 'ringtones.inc' 
eingebunden, und dort steht ".eseg" drin.
  Was passiert, wenn Sie meine beiden Dateien übertragen?

: Bearbeitet durch User
von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
> Um Assemblier- oder ganz allgemein IDE-Fehler auszuschließen, hier meine
> Dateien.

Mit den Dateien dudelt es bei mir auch. Ich möchte aber noch mehr 
Ringtones einbinden, also müsste ich auch das mit dem Assemblieren hin 
bekommen...

von S. L. (sldt)


Lesenswert?

Bezüglich Ihrer IDE muss ein Anderer helfen, da bin ich überfragt.

von Hans S. (hasch)


Angehängte Dateien:

Lesenswert?

Also z.B. mit diesem File ringtones.inc
Ich weiß nicht, wie viele Klingeltöne ich in den Speicher vom tiny45 
rein bekomme.

von S. L. (sldt)


Lesenswert?

Diese Information wird ja vom Assembler angezeigt, z.B. jetzt mit dem 
neuen 'ringtones.inc': "Used: 3472  Size: 4096".
  Also etwas Platz wäre noch ...

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Die .eep Datei wird bei mir überhaupt nicht angelegt.

Zeig deine Projektdatei (*.aps).

von Hans S. (hasch)


Angehängte Dateien:

Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> Die .eep Datei wird bei mir überhaupt nicht angelegt.
>
> Zeig deine Projektdatei (*.aps).

*.aps habe ich nicht sondern .asmproj

von Hans S. (hasch)


Lesenswert?

Wenn ich das mit der größeren ringtones.inc assembliere bekomme ich 
etliche Warnungen wie diese hier:
1
Severity  Code  Description  Project  File  Line
2
Warning    .cseg .db misalignment - padding zero byte  RTTTL  c:\users\hasch\Documents\Atmel Studio\7.0\RTTL-Player\RTTTL\RTTTL\ringtones.inc  6

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> *.aps habe ich nicht sondern .asmproj

Kenne ich nicht, muss jemand anders ran.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> *.aps habe ich nicht sondern .asmproj
>
> Kenne ich nicht, muss jemand anders ran.

Das ist MicrochipStudio 7

von S. L. (sldt)


Lesenswert?

Nur um sicherzugehen: Sie hatten mein 'ncs.asm' in 'RTTTL.asm' 
umbenannt?

Bekommen Sie keine Größen angezeigt, also für .cseg (flash) 3472 und 
.eseg (EEPROM) 60?

Warnings mit "padding zero byte" bekomme ich auch, zwölf mal, das ist 
ohne Belang.

von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
> Nur um sicherzugehen: Sie hatten mein 'ncs.asm' in 'RTTTL.asm'
> umbenannt?
>
> Bekommen Sie keine Größen angezeigt, also für .cseg (flash) 3472 und
> .eseg (EEPROM) 60?
>
> Warnings mit "padding zero byte" bekomme ich auch, zwölf mal, das ist
> ohne Belang.

Ja, hatte ich umbenannt und ich bekomme keine Größen angezeigt.

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> MicrochipStudio 7

Bloatware.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> *.aps habe ich nicht sondern .asmproj
>
> Kenne ich nicht, muss jemand anders ran.

Womit machst du das denn?

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> H. H. schrieb:
>> Hans S. schrieb:
>>> *.aps habe ich nicht sondern .asmproj
>>
>> Kenne ich nicht, muss jemand anders ran.
>
> Womit machst du das denn?

AVR Studio 4.19

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

Also ich arbeite mit dem uralten 4.11, und da kommt am Ende das 
angehängte Fenster.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> H. H. schrieb:
>>> Hans S. schrieb:
>>>> *.aps habe ich nicht sondern .asmproj
>>>
>>> Kenne ich nicht, muss jemand anders ran.
>>
>> Womit machst du das denn?
>
> AVR Studio 4.19

Werde ich mir mal ansehen.

von Hans S. (hasch)


Lesenswert?

Ich habe das Häkchen gefunden, das nötig war, um die .eep zu erzeugen. 
Jetzt habe ich beide Dateien auf den tiny45 geflasht und nun dudelt es 
munter drauflos!!!

von Hans S. (hasch)


Lesenswert?

Ich denke, dass mein Problem damit erledigt ist, ich bin rundum 
zufrieden mit der Lösung. Ich möchte mich ganz herzlich bedanken für 
eure tatkräftige Hilfe. Ich bin begeistert von der geballten Kompetenz, 
die in diesem Forum versammelt ist und bin sicher, dass es ohne eure 
Unterstützung nicht gelungen wäre, mein Vorhaben umzusetzen.

Wie es nun bei mir weitergeht: Ich habe schon kleine PCBs bei JLCPCB 
geordert auf die zwei Taster und ein ATtiny45 im SOIC-Gehäuse mit der 
erforderlichen Beschaltung sowie ein kleiner Buzzer kommen. Das Ding ist 
so klein, dass man es sich sogar an einer Schnur um den Hals hängen 
kann, ein wearable sozusagen. Damit werde ich dann an Enkel, Nichten und 
Neffen verschenken, die dann damit ihre Eltern und LehrerInnen ärgern 
können.

Noch einmal vielen Dank und Grüße in die Runde
Hans

Übrigens: Ich habe 33 Klingeltöne rein bekommen, vielleicht gehen aber 
noch ein paar mehr, mal sehen.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hans S. schrieb:

> Übrigens: Ich habe 33 Klingeltöne rein bekommen, vielleicht gehen aber
> noch ein paar mehr, mal sehen.

Auf jeden Fall, wenn du einen Tiny85 statt des Tiny45 nimmst...

von H. H. (hhinz)


Lesenswert?

Hans S. schrieb:
> Übrigens: Ich habe 33 Klingeltöne rein bekommen, vielleicht gehen aber
> noch ein paar mehr, mal sehen.

Hättest ja gleich einen Tiny85 nehmen können.

von Hans S. (hasch)


Lesenswert?

H. H. schrieb:
> Hans S. schrieb:
>> Übrigens: Ich habe 33 Klingeltöne rein bekommen, vielleicht gehen aber
>> noch ein paar mehr, mal sehen.
>
> Hättest ja gleich einen Tiny85 nehmen können.

Ja natürlich. Aber zu viele Töne sollen es auch nicht sein. Nur waren 
die zwei oder drei, die ich in den tiny13 rein bekommen habe zu wenig.

von S. L. (sldt)


Lesenswert?

1
Die Masse könnt Ihr nur durch Masse zwingen,
2
Ein jeder sucht sich endlich selbst was aus.
3
Wer vieles bringt, wird manchem etwas bringen;
4
Und jeder geht zufrieden aus dem Haus.
5
Gebt Ihr ein Stück, so gebt es gleich in Stücken!

Wie dem auch sei - also erkannt habe ich gerade noch 'Popcorn', aber 
gehört habe ich es mit Grauen.

von Hans S. (hasch)


Lesenswert?

S. L. schrieb:
>
1
> Die Masse könnt Ihr nur durch Masse zwingen,
2
> Ein jeder sucht sich endlich selbst was aus.
3
> Wer vieles bringt, wird manchem etwas bringen;
4
> Und jeder geht zufrieden aus dem Haus.
5
> Gebt Ihr ein Stück, so gebt es gleich in Stücken!
6
>
>
> Wie dem auch sei - also erkannt habe ich gerade noch 'Popcorn', aber
> gehört habe ich es mit Grauen.

Aber „Indiana“ ist doch nicht schlecht.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hans S. schrieb:
> Ich habe das Häkchen gefunden, das nötig war, um die .eep zu erzeugen.
> Jetzt habe ich beide Dateien auf den tiny45 geflasht und nun dudelt es
> munter drauflos!!!

Hi,
vielen Dank für Mühe. Nur, leider habe ich jetzt nicht ganz aufgepasst, 
oder.. könntest Du nochmal das jetzt aktuelle ASM Programm mit dem 
zugehörigen Zusatzprogramm für das EEprom posten?

Bei mir sieht die Flash-Maske so wie im Bild aus.
Das eep kommt also ins elf-Feld?
Danke!

ciao
gustav

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Karl B. schrieb:
> Das eep kommt also ins elf-Feld?

Natürlich nicht. ELF ist eine Kombination aus allen für die 
Programmierung nötigen Dateien, EEP ist nur der Inhalt des EEPROM.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Karl B. schrieb:

> Bei mir sieht die Flash-Maske so wie im Bild aus.
> Das eep kommt also ins elf-Feld?

Darum ging es überhaupt nicht. Schon deshalb nicht, weil es bei 
Assemblerprojekten mit der AVR-Toolchain überhaupt kein *.elf gibt. Da 
gibt es ein *.hex und, wenn man das richtige Häkchen im GUI setzt 
(Projekteigenschaften->Toolchain) zusätzlich auch noch ein *.eep.

Und auf diese beiden Dateien muß man dann in dem von dir gezeigten 
Dialog verweisen, in den Groupboxen "Flash" (da gehört die *.hex hin) 
bzw. "EEPROM" (da gehört die *.eep hin).

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

>Schon deshalb nicht, weil es bei
>Assemblerprojekten mit der AVR-Toolchain überhaupt kein *.elf gibt.

Also ich habe jahrelang ELF-Files mit im AVR-Studio419 von 
Assemblerprogrammen erstellt. Muss ich wohl etwas falsch gemacht haben.

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.