* LPC11U14 definitions and code fragments for AltOS
*/
+#ifndef AO_STACK_SIZE
#define AO_STACK_SIZE 512
+#endif
+
+#define AO_PORT_TYPE uint32_t
-#define AO_LED_TYPE uint16_t
+#define AO_LED_TYPE AO_PORT_TYPE
#ifndef AO_TICK_TYPE
#define AO_TICK_TYPE uint16_t
#define __interrupt(n)
#define __at(n)
-#define ao_arch_reboot()
+#define ao_arch_reboot() arm_scb.aircr = ((0x05fa << 16) | \
+ (0 << 15) | \
+ (1 << 2) | \
+ (0 << 1))
#define ao_arch_nop() asm("nop")
#define AO_TIM91011_CLK (2 * AO_PCLK2)
#endif
-#define AO_STM_NVIC_HIGH_PRIORITY 4
-#define AO_STM_NVIC_CLOCK_PRIORITY 6
-#define AO_STM_NVIC_MED_PRIORITY 8
-#define AO_STM_NVIC_LOW_PRIORITY 10
+#define AO_LPC_NVIC_HIGH_PRIORITY 0
+#define AO_LPC_NVIC_CLOCK_PRIORITY 1
+#define AO_LPC_NVIC_MED_PRIORITY 2
+#define AO_LPC_NVIC_LOW_PRIORITY 3
void
ao_adc_init(void);
-
+#define AO_USB_OUT_EP 2
+#define AO_USB_IN_EP 3
void
ao_serial_init(void);
+/* SPI definitions */
+
+#define AO_SPI_SPEED_12MHz 4
+#define AO_SPI_SPEED_6MHz 8
+#define AO_SPI_SPEED_4MHz 12
+#define AO_SPI_SPEED_2MHz 24
+#define AO_SPI_SPEED_1MHz 48
+#define AO_SPI_SPEED_500kHz 96
+#define AO_SPI_SPEED_250kHz 192
+
+#define AO_SPI_SPEED_FAST AO_SPI_SPEED_12MHz
+
+#define AO_BOOT_APPLICATION_BASE ((uint32_t *) 0x00001000)
+#define AO_BOOT_APPLICATION_BOUND ((uint32_t *) (0x00000000 + 32 * 1024))
+#define AO_BOOT_LOADER_BASE ((uint32_t *) 0x00000000)
+#define HAS_BOOT_LOADER 1
+
+/* ADC definitions */
+
+#define AO_ADC_MAX 32767
+
#endif /* _AO_ARCH_H_ */