35#if defined(USE_BK72XX)
38#define IRAM_ATTR __attribute__((noinline, section(".sram.text")))
53extern "C" void delay(
unsigned long ms);
54extern "C" unsigned long micros(
void);
55extern "C" unsigned long millis(
void);
72#if defined(USE_BK72XX)
79 __asm__
volatile(
"mrs %0, ipsr" :
"=r"(ipsr));
89#if defined(USE_RTL87XX) || defined(USE_LN882X)
90static_assert(configTICK_RATE_HZ == 1000,
"millis() fast path requires 1 kHz FreeRTOS tick");
93 return in_isr_context() ? xTaskGetTickCountFromISR() : xTaskGetTickCount();
95#elif defined(USE_BK72XX)
96static_assert(configTICK_RATE_HZ == 500,
"BK72xx millis() fast path assumes 500 Hz FreeRTOS tick");
struct @65::@66 __attribute__
Wake the main loop task from an ISR. ISR-safe.
unsigned long millis(void)
void delay(unsigned long ms)
unsigned long micros(void)
uint32_t platform_is_in_interrupt_context(void)
uint32_t lt_cpu_get_freq(void)
void delayMicroseconds(unsigned int us)
uint32_t lt_cpu_get_cycle_count(void)
uint32_t arch_get_cpu_cycle_count()
void IRAM_ATTR HOT delayMicroseconds(uint32_t us)
uint32_t arch_get_cpu_freq_hz()
uint32_t IRAM_ATTR HOT micros()
void HOT delay(uint32_t ms)
uint32_t IRAM_ATTR HOT millis()