rius (13.03.2006 14:25, просмотров: 1531)
как запустить ARM lpc2148 без отладчика? при прошивке и запуске отладки все тикает, если сразу отключить виглер - тоже, но если подать питание без участия программатора и cw, то прошитая программа не запускается.
среда CW 1.5 для ARM, конфигурация проекта Flash Debug
вот весь код:
#include
void target_init()
{
#define Fosc OSCILLATOR_CLOCK_FREQUENCY
#define Fcclk (Fosc * 4)
#define Fcco (Fcclk * 4)
#define Fpclk (Fcclk / 4) * 1
MEMMAP = 1;
#if (Fpclk / (Fcclk / 4)) == 1
VPBDIV = 0;
#endif
#if (Fpclk / (Fcclk / 4)) == 2
VPBDIV = 2;
#endif
#if (Fpclk / (Fcclk / 4)) == 4
VPBDIV = 1;
#endif
#if (Fcco / Fcclk) == 2
PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
#endif
#if (Fcco / Fcclk) == 4
PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
#endif
#if (Fcco / Fcclk) == 8
PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
#endif
#if (Fcco / Fcclk) == 16
PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
#endif
PLLFEED = 0xaa;
PLLFEED = 0x55;
// while((PLLSTAT & (1 << 10)) == 0);
PLLCON = 3;
PLLFEED = 0xaa;
PLLFEED = 0x55;
}
int main(void)
{
PINSEL0 &= ~0x000000ff;
IO0DIR |= 0x000000ff;
IO0CLR = 0x0000FFFF;
target_init();
int i, j;
MAMCR = 2;
CCR = 0x11;
int second = 0;
while (1)
{
while(second == SEC);
IO0PIN = 0x000000ff;
second = SEC;
while(second == SEC);
IO0PIN = 0x00000000;
second = SEC;
}
return 0;
}