#ifndef ICACHE_FLASH_ATTR #define ICACHE_FLASH_ATTR
时间: 2024-08-14 17:03:48 浏览: 109
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
5星 · 资源好评率100%
#ifndef ICACHE_FLASH_ATTR 是宏定义的一种常见用法,在嵌入式开发特别是使用 ARM 的 Cortex-M 系列微控制器中,它通常用于指示函数或数据应该被缓存到 Flash 存储器而不是 SRAM 中。当程序运行过程中遇到 ICACHE_FLASH_ATTR 宏定义的代码块,编译器会将其视为需要存储在 Flash 中以节省RAM空间,并且可能触发相应的刷新操作。
#define ICACHE_FLASH_ATTR 在实际应用中通常会配合 __attribute__((section(".isr_vector"))) 或 __attribute__((noinline)) 使用,比如在中断向量表(ISR)或者不希望被打断的地方执行函数。
阅读全文