SECBOOT¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
功能概述¶
SECBOOT(Secure Boot,安全启动)是一种基于可信根(Root of Trust)的安全启动机制,用于确保设备在启动过程中仅加载和执行经过授权的固件镜像,从而防止恶意代码、篡改固件或未授权软件运行。
在设备上电启动时,系统首先从芯片内部固化的启动程序(Boot ROM)开始运行,并对后续启动阶段的固件进行数字签名校验。只有当固件签名验证通过后,系统才会继续执行下一阶段的启动流程;如果校验失败,则拒绝加载相关固件,从而保障系统启动链路的安全性。
SECBOOT通过建立从Boot ROM到Bootloader、Kernel以及应用程序的信任链(Chain of Trust),确保整个启动过程中的软件均来源可信且未被篡改。
主要提供以下安全能力:
防止未授权固件被加载执行
防止固件文件被恶意篡改
保护设备系统完整性与可信性
提升产品对恶意攻击和非法破解的防护能力
满足工业、车载、物联网等安全场景的部署要求
SECBOOT API¶
头文件¶
qosa_secboot.h
函数概览¶
函数 |
说明 |
|---|---|
qosa_secboot_enable() |
启用SECBOOT |
qosa_secboot_get_enable_state() |
获取SECBOOT的启用状态 |
函数详解¶
qosa_secboot_enable¶
功能描述
启用SECBOOT。函数原型
qosa_secboot_error_e qosa_secboot_enable(void)
参数说明
无返回值说明
QOSA_SECBOOT_OK:函数执行成功
其他错误码:函数执行失败
qosa_secboot_get_enable_state¶
功能描述
获取SECBOOT的启用状态 。函数原型
qosa_secboot_error_e qosa_secboot_get_enable_state(qosa_uint8_t *enable_state)
参数说明
参数名 |
输入/输出 |
类型 |
说明 |
|---|---|---|---|
enable_state |
输出 |
qosa_uint8_t * |
输出参数 |
返回值说明
QOSA_SECBOOT_OK:函数执行成功
其他错误码:函数执行失败
枚举定义¶
qosa_secboot_error_e¶
结果码枚举定义如下:
QOSA_COMPONENT_SECBOOT = 0x811B
#define QOSA_ERRCODE_SECBOOT_BASE (QOSA_COMPONENT_SECBOOT << 16)
typedef enum
{
QOSA_SECBOOT_OK = QOSA_OK,
QOSA_SECBOOT_EXECUTE_ERR = QOSA_ERRCODE_SECBOOT_BASE | 1,
QOSA_SECBOOT_INVALID_PARAM_ERR ,
QOSA_SECBOOT_UNKNOW_ROM_VECTOR ,
QOSA_SECBOOT_ERROR_MAX
} qosa_secboot_error_e;
成员 |
说明 |
|---|---|
QOSA_SECBOOT_OK |
函数执行成功 |
QOSA_SECBOOT_EXECUTE_ERR |
函数执行失败 |
QOSA_SECBOOT_INVALID_PARAM_ERR |
参数无效 |
QOSA_SECBOOT_UNKNOW_ROM_VECTOR |
未知的变量 |
QOSA_SECBOOT_ERROR_MAX |
其他错误 |
示例代码¶
完整示例代码请查看https://github.com/UniRTOS/UniRTOS-Doc-Examples/blob/main/system/secboot/secboot.c