MPLAB IDE 7.50: Linker will mich linken ;-) Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
| Autor |
MPLAB IDE 7.50: Linker will mich linken ;-) Suche nach: ide (654) |
|
|
|
|
BID = 445503
Racingsascha Schreibmaschine
    
Beiträge: 2247 Wohnort: Gundelsheim
|
|
Hallo Leute,
habe mir gestern meinen ersten Rechenknecht gekauft
Jetzt wollte ich ein kleines Blinkled-Programm schreiben, um zu kucken ob ichs noch kann, offensichtlich nicht Die Hauptroutine hab ich von sprut kopiert (Lauflicht, rrf durch bcf und bsf ersetzt, die Initialisierung hab ich selber geschrieben). Im Output stehen zwar keine groben Fehler mehr, aber diese Zeile macht mich stutzig:
| Code : |
Make: The target "C:Dokumente und EinstellungenSaschaDesktopAssemblerhallo welt.o" is out of date.
Executing: "C:ProgrammeMicrochipMPASM SuiteMPAsmWin.exe" /q /p16F628A "hallo welt.asm" /l"hallo welt.lst" /e"hallo welt.err" /o"hallo welt.o"
Warning[205] C:(Pfad)HALLO WELT.ASM 2 : Found directive in column 1. (LIST)
Warning[215] C:(Pfad)HALLO WELT.ASM 2 : Processor superseded by command line. Verify processor symbol.
|
|
Also: Der Prozessor wurde in der Kommandozeile (also im Programm) durch einen anderen ersetzt. Überprüfen sie das Prozessorsymbol. Dazu kann ich sagen: Sowohl bei "Configure - Select Device" als auch im Code steht überall mein PIC16F628A. Der Linker startet zwar (blaue Schrift) aber er gibt auch einen Fehler aus:
| Code : |
MPLINK 4.06, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x0000004a
Errors : 1
BUILD FAILED: Tue Jul 24 20:54:27 2007
|
|
der Codeabschnitt sieht so aus:
| Code : |
1 ;***includes***
2 LIST p=p16f628a
3 #include "C:/Programme/Microchip/MPASM Suite/P16F628A.INC"
4 ;errorlevel -203
5 ;errorlevel -205
6 ;errorlevel -302
7 ;***Config***
8 __CONFIG _LVP_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
9 ;****variablen****
10 loops Equ 0x22 ; Zähler für Warteschleife
11 loops2 Equ 0x23 ; Zähler für Warteschleife
12 ;***Initialisierung***
13 org 0x00 ;anfang
14
15 clrf INTCON ;alle int aus
16 clrf PIE1 ;das glecihe
17 clrf T1CON ;timer 1 aus
18 clrf T2CON ;timer 2 aus |
|
Hier noch der Rest falls der auch wichtig ist (wundert euch nicht über die Art der Initialisierung):
| Code : |
clrf CMCON ;komparator modes
clrf VRCON ;refspannung
clrf CCP1CON ;CCP aus
clrf TXSTA ;USART aus
clrf RCSTA ;USART aus
clrf PORTA
clrf PORTB
bsf STATUS,RP0 ;bank 1
movlw 0x08
movwf PCON ;osz auf 4MHz
clrf TRISA ;output
clrf TRISB ;output
; ab gehts
; 1. LED einschalten
bsf PORTB,4 ; LED an RB4 einschalten
; Lauflicht
Loop
call Wait ; Wartezeit
bcf PORTB,4 ; laufen zur nächsten LED
call Wait
bsf PORTB,4
goto Loop
;**********************************************************
; Warteschleife 250 ms
Wait
movlw D'250' ; 250 ms Pause
movwf loops
Wai
movlw .110 ; Zeitkonstante für 1ms
movwf loops2
Wai2 nop ;
nop
nop
nop
nop
nop
decfsz loops2, F ; 1 ms vorbei?
goto Wai2 ; nein, noch nicht
;
decfsz loops, F ; 250 ms vorbei?
goto Wai ; nein, noch nicht
return ; das Warten hat ein Ende
end |
|
Kann mir jemand sagen was ich falsch mache?
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.
[ Diese Nachricht wurde geändert von: Racingsascha am 24 Jul 2007 21:17 ] |
|
BID = 445510
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
|
Ich finde, dass du schon ein bischen Fehlerbeseitiguing selbst machen solltest, z.B. die angemoserte List-Direktive korrigieren, bevor du hier postest.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten ! |
|
BID = 445528
Racingsascha Schreibmaschine
    
Beiträge: 2247 Wohnort: Gundelsheim
|
Die List-Direktive nimmt er mir jetzt ab (durch probieren rausgefunden), obwohl er sie schonmal in dieser Form akzeptiert hat.
Der Linker macht immernoch nicht das was er soll, aber interessanterweise ändert sich '.org_0' nicht wenn ich im Quelltext statt org 0x00 zb 0x04 eingebe. Wenn ich org ganz weglasse, erkennt er keinen einzigen Befehl mehr.
Komisch, jetzt hats geklappt  org 0x10 und schon gings  0x00 ist die erste Adresse im Flash, das sollte doch auch gehen?
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.
|
BID = 445564
perl Ehrenmitglied
       
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| | Die List-Direktive nimmt er mir jetzt ab (durch probieren rausgefunden), |
Das hättest du nicht ausprobieren brauchen, wenn du die Meldung mit etwas mehr Sorgfalt gelesen hättest: "Warning[205] C:(Pfad)HALLO WELT.ASM 2 : Found directive in column 1. (LIST)".
Bedeutet, daß am Zeilenanfang, dort wo korrekterweise Labels stehen, das reservierte Wort LIST gefunden wurde. Deshalb weiß der Assembler nicht, ob er das als Label oder als Anweisung interpretieren soll und gibt deshalb die Warnung einer möglichen Fehlinterpretation aus.
Zitat :
| | interessanterweise ändert sich '.org_0' nicht wenn ..... statt org 0x00 zb 0x04 eingebe. Wenn ich org ganz weglasse.....Komisch, jetzt hats geklappt org 0x10 und schon gings 0x00 ist die erste Adresse im Flash |
Ohne daß ich jetzt die Source kenne, vermute ich, daß du nicht verstanden hast, was du da schreibst und deshalb, anstatt den Programmanfang zu definieren, irgendwelche Variablen in den Adressbereich der SFRs hineingelegt hast.
Das Benehmen der IO-Pins ist dann völlig unberechenbar, und wenn du auch noch den Programmcounter auf Adresse 2 überschreibst ist der Programmabsturz gewiss.
Warum benutzt du die doch wirklich sehr gute Dokumentation, die in der IDE über die Help-Funktion zugänglich ist, und den Simulator, mit dem du den Programmablauf und die Wirkung der einzelnen Befehle genau verfolgen kannst, nicht ?
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 445906
Racingsascha Schreibmaschine
    
Beiträge: 2247 Wohnort: Gundelsheim
|
Habs jetzt endgültig geschafft, ES FUNKTIONIERT
danke Perl, auch wenn das allerletzte Problem nicht an der Software lag. Scheinbar funktioniert der ER-Modus nicht, aber der XT und der INTOSC (bisher getestet) gehen. Trotzdem wundert es mich dass auch Sprut seine Programme bei 0x00 anfangen lässt.
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag heute wurden bisher 10 Beiträge verfasst © x sparkkelsputz Besucher : 187968817 Heute : 27282 Gestern : 18748 Online : 223 26.12.2025 21:37 5 Besucher in den letzten 60 Sekunden alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0267639160156
|