123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #include "hal.h"
- static CH_IRQ_HANDLER(irq_handler) {
- CH_IRQ_PROLOGUE();
- LPC214x_NON_VECTORED_IRQ_HOOK();
- VICVectAddr = 0;
- CH_IRQ_EPILOGUE();
- }
- void hal_lld_init(void) {
- vic_init();
- VICDefVectAddr = (IOREG32)irq_handler;
- }
- void lpc214x_clock_init(void) {
-
- PCONP = PCRTC | PCTIM0;
-
- MAMTIM = 0x3;
- MAMCR = 0x2;
-
- PLL *pll = PLL0Base;
- pll->PLL_CFG = 0x23;
- pll->PLL_CON = 0x1;
- pll->PLL_FEED = 0xAA;
- pll->PLL_FEED = 0x55;
- while (!(pll->PLL_STAT & 0x400))
- ;
- pll->PLL_CON = 0x3;
- pll->PLL_FEED = 0xAA;
- pll->PLL_FEED = 0x55;
-
- VPBDIV = VPD_D4;
- }
|