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 *

输出参数
0:禁用
1:启用

  • 返回值说明
    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