}
#endif //BOOTLOADER_BUILD
-IRAM_ATTR uint32_t esp_log_early_timestamp()
+
+#ifndef BOOTLOADER_BUILD
+#define ATTR IRAM_ATTR
+#else
+#define ATTR
+#endif // BOOTLOADER_BUILD
+
+
+uint32_t ATTR esp_log_early_timestamp()
{
return xthal_get_ccount() / (CPU_CLK_FREQ_ROM / 1000);
}
#else
-uint32_t IRAM_ATTR esp_log_timestamp()
-{
- return esp_log_early_timestamp();
-}
+uint32_t esp_log_timestamp() __attribute__((alias("esp_log_early_timestamp")));
#endif //BOOTLOADER_BUILD
#define SPI_IDX 1
#define OTH_IDX 0
+#ifndef BOOTLOADER_BUILD
+#define ATTR IRAM_ATTR
+#else
+#define ATTR
+#endif // BOOTLOADER_BUILD
+
extern SpiFlashChip SPI_flashchip_data;
-static void IRAM_ATTR Wait_SPI_Idle(void)
+static void ATTR Wait_SPI_Idle(void)
{
/* Wait for SPI state machine to be idle */
while((REG_READ(SPI_EXT2_REG(SPI_IDX)) & SPI_ST)) {
about interrupts, CPU coordination, flash mapping. However some of
the functions in esp_spi_flash.c call it.
*/
-SpiFlashOpResult IRAM_ATTR SPIUnlock(void)
+SpiFlashOpResult ATTR SPIUnlock(void)
{
uint32_t status;