Forum: Mikrocontroller und Digitale Elektronik MPLAB: Standardmäßige Language Toolsuite nach Installation gesucht


von WalterP (Gast)


Lesenswert?

Bin blutiger Anfänger bei MPLAB 8.3 und überhaupt PIC-Programmierung.

Jetz hab ich mir den C-Compiler von Knudsen installiert, alles 
umgestellt.
Nun wollte ich gerne wieder mit ASM testen, finde jedoch die richtige 
Language toolsuite nicht mehr (gibts ja einige davon))..

Wer kann mir helfen?

Miit welcher einstellung für language toolsuite wird MPLAB 8.30 
***defaultmäßig*** ausgeliefert?


tia
walter

von Jochen64 (Gast)


Lesenswert?

Also ich kenn das eigentlich nur mit MPASM, also dem 8bit Assembler.
hast du mal bei den Projekt-Einstellungen geguckt?

von WalterP (Gast)


Lesenswert?

Lieber JOchen,

danke für die rasche antwort.

habe jetzt die MPASM eingestellt.

hier mal der beginn des ASM-Proggys:

; 
***********************************************************************
; Programm:   Demo1.ASM
; Funktion:   Demo-Programm fuer das 16F88 Demoboard der HTL Rennweg
;             Zuerst leuchten alle LEDs eine Sekunde lang.
;             Danach stehen folgende Funktionen zur Verfuegung:
;             - Keine Taste gedrueckt: Mit Poti koennen LEDs ein- und
;                                      ausgeschaltet werden
;             - Druecken der Taste 1: alle LEDs ein
;             - Druecken der Taste 2: Mit LDR koennen die LEDs ein- und
;                                     ausgeschaltet werden
;             - Druecken beider Tasten: Piepston am Summer, LEDs 1,2 aus
;
; Controller: PIC 16F88
;
; Konfiguration des Controllers:
;             PORTA: RA0      Poti (0..5V)
;                    RA1      LDR  (heller - Spannung steigt, ca. 2-4V )
;             PORTB: RB0      Eingang: Taster S1
;                    RB1      Ausgang: LED2 (gruen, aktiv Low)
;                    RB2      Ausgang: LED3 (gelb, aktiv High)
;                    RB3      Ausgang: Summer
;                    RB5      Eingang (Taster S2)
; 
***********************************************************************
; Autoren:    G. Juengling,    HTL Wien 3 Rennweg
; Datum:      April 2006
; 
***********************************************************************
#DEFINE  SIMU 0

#include <P16f88.inc>     ; Include-Datei fuer Standard-Bezeichner

; Configuration Word:
; Lov Voltage Programming Off, Brownout Detection Off, Internal Reset
; Power-Up-Timer Off, Watchdog-Timer Off, Internal RC Oscillator
  __CONFIG _CONFIG1, _LVP_OFF & _BODEN_OFF  & _MCLR_OFF & _PWRTE_OFF & 
_WDT_OFF & _INTRC_IO

w1cnt  equ  0x20      ; Zaehlvariable fuer Delay von 1s

INI    clrf   PORTB    ; Sicherheitshalber die
    clrf   PORTA    ; Ports A und B loeschen

    bcf   STATUS,RP1  ; Auf Bank 1 umschalten
    bsf   STATUS,RP0

    errorlevel -302    ; Warnung [302] deaktivieren
    movlw   0xF1    ; Port B konfigurieren, Bits 1-3
    movwf   TRISB    ; als Ausgang, der Rest Eingaenge
    bcf  OPTION_REG,NOT_RBPU  ; interne Pull-Ups ein
    movlw  0x03    ; Pins RA0 und RA1 als
    movwf  ANSEL    ; Analog-Pins konfigurieren
    clrf  ADCON1    ; int. Referenz, linksb
    errorlevel +302    ; Warnung [302] reaktivieren
    bcf   STATUS,RP0  ; zur?ck auf Bank 0
    movlw  0x01






usw usw
das ding lief schon einwandfrei.
jetz meint er beim 'maken':


----------------------------------------------------------------------
Debug build of project `D:\Dateien\PIC\Progs\lauflicht\ss.mcp' started.
Language tool versions: MPASMWIN.exe v5.30.01, mplink.exe v4.30.01
Preprocessor symbol `__DEBUG' is defined.
Target debug platform is `__MPLAB_DEBUGGER_PK3=1'.
Debug platform options are: `__ICD2RAM=1'.
Thu Jul 09 18:30:38 2009
----------------------------------------------------------------------
Make: The target "D:\Dateien\PIC\Progs\lauflicht\demo1.o" is out of 
date.
Executing: "C:\Programme\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F88 
"D:\Dateien\PIC\Progs\demo1\demo1.asm" /l"demo1.lst" /e"demo1.err" 
/o"demo1.o" /d__DEBUG=1 /d__MPLAB_DEBUGGER_PK3=1
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 38 : Executable code 
and data must be defined in an appropriate section
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 39 : Executable code 
and data must be defined in an appropriate section
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 41 : Executable code 
and data must be defined in an appropriate section
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 42 : Executable code 
and data must be defined in an appropriate section
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 45 : Executable code 
and data must be defined in an appropriate section
Error[152]   D:\DATEIEN\PIC\PROGS\DEMO1\DEMO1.ASM 46 : Executable code 
and data must be defined in an appropriate section


usw usw

kannst Du mir helfen?
Ich habe irgendeine dumme einstellung in mplab verdaddelt, denk ich.

lg walter

von WalterP (Gast)


Lesenswert?

DANKE, alles zurück - jetzt gehts!

hab an vielen settings herumgedrückt ;.((( - weiss leider nicht mehr, 
welches relevant war...

vll. lags auch daran, dass ich ein neues projekt mit dem wizard 
aufgezogen habe...

lg walter

von Jochen64 (Gast)


Lesenswert?

Irgendwie fehlen in Deinem Code die ORG Direktiven. Das sind Anweisungen 
an den Compiler/Linker, den ausführbaren Code an diesen absoluten 
Adressen auszurichten. Normalerweise hat man immer folgende 2 ORGs drin:
  ORG 0    % Hier gehts beim Reset los
  ORG 4    % Hierhin springt er beim Interrupt

Such Dir mal im Installationsverzeichnis von MPLAB das passende Template 
raus, da siehst du wie's geht.

Es gibt 2 verschiede, eins für "absolute" (Adressen legst du selber 
fest) und eins für relocatable (das mit "o", Adressen legt der Linker 
fest). Die o.g. Adressen für Reset und Interrupt sind aber in beiden 
Fällen immer fix. Ob "Abs" oder "Rel" gemaked wird, must du im Projekt 
festlegen.

Noch ein Tip: Die Bank kannst du auch mit "banksel" umschalten, das ist 
besser portierbar und bei Relocatable gehts überhaupt nur so.

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.