主要用于控制编译选项、芯片特性和功能模块的启用。以下是对每个宏的详细解释:
1. __VTOR_PRESENT=1
- 含义:表示启用 向量表偏移寄存器(VTOR,Vector Table Offset Register) 功能。
- 背景:在 ARM 架构中,VTOR 用于设置中断向量表的起始地址(可动态偏移),常用于程序加载到不同内存地址时(如 OTA 升级后)重新定位中断向量表。
- 作用:定义该宏后,编译时会包含 VTOR 相关的初始化代码,确保系统中断能正确响应。
2. _IC_CODE_
- 含义:芯片型号 / 版本标识代码(Integrated Circuit Code)。
- 背景:ASR 芯片可能有多个版本(如不同工艺、封装或功能子集),
_IC_CODE_
用于在代码中区分具体的芯片型号,以便适配不同的硬件特性。 - 作用:编译时根据芯片型号选择对应的硬件驱动、寄存器配置或功能模块(类似条件编译)。
3. CFG_SEG
- 含义:内存分段配置(Segment Configuration)。
- 背景:嵌入式系统常将 Flash/R