C18 anfängerfrage
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  Compiler  |  C18 anfängerfrage « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: C18 anfängerfrage  (Gelesen 1523 mal)
 
jacsol
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« am: November 11, 2009, 21:10:12 »

hallo,

ich komme mit meiner suche nicht weiter und brauche Eure hilfe.
ich versuche seit paar wochen meine erste schritte beim pic-programmierung. mit asm klappt alles soweit und ich wollte mit c18 probieren. ich besitze den pic 18f2550 mit dem usb-bootloader vom sprut.
mit assembler kann ich mein erstes programm (led am portb an und ausmachen :-) ) kompilieren und mit der sprut software in den chip übertragen. es läuft auch gut (bis auf reset, der reagiert nicht :-().
mit dem c18-compiler hatte ich zuerst probleme mit den pfaden aber das habe ich irgenwie (onkel googel hat mir geholfen) gelöst. also mein programmchen wir "BUILD SUCCEEDED" ins hex kompiliert, mit linker script ab adr=0x800, da ich den bootloader drauf habe (richtig?). nachdem die hex übertragen wird tut sich garnichts auf dem pic, erst nach dem neueinschalten/reseten landet er im bootlader.

Code:
/** I N C L U D E S **********************************************************/
 #include <p18cxxx.h>
 #include "delays.h"                        // für die Warteschleife
   

/** Configuration ********************************************************/
 #pragma config FOSC = HS   //CPU=20 MHz
 #pragma config PWRT = ON
 #pragma config BOR = OFF
 #pragma config WDT = OFF  //Watchdog Timer
 #pragma config LVP = OFF  //Low Voltage ICSP
   

/** D E C L A R A T I O N S **************************************************/
 #pragma code

 void main(void)
 {
   TRISB = 0xFE;
   LATB = 0x00; 

   while(1)
   {
     LATB = 0xFF;
     Delay10KTCYx(100);
     LATB = 0;
     Delay10KTCYx(100);
   }//end while
 }//end main

was mache ich falsch, was muss ich für paramerter setzt dass es läuft?
im voraus vielen dank.
jacsol
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #1 am: November 12, 2009, 17:44:12 »

Zitat
mit linker script ab adr=0x800, da ich den bootloader drauf habe (richtig?).
Ja.
Zitat
erst nach dem neueinschalten/reseten landet er im bootlader.
Wie erkennt der PIC denn ob der Bootloader oder das Programm gestartet werden soll?

Gruß
Stefan
Gespeichert

jacsol
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« Antworten #2 am: November 12, 2009, 18:39:32 »

Zitat
Wie erkennt der PIC denn ob der Bootloader oder das Programm gestartet werden soll?
nach dem einschalten/reseten hält man den reset-taster gedrückt dann startet der bootloader (ich kann programme vom pc kopieren/brennen). sonst sollte mein programmchen starten. mit assembler-ledblinkprogramm läuft wie gewünscht.
Gespeichert
Master Snowman
Sr. Member
****
Offline Offline

Beiträge: 289



Profil anzeigen WWW
« Antworten #3 am: November 12, 2009, 20:42:34 »

> nach dem einschalten/reseten hält man den reset-taster gedrück
das tönt nach sprut-bootloader, falls das jemandem hilft.
ps: sorry, ich habe leider noch nie mit diesem gearbeitet.
Gespeichert
jacsol
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« Antworten #4 am: November 13, 2009, 18:40:36 »

hi,

nachdem ich mein programm erweitert habe, funktioniert auch alles
vielen dank an alle die mir versuchten zu helfen

Code:
/** V E C T O R  R E M A P P I N G *******************************************/

extern void _startup (void);        // See c018i.c in your C18 compiler dir
#pragma code _RESET_INTERRUPT_VECTOR = 0x000800
void _reset (void)
{
    _asm goto _startup _endasm
}
#pragma code

#pragma code _HIGH_INTERRUPT_VECTOR = 0x000808
void _high_ISR (void)
{
    ;
}

#pragma code _LOW_INTERRUPT_VECTOR = 0x000818
void _low_ISR (void)
{
    ;
}
#pragma code
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.037 Sekunden mit 18 Zugriffen.
 
Top! Top!