]> rtime.felk.cvut.cz Git - sysless.git/blob - board/lpceurobot/libs/hwinit/hwinit.c
4632777b801cab72b563f6bcffe51ced1a32baad
[sysless.git] / board / lpceurobot / libs / hwinit / hwinit.c
1 #include <lpc21xx.h>                            /* LPC21xx definitions */\r
2 #include <deb_led.h>\r
3 #include "startcfg.h"\r
4 #include "pwrstep.h"\r
5 #include "uart.h"\r
6 #include <stdlib.h>\r
7 #include <error.h>\r
8 \r
9 /* Called automatically from crt0.S before main() */\r
10 /* void __hardware_init(void) __attribute__ ((used)); */\r
11 void __hardware_init(void)\r
12 {\r
13         int err = SUCCESS;\r
14 \r
15         if ((void*)&__hardware_init > (void*)0x40000000) {\r
16                 /* We are running from RAM */\r
17                 MEMMAP = 0x2;   /* Remap interrupt vectors */\r
18         }\r
19 \r
20         deb_led_init();\r
21         \r
22         err = init_PLL(PLL_MUL_4 ,PLL_DIV_2 ,PLL_MODE_ENABLE);   //58.98MHz\r
23         if (err) error(err);\r
24                                           \r
25         err = init_MAM(MAM_FULL);   //58.98MHz\r
26         if (err) error(err);\r
27 \r
28         set_APB(APB_DIV_2);\r
29         init_pwr();\r
30 \r
31 \r
32         init_uart0((int)9600 ,UART_BITS_8, UART_STOP_BIT_1, UART_PARIT_OFF, 0 );\r
33 \r
34 }\r
35 \r
36 /* Put a pointer to this function in .init_array section */\r
37 void (*fp) (void) __attribute__ ((section (".init_array"))) = __hardware_init;\r