mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-24 19:42:27 +03:00
BREAKING - Use IRAM_ATTR in place of ICACHE_RAM_ATTR (#7921)
Update the core to use the define that the ESP32 uses, IRAM_ATTR, for placing code in DRAM.
This commit is contained in:
committed by
GitHub
parent
6743a65987
commit
656a33e6f8
@ -149,7 +149,7 @@ void micros_overflow_tick(void* arg) {
|
||||
//
|
||||
// Reference function: corrected millis(), 64-bit arithmetic,
|
||||
// truncated to 32-bits by return
|
||||
// unsigned long ICACHE_RAM_ATTR millis_corr_DEBUG( void )
|
||||
// unsigned long IRAM_ATTR millis_corr_DEBUG( void )
|
||||
// {
|
||||
// // Get usec system time, usec overflow conter
|
||||
// ......
|
||||
@ -163,7 +163,7 @@ void micros_overflow_tick(void* arg) {
|
||||
#define MAGIC_1E3_wLO 0x4bc6a7f0 // LS part
|
||||
#define MAGIC_1E3_wHI 0x00418937 // MS part, magic multiplier
|
||||
|
||||
unsigned long ICACHE_RAM_ATTR millis()
|
||||
unsigned long IRAM_ATTR millis()
|
||||
{
|
||||
union {
|
||||
uint64_t q; // Accumulator, 64-bit, little endian
|
||||
@ -194,18 +194,18 @@ unsigned long ICACHE_RAM_ATTR millis()
|
||||
|
||||
} //millis
|
||||
|
||||
unsigned long ICACHE_RAM_ATTR micros() {
|
||||
unsigned long IRAM_ATTR micros() {
|
||||
return system_get_time();
|
||||
}
|
||||
|
||||
uint64_t ICACHE_RAM_ATTR micros64() {
|
||||
uint64_t IRAM_ATTR micros64() {
|
||||
uint32_t low32_us = system_get_time();
|
||||
uint32_t high32_us = micros_overflow_count + ((low32_us < micros_at_last_overflow_tick) ? 1 : 0);
|
||||
uint64_t duration64_us = (uint64_t)high32_us << 32 | low32_us;
|
||||
return duration64_us;
|
||||
}
|
||||
|
||||
void ICACHE_RAM_ATTR delayMicroseconds(unsigned int us) {
|
||||
void IRAM_ATTR delayMicroseconds(unsigned int us) {
|
||||
os_delay_us(us);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user