diff --git a/firmware/export/usb_core.h b/firmware/export/usb_core.h index bf6f2becb2..fc1c742286 100644 --- a/firmware/export/usb_core.h +++ b/firmware/export/usb_core.h @@ -37,7 +37,7 @@ #define NUM_ENDPOINTS 8 #define USBDEVBSS_ATTR DEVBSS_ATTR #else -#define USBDEVBSS_ATTR NOCACHEBSS_ATTR +#define USBDEVBSS_ATTR IBSS_ATTR #define NUM_ENDPOINTS 3 #endif diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c index f39035462f..08eb1213ea 100644 --- a/firmware/usbstack/usb_serial.c +++ b/firmware/usbstack/usb_serial.c @@ -53,10 +53,16 @@ struct usb_endpoint_descriptor __attribute__((aligned(2))) endpoint_descriptor = }; #define BUFFER_SIZE 512 /* Max 16k because of controller limitations */ +#if CONFIG_CPU == IMX31L static unsigned char send_buffer[BUFFER_SIZE] USBDEVBSS_ATTR __attribute__((aligned(32))); -static unsigned char receive_buffer[512] +static unsigned char receive_buffer[32] USBDEVBSS_ATTR __attribute__((aligned(32))); +#else +static unsigned char send_buffer[BUFFER_SIZE] __attribute__((aligned(32))); +static unsigned char receive_buffer[32] __attribute__((aligned(32))); +#endif + static bool busy_sending = false; static int buffer_start; static int buffer_length;