dsPIC30F1010- att komma igång..

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Johan.o
EF Sponsor
Inlägg: 2388
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

dsPIC30F1010- att komma igång..

Inlägg av Johan.o »

Sitter och tänkte få igång en dsPIC30F1010, för att testa dess 16-bit PWM-modul.
Men det går inget vidare

Vad jag förstår så måste man skriva assemblern i relocatable mode, vilket jag testat på
PIC18F tidigare.. Så jag utgick från den koden..

Såhär ser min kod för 30F1010 ut,

Kod: Markera allt

;******************************************************************************

;                                                                     

;	Test av dsPIC30F1010.				     		 				  

;                                                                     

;                                                                     

;******************************************************************************

;                                                                     

;	Filnamn: dsPIC.s   						  

;	Date: 2008-09-14, 13:59										  	

;	File version: 1.0	    		         	  				  

;       															 			

;	Author: Johan Olofsson

;	Company: -

;

;******************************************************************************

;																		  			

;	Genreal notes:

;	-------------

;

;	osc		

;

;	

;

;******************************************************************************

;	

;	Hardware/software notes:

;	-----------------------	

;

;

;

;******************************************************************************



	.equ __30F1010, 1				; Setting microkontroller type

    .include "p30F1010.inc"			; Include-file with definitions



;******************************************************************************

; Setting fuses





    config __FOSC, CSW_FSCM_OFF & FRC_HI_RANGE

	config __FOSCSEL,FRC_PLL	; Initial oscillator group Selection

	config __FWDT,WDT_OFF			; Watchdogtimer.

	config __FPOR, PWRT_128			; Power-ON reset.

	config __FGS, CODE_PROT_OFF		; General Segment Program Flash  Code protection



;******************************************************************************





	

RESET_VECTOR CODE 0x000							; The processors reset vector

	goto		start							; Go to start of program



;******************************************************************************

		

START CODE 

												; Startup settings

start



	nop

	nop

	nop













			

loop_forever									; Here the program ends, in a forever loop.

	goto		loop_forever

				

	end		


Vilket ger följande felmeddelande:

Kod: Markera allt


Executing: "C:\Program\Microchip\MPLAB ASM30 Suite\bin\pic30-as.exe" "dsPIC.s" -o"dsPIC.o" -p=30F1010 --defsym=__DEBUG=1 -g
dsPIC.s: Assembler messages:
dsPIC.s:50: Warning: Missing , assumed.
dsPIC.s:50: Warning: Missing , assumed.
dsPIC.s:50: Error: Too many operands ('reset_vector CODE 0x000').
dsPIC.s:55: Error: Invalid mnemonic: 'start'
dsPIC.s:57: Error: Invalid mnemonic: 'start'
dsPIC.s:69: Error: Invalid mnemonic: 'loop'
dsPIC.s:72: Error: Invalid mnemonic: 'end'
Halting build on first failure as requested.

Någon som kan säga vad jag gör för fel?
Johan.o
EF Sponsor
Inlägg: 2388
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

Inlägg av Johan.o »

Kod: Markera allt


;******************************************************************************

;                                                                     

;	Test av dsPIC30F1010.				     		 				  

;                                                                     

;                                                                     

;******************************************************************************

;                                                                     

;	Filnamn: dsPIC.s   						  

;	Date: 2008-09-14, 13:59										  	

;	File version: 1.0	    		         	  				  

;       															 			

;	Author: Johan Olofsson

;	Company: -

;

;******************************************************************************

;																		  			

;	Genreal notes:

;	-------------

;

;	osc		

;

;	

;

;******************************************************************************

;	

;	Hardware/software notes:

;	-----------------------	

;

;

;

;******************************************************************************



	.equ __30F1010, 1				; Setting microkontroller type

    .include "p30F1010.inc"			; Include-file with definitions



;******************************************************************************

; Setting fuses





    config __FOSC, CSW_FSCM_OFF & FRC_HI_RANGE

	config __FOSCSEL,FRC_PLL	; Initial oscillator group Selection

	config __FWDT,WDT_OFF			; Watchdogtimer.

	config __FPOR, PWRT_128			; Power-ON reset.

	config __FGS, CODE_PROT_OFF		; General Segment Program Flash  Code protection



;******************************************************************************





	

	.org 0x000							; The processors reset vector

	goto		start						; Go to start of program



;******************************************************************************

		

 

												; Startup settingsreset:

start:

	nop

	nop

	nop













			

LOOP_FOREVER:									; Here the program ends, in a forever loop.

	goto		LOOP_FOREVER

				

	.end		


Ger felmeddelandet:

Kod: Markera allt


Executing: "C:\Program\Microchip\MPLAB ASM30 Suite\bin\pic30-as.exe" "dsPIC.s" -o"dsPIC.o" -p=30F1010 --defsym=__DEBUG=1 -g
Executing: "C:\Program\Microchip\MPLAB ASM30 Suite\bin\pic30-ld.exe" "dsPIC.o" --script="..\..\..\..\Program\Microchip\MPLAB ASM30 Suite\Support\dsPIC30F\gld\p30f1010.gld" --defsym=__MPLAB_BUILD=1 --defsym=__MPLAB_DEBUG=1 --defsym=__MPLAB_DEBUGGER_ICD2=1 --defsym=__ICD2RAM=1 -o"dsPIC_test.cof" -Map="dsPIC_test.map" --report-mem
..\..\..\..\Program\Microchip\MPLAB ASM30 Suite\Support\dsPIC30F\gld\p30f1010.gld:1: undefined symbol `__reset' referenced in expression
Link step failed.


sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Vad jag förstår så måste man skriva assemblern i relocatable mode,

Korrekt, det enda som stöds i ASM30. Lika bra det...

> vilket jag testat på PIC18F tidigare.. Så jag utgick från den koden..

Vore det inte bättre att utgå från något exempel skrivet i ASM30 ?
Så vitt jag vet är det ganska stor skillnad på ASM för PIC16/18
och PIC24/dsPIC30.
Johan.o
EF Sponsor
Inlägg: 2388
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

Inlägg av Johan.o »

Jo det vore bättre att utgå från kod skriven i ASM30, men jag har inte hittat så mycket sådan,
där man kan se hur ett program är uppbyggt från start till slut :(
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

\Program\Microchip\MPLAB ASM30 Suite\Support\templates\assembly

I alla fall på min maskin...
Johan.o
EF Sponsor
Inlägg: 2388
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

Inlägg av Johan.o »

Tack för tipset, det hela slutade med att jag slängde in microchips C-kompilator istället.
100 gånger lättare, då man slipper hålla reda på alla konstiga assembler-direktiv.

Kanske lika bra det då den verkar vara rätt optimerad för C.
Skriv svar