diff options
| -rw-r--r-- | src/lpc/altos.ld | 11 | ||||
| -rw-r--r-- | src/lpc/ao_arch.h | 2 | ||||
| -rw-r--r-- | src/lpc/ao_usb_lpc.c | 1 | 
3 files changed, 10 insertions, 4 deletions
diff --git a/src/lpc/altos.ld b/src/lpc/altos.ld index bcfba1ea..2778797a 100644 --- a/src/lpc/altos.ld +++ b/src/lpc/altos.ld @@ -17,8 +17,9 @@  MEMORY {  	rom (rx) : ORIGIN = 0x00000000, LENGTH = 32K -	ram (!w) : ORIGIN = 0x10000000, LENGTH = 4K - 512 -	stack (!w) : ORIGIN = 0x10000000 + 4K - 512, LENGTH = 512 +	ram (!w) : ORIGIN = 0x10000000, LENGTH = 4K - 128 +	usb (!x) : ORIGIN = 0x20004000 + 2K - 256, LENGTH = 256 +	stack (!w) : ORIGIN = 0x10000000 + 4K - 128, LENGTH = 128  }  INCLUDE registers.ld @@ -63,9 +64,13 @@ SECTIONS {  		*(COMMON)  		__bss_end__ = .;  	} >ram +	PROVIDE(end = .); + +	.usb : { +		*(.usb) +	} > usb  	PROVIDE(__stack__ = ORIGIN(stack) + LENGTH(stack)); -	PROVIDE(end = .);  }  ENTRY(start); diff --git a/src/lpc/ao_arch.h b/src/lpc/ao_arch.h index 92405649..9dbebf4a 100644 --- a/src/lpc/ao_arch.h +++ b/src/lpc/ao_arch.h @@ -24,7 +24,7 @@   * LPC11U14 definitions and code fragments for AltOS   */ -#define AO_STACK_SIZE	192 +#define AO_STACK_SIZE	320  #define AO_LED_TYPE	uint16_t diff --git a/src/lpc/ao_usb_lpc.c b/src/lpc/ao_usb_lpc.c index 0f881720..cd896724 100644 --- a/src/lpc/ao_usb_lpc.c +++ b/src/lpc/ao_usb_lpc.c @@ -81,6 +81,7 @@ static uint8_t	ao_usb_tx_count;  static uint8_t	ao_usb_rx_buffer[AO_USB_OUT_SIZE];  static uint8_t	ao_usb_rx_count, ao_usb_rx_pos; +__attribute__((section(".usb")))  static struct lpc_usb_endpoint lpc_usb_endpoint __attribute((aligned(256)));  /* Marks when we don't need to send an IN packet.  | 
