oneos_config.h 宏定义
2026/4/29大约 2 分钟宏定义配置
oneos_config.h 宏定义
📚 本节导读
用途: oneos_config.h 配置文件常用宏定义
来源: projects/stm32f103zet6-atk-elite/oneos_config.h
一、概述
oneos_config.h 是 OneOS 项目的核心配置文件,由 Kconfig 系统自动生成,包含了整个项目的所有配置选项。
二、向量表相关
2.1 BSP_INCLUDE_VECTOR_TABLE
| 项目 | 内容 |
|---|---|
| 位置 | oneos_config.h:172 |
| 定义 | #define BSP_INCLUDE_VECTOR_TABLE |
| 作用 | 控制是否在工程中包含中断向量表 |
说明:
- 这个宏用于启用或禁用向量表的包含
- 如果定义了该宏,代码中会包含
vector_table相关代码 - 在
cortex_m_set_vector()函数中用于判断是否设置 VTOR
2.2 ARCH_ARM_CORTEX_M3
| 项目 | 内容 |
|---|---|
| 位置 | oneos_config.h:8 |
| 定义 | #define ARCH_ARM_CORTEX_M3 |
| 作用 | 标识当前使用 Cortex-M3 内核 |
相关内核选择:
ARCH_ARM_CORTEX_M0- Cortex-M0(不支持 VTOR)ARCH_ARM_CORTEX_M0_PLUS- Cortex-M0+(不支持 VTOR)ARCH_ARM_CORTEX_M3- Cortex-M3(支持 VTOR)ARCH_ARM_CORTEX_M4- Cortex-M4(支持 VTOR)ARCH_ARM_CORTEX_M7- Cortex-M7(支持 VTOR)
说明:
- Cortex-M0/M0+ 内核没有 VTOR 寄存器,向量表必须固定在地址 0x0
- Cortex-M3/M4/M7/M33 等内核支持 VTOR,可以灵活重定向向量表
2.3 BSP_USING_COMMON_INT
| 项目 | 内容 |
|---|---|
| 位置 | oneos_config.h:174 |
| 定义 | #define BSP_USING_COMMON_INT |
| 作用 | 控制是否使用通用中断处理机制 |
说明:
- 启用时: 使用固定的向量表,指向 Flash 中的
vector_table - 禁用时: 从 RAM 中动态读取向量表地址,支持向量表重定位
- 启用通用中断:适合固定的应用场景,简单高效
- 禁用通用中断:支持 Bootloader 等场景,可以动态切换向量表
三、内存相关
3.1 OS_USING_HEAP
| 项目 | 内容 |
|---|---|
| 位置 | oneos_config.h:113 |
| 定义 | #define OS_USING_HEAP |
| 作用 | 控制是否启用堆内存管理功能 |
说明:
- 如果启用了堆内存管理,系统会初始化堆内存管理器
- 后续可以使用
os_malloc()、os_free()等函数进行动态内存分配
四、控制台相关
4.1 OS_CONSOLE_DEVICE_NAME
| 项目 | 内容 |
|---|---|
| 位置 | oneos_config.h:195 |
| 定义 | #define OS_CONSOLE_DEVICE_NAME "uart1" |
| 作用 | 指定控制台使用的串口设备名称 |
说明:
- 这个宏定义了控制台输出使用的串口设备
- 在
__driver_stm32_usart_early_driver_init函数中用于匹配设备