Guten Abend liebe Forumgemeinde, ich starte grade mein allererstes Projekt mit Microcontroller am AVR-Board. Ich nutze das AVR-Studio und wenn ich assemblieren will, dann wird mir mitgeteilt: ***** AvrAssembler: Object file is empty and not saved ******* Was sollte diese Object file beinhalten ? Mit freundlchem Gruß Stefan
Hast Du vielleicht Fehler beim Assemblieren? Hast Du überhaupt assembliert? Mal auf F7 gedrückt?
Hi travelrec, nein habe nicht assembliert, es sollte eigentlcih aus meiner Problemstellung hervorgehen, dass diese Meldung beim Versuch zu assemblierne auftritt. MFG Stefan
Was genau tust Du, bevor die Meldung kommt? P.S.: AVR-Studio hat auch eine gute Online-Hilfe.
Ja, in der Onlinehilfe fand ich irgendwie keinen Rat. Also ich hab das Programm geschrieben (erstes Testprogramm aus dem AVR-Tutorial) und anschließend versucheich zu assemblieren. Muss ich denn vorher noch was festlegen ? Die include Datei befindet sich im Ordner des Projektes und der Coder wurde als .asm gespeichert. Nun will ich es als hex Datei ausgeben udn auf den Flash Speicher schicken. kanns sein, dass ich ganz am Anfang vergessen habe, etwas zu konfiguierne oder so ? MFG Stefan
Eigentlich nicht. Zeig mal Deine ASM-Datei.
;*************** Mein erstes Testprogramm, Projekt 1 ******************* .include"m8515def.inc ; Einbinden der Contollerdatei ! ldi r16, 0xFF ; den Wert "0xFF" in das Register 16 laden out DDRB, r16 ; I/O Register "DDRB" -> Funktionen festlegen ldi r16, 0b11111100 ; den Wert "0b11111100" in das Register 16 laden out PortB, r16 ; Inhalt des Registers 16 auf Port B Ausgeben Ende: rjmp ende
... in der letzten Zeile muss das erste ende .. klein geschrieben werden, oder? ... Daran wirds aber sicher nciht liegen
1 | |
Fehlt da nicht noch ein schliessendes "?
.include "m8515def.inc" muß das heißen. Bei Dir fehlen die zweiten Gänsefüßchen
Ja, das stimmt .. ich habs korrigiert aber er zeigt den gleichen Fehler an. Was hat es denn mit dieser "object file" auf sich ? Was gehört dort normalerweise rein und wofür ? Folgendes zeigt er mit im Message-Fenster an: Loaded plugin STK500 Loaded plugin Atmel AVR Assembler Loaded partfile: F:\Programme\Atmel\AVR Tools\PartDescriptionFiles\ATmega8515 AvrAssembler: Object file is empty and not saved MFG Stefan
Was liegen denn für Dateien in deinem Programmverzeichnis? Vielleicht solltest du mal alle bis auf den Code rausschmeissen und ein neues Projekt erstellen. Hilft manchmal, vielleicht hast du ja mal aus Versehen irgendwas verstellt. Im Objectfile kommt sonst eigentlich der assemblierte Code zu liegen (Vor dem Linken).
Klicke mal auf das BUILD Fenster anstatt des MESSAGE-Fensters, was sagt er denn da?!
AVRASM: AVR macro assembler 2.1.2 (build 99 Nov 4 2005 09:35:05) Copyright (C) 1995-2005 ATMEL Corporation D:\Dokumente und Einstellungen\Stefan Schule\Eigene Dateien\Projekt1.asm(1): warning: Empty source file Memory use summary [bytes]: Segment Begin End Code Data Used Size Use% --------------------------------------------------------------- [.cseg] 0x000000 0x000000 0 0 0 unknown - [.dseg] 0x000060 0x000060 0 0 0 unknown - [.eseg] 0x000000 0x000000 0 0 0 unknown - Assembly complete, 0 errors. 1 warnings
... mein Projekt liegt aber in einem ganz anderem Ordner... bzw. in einem Unterordner der Eigenen Dateien.
Stefan Thierhoff wrote:
> ... mein Projekt liegt aber in einem ganz anderem Ordner...
Dann stimmt die Projekt-Konfiguration nicht! Auf jeden Fall wird nicht
Dein Source assembliert, sondern ein anscheinend leeres .asm-File!
...Aber wie schon von anderen gesagt: Bevor noch mehr Müll rauskommt, neues Projekt erstellen und die Source einfügen.
... Danke für die Geduld, ich habe ein neues Projekt erstellt und es funktionierte auf Anhieb. Ich wusste, dieses Forum ist gut ! Danke an alle Mitwirkenden und bis zum nächstens Problem. MFG Stefan
kann einer aus der asm datei mir eine hex machen
Gast
#3212761
Warum machst du es nicht selber?
Olaf Seger schrieb: > kann einer aus der asm datei mir eine hex machen > Nö, die die Include-Datei " dcf77.asm " fehlt. Bernd_Stein
http://www.elektronik-kompendium.de/public/arnerossius/schaltungen/avr/dcfclk-lcd.htm bei Dcf_PULLUP=0 pull up deaktivieren (ist die 0 richtig ?) Warum machst du es nicht selber? weil mein englisch nicht so gut ist was ist eine Include-Datei ?
Gast
#3212931
Die hex ist doch im Download mit drin. Probier doch mal die.
ursprünglich stand in der asm Datei drin Dcf_PULLUP=1 und ich habe sich auf Dcf_PULLUP=0 geädert und jetzt will ich nur aus der asm Datei eine HEX Datei machen und warum das ganze ? Beitrag "DCF77; Pollin DCF-Empfangsmodul DCF1; BASCOM"
Hallo zusammen, wundere mich, dass bereits nach einer Low-Zeit von 10µs der ATtiny13A aus seinem Power-Down-Sleep-Mode, per Low-Level-Interrupt INT0 geweckt wird. Als Systemtakt wird der Interne RC-Oszillator mit 4,8Mhz per FUSE BYTES ( $FF39 ) eingestellt und dieser durch 256 geteilt, was einem SYS-Takt von nominal 18,750kHz bzw. eine Zeit von 53,333µs pro Takt ergibt. Da der µC mit 5V betrieben wird,ist natürlich der von der Fabrik kalibrierte Takt ( für 3V bei 25°C ) dermaßen daneben, dass bei mir ein SYS-Takt von 12,776kHz ( 78,272µs ) entsteht. 9.2.1 Low Level Interrupt A low level interrupt on INT0 is detected asynchronously. This implies that this interrupt can be used for waking the part also from sleep modes other than Idle mode. The I/O clock is halted in all sleep modes except Idle mode.Note that if a level triggered interrupt is used for wake-up from Power-down, the required level must be held long enough for the MCU to complete the wake-up to trigger the level interrupt. If the level disappears before the end of the Start-up Time, the MCU will still wake up, but no inter-rupt will be generated. The start-up time is defined by the SUT and CKSEL fuses as described in“System Clock and Clock Options” on page 23.If the low level on the interrupt pin is removed before the device has woken up then programexecution will not be diverted to the interrupt service routine but continue from the instruction following the SLEEP command. Die Wake-Up Time ist ja 4 Takte und die Start-Up Time 6T. 4T => 4x78,272µs = 313,088µs. Warum wird der µC dann schon nach 10µs aus dem Power-Down-Modus geweckt?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
Bernd_Stein
Gast
#6168103
Was, bitte, hat das nun mit dem "Anfängerproblem ... Object file is empty ..." von vor 12 Jahren zu tun? Ihr Nichtanfängerproblem sieht doch so aus, als würde der Systemtaktvorteiler nicht gesetzt; und wenn das Fuse-Low-Byte nicht, wie angegeben, auf $39 stände, wüsste ich auch, warum. So bleibt mir nur der Rat: erstmal das Setzen des Vorteilers reduzieren bzw. vereinfachen zu (und dann weiterschauen):
1 | |
2 | |
3 | |
4 | |
S. Landolt schrieb: > Ihr Nichtanfängerproblem sieht doch so aus, als würde der > Systemtaktvorteiler nicht gesetzt;... > Doch der ist gesetzt, die Frequenz habe ich mit dem DSO gemessen, also kontrolliert. Und der INT0 ist für mich ein Anfängerproblem, weil ich mich gerade erst damit beschäftige und auch gerne den Unterschied zum Pin Change Interrupt ( PCI ) wissen möchte : Beitrag "ATtiny26 Pin Change Interuppt ( PCINTx ) in der Praxis wenig brauchbar oder ?" Bernd_Stein
Gast
#6169659
Pardon, aber das ist doch auch wieder über sieben Jahre her! Vorschlag, oder besser dringender Rat: Einen neuen Thread (mit sinnvollem Betreff!) starten, mit dem vollständigen Programm zum Nachvollziehen, und vielleicht findet sich dann jemand, der das auf einem ATtiny13A überprüft. Ich selbst habe einen solchen nicht, könnte es allenfalls auf einem ATtiny85 versuchen.
Gast
#6169688
Bernd S. schrieb: > wundere mich, ... Frage dich besser mal, ob es sinnvoll ist, alle Anfängerprobleme dieser Welt an einen 12 Jahre alten Thread anzuhängen :-(
Beitrag #6169709 wurde von einem Moderator gelöscht.
Bernd S. schrieb: > Hallo zusammen, > > wundere mich, dass bereits nach einer Low-Zeit von 10µs der ATtiny13A > aus seinem Power-Down-Sleep-Mode, per Low-Level-Interrupt INT0 geweckt > wird. > Wen es interessiert, der kann es hier nachlesen. https://www.edv-dompteur.de/forum/index.php?page=Thread&postID=3833#post3833 Bernd_Stein
Hallo zusammen, wieder habe ich ein Problem. Wo kommt der eine Takt her ? Eins vorweg : Theoretisch 4,8Mhz, praktisch ist der interne RC-Oszilator aber nur mit 3,2Mhz, bei meinem ATtiny13A, bei 5V und ca. 20°C unterwegs. Um dies festzustellen, habe ich meinen üblichen Trick verwendet ( Endlosschleife -> Pin toggeln und ausmessen ) Heißt: *Ein Takt sind ca. 312,500ns * Bei dem LA-Ausschnitt ist zu sehen, dass die LED-Gelb ( PB2 ), 2,333µS nach der steigenden Flanke von PB1 folgt. Für mein daherhalten, erzeugt diese Codesequenz 4 oder 6 Takte, bis die steigende Flanke von LED-Gelb kommt:
1 | |
2 | |
3 | |
4 | |
6T wären 1,875µs. Bleiben also noch 458ns, was locker ein Takt ist. Deshalb meine Frage : "Wo kommt der eine Takt her?"
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
Bernd_Stein
Gast
#6209446
Stefan T. schrieb: > ich starte grade mein allererstes Projekt mit Microcontroller am > AVR-Board. > > Ich nutze das AVR-Studio und wenn ich assemblieren will, dann wird mir > mitgeteilt: > > ***** AvrAssembler: Object file is empty and not saved ******* > > Was sollte diese Object file beinhalten ? Code. Du hast offensichtlich noch rein garkeinen Code geschrieben. Deswegen gibt's nix zu assemblieren und das erzeugt genau diese Meldung. Schreib einfach in's initiale File sowas rein: main: rjmp main Das macht noch nix sinnvolles, ist aber übersetzbar und erzeugt genau 2 Byte Code.
Gast
#6209789
Stefan T. schrieb: > mein allererstes Projekt mit Microcontroller am > AVR-Board Und das ist Dein größter Fehler beim Einstieg. Die AVR sind alte Kamelle. Bist du alles am Laufen hast und díe Fuserei dich nicht mehr so stark frustriert, haben deine Kumpels schon ein Display am Start; deine Kumpels, die auf aktuelle (moderne) uCs setzen und nicht so einen alten Sch... wie bei dir. Sorry, aber einer muss es ja aussprechen. So, gleich schlagen die ATMEL Jünger auf mich ein. Aber lies ihre Beiträge in anderen Threads: Sie sind schon lange bei ARM und Co. Doch dich schicken sie zurück ins uC Mittelalter. ;-<<<
Gast
#6209800
MiWi schrieb: > Sorry, aber einer muss es ja aussprechen. Schön für dich, ich war auch gerade kacken.
c-hater schrieb: > Code. Du hast offensichtlich noch rein garkeinen Code geschrieben. > Deswegen gibt's nix zu assemblieren und das erzeugt genau diese Meldung. > > Schreib einfach in's initiale File sowas rein: > > main: > rjmp main > > Das macht noch nix sinnvolles, ist aber übersetzbar und erzeugt genau 2 > Byte Code. Noch nicht ausgeschlafen? Das ist fast 13 Jahre her ... Bernd interessiert das nicht - wie immer :-)
Gast
#6209813
Stefan ⛄ F. schrieb: > Schön für dich, ich war auch gerade kacken. Länger nicht an der Luft gewesen? Schon bitter, wenn man nicht ausgelastet ist.
Gast
#6209830
Leichenschänder? Der TO "Anfänger" von 2007 hat sein Projekt schon begraben.
Hugo H. schrieb: > Noch nicht ausgeschlafen? Das ist fast 13 Jahre her ... > > Bernd interessiert das nicht - wie immer :-) > Genau - wie immer : 1. Threadüberschrift lesen 2. Evtl. Datum beachten 3. Posting verstehen 4. Falls nicht 3. nachfragen oder Klappe halten. 5. Auf die Fragen eingehen und / oder Alternativen bzw. Verbesserungen nennen. Die Punkte kann man an einer Hand abzählen und deshalb evtl. gut merken, wenn nicht Punkt 4. ;-) Ok, sehe ein das dies wohl schon für ein Mikrocontrollerforum über ein Anfängerproblem hinausgeht ;-) Mir wird schon wo anders geholfen, danke für die rege Teilnahme an meinem Problem ;-) Bernd_Stein
Friedhofsgärtner schrieb: > Leichenschänder? Der TO "Anfänger" von 2007 hat sein Projekt schon > begraben. Nö, der programmiert jetzt bei Boeing.
Beitrag #6210617 wurde von einem Moderator gelöscht.
Beitrag #6903146 wurde von einem Moderator gelöscht.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.

