Moin,

ich habe inzwischen ein neues Problem mit meinem Board von IAR. Ich hab inzwischen damit angefangen alle Initialisierungen usw. (mehr oder weniger) selbst zu schreiben. Habs teilweise nur so geändert wie ich es brauche. Nun habe ich aber das Problemm, dass der Controller immer abstürzt wenn ich eine Funktion ausführe die ich vor der Main funktion deklariere. Hier einmal mein Code
Code:
#include "iolpc1766.h"
#include "intrinsics.h"

void i2c_init(void)
{
    PCONP=(1<<7);                       // Enable Power
    PCLKSEL0=(0<<14)|(1<<15);           //PCLK = CCLK/2=50MHz
    PINSEL1=(1<<22)|(1<<24);            //I2C Pinfunktion auswählen
    SETENA0=(1<<10);                    //I2C interrupt aktivieren
}

void i2c_start (void)
{
    I2C0CONSET_bit.I2EN=1;
}

void test (void)
{
   for(unsigned int a=0;a>15;a++);
}

void clock_init (void)
{
                                 //PLL Interrupt aktivieren
   SCS_bit.OSCEN=0;
   PLL0CON_bit.PLLC = 0;                          //PLL abkoppeln
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;
   
   PLL0CON_bit.PLLE = 0;                          //PLL ausschalten
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;
   
   CLKSRCSEL &= ~(1<<0)|(1<<1);                   // internen Oszillator auswählen
   
   
   PLL0CFG_bit.MSEL = 75-1;                       //M=75,N=2
   PLL0CFG_bit.NSEL = 2-1;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;
   
   PLL0CON_bit.PLLE = 1;                          //PLL wieder einschalten
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;
   
  while(!PLL0STAT_bit.PLOCK);                    //warten bis PLL fertig ist
   
   CCLKCFG   = 3-1;                               //CCLK= Fcco/3
   
   PLL0CON_bit.PLLC = 1;                          // PLL ankoppeln
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;
} 

void clock_output_init(void)                       //stellt den Takt für die Kamera auf P1.27 bereit
{
    CLKOUTCFG_bit.CLKOUT_EN =0;
    CLKOUTCFG &= ~(1<<0)|(1<<1)|(1<<2)|(1<<3);    //CCLK auswählen 
    CLKOUTCFG = (1<<4)|(1<<5)|(1<<6);             //duch 8 teilen 100/8=12,5
    CLKOUTCFG_bit.CLKOUT_EN=1;
}


int main()
{
  FLASHCFG=(1<<12)|(1<<14);
  SETENA0=(1<<16); 
  
  test();
   
  while(1)
  {
    
  }
}

Wenn ich den Inhalt der Funktionen einfach so in die Main kopiere klappts. Nur wenn ich die funktionen aufrufe, wie in meinem code gerade die test() funktion. Stürzt er ab und macht gar nichts mehr. Zudem gibt er mir immer folgendes aus : "Tue Apr 05 13:29:35 2011: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.% ". Mit der Meldung kann ich auch nur sehr wenig anfangen. Kann mir da jemand weiterhelfen? Wobei die Warunung nicht unbedingt im zusammenhang mit meinem Problem steht, da sie immer auftaucht sobald ich das programme downloade.

mfg
Erik