add TU_ATTR_FAST_FUNC for rp2040 __not_in_flash() section

This commit is contained in:
hathach 2022-04-27 17:57:52 +07:00
parent fd827a80a9
commit 4a661dead0
4 changed files with 10 additions and 4 deletions

View File

@ -31,8 +31,6 @@
#include "tusb.h" #include "tusb.h"
#include "usb_descriptors.h" #include "usb_descriptors.h"
#include "pio_usb.h"
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF PROTYPES // MACRO CONSTANT TYPEDEF PROTYPES
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -47,7 +47,7 @@ if (NOT TARGET _rp2040_family_inclusion_marker)
hardware_irq hardware_irq
hardware_resets hardware_resets
pico_sync pico_sync
# for usb-pio # for usb-pio
hardware_dma hardware_dma
hardware_pio hardware_pio
pico_multicore pico_multicore

View File

@ -228,6 +228,8 @@
#elif TU_CHECK_MCU(OPT_MCU_RP2040) #elif TU_CHECK_MCU(OPT_MCU_RP2040)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
#define TU_ATTR_FAST_FUNC __attribute__((section(".time_critical.tinyusb")))
//------------- Silabs -------------// //------------- Silabs -------------//
#elif TU_CHECK_MCU(OPT_MCU_EFM32GG) #elif TU_CHECK_MCU(OPT_MCU_EFM32GG)
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
@ -282,4 +284,9 @@
#define TUP_RHPORT_HIGHSPEED 0x00 #define TUP_RHPORT_HIGHSPEED 0x00
#endif #endif
// fast function, normally mean placing function in SRAM
#ifndef TU_ATTR_FAST_FUNC
#define TU_ATTR_FAST_FUNC
#endif
#endif #endif

View File

@ -1071,7 +1071,8 @@ static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// DCD Event Handler // DCD Event Handler
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
void __no_inline_not_in_flash_func(dcd_event_handler)(dcd_event_t const * event, bool in_isr) TU_ATTR_FAST_FUNC
void dcd_event_handler(dcd_event_t const * event, bool in_isr)
{ {
switch (event->event_id) switch (event->event_id)
{ {