2.4. eFuse API参考

eFuse API位于CIPHER 模块,提供以下 API:

2.4.1. CVI_EFUSE_GetSize

【描述】

查询eFuse区域大小。

【语法】

CVI_S32 CVI_EFUSE_GetSize(CVI_EFUSE_AREA_E area, CVI_U32 *size);

【参数】

参数名称

描述

输入/输出

area

指定eFuse区域

输入

size

eFuse区域大小 (单位:字节)

输出

【返回值】

返回值

描述

>= 0

成功

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.2. CVI_EFUSE_Read

【描述】

读取eFuse区域。

【语法】

CVI_S32 CVI_EFUSE_Read(CVI_EFUSE_AREA_E area, CVI_U8 *buf, CVI_U32 buf_size);

【参数】

参数名称

描述

输入/输出

area

指定eFuse区域

输入

buf

用于存放eFuse数据

输出

buf_size

数据的长度(单位:字节)

输入

【返回值】

返回值

描述

>= 0

成功

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.3. CVI_EFUSE_Write

【描述】

写入eFuse区域。

【语法】

CVI_S32 CVI_EFUSE_Write(CVI_EFUSE_AREA_E area, const CVI_U8 *buf, CVI_U32 buf_size);

【参数】

参数名称

描述

输入/输出

area

指定eFuse区域

输入

buf

用于写入eFuse数据

输入

buf_size

数据的长度(单位:字节)

输入

【返回值】

返回值

描述

>= 0

成功

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.4. CVI_EFUSE_EnableSecureBoot

【描述】

使能安全启动。

【语法】

CVI_S32 CVI_EFUSE_EnableSecureBoot(void);

【参数】

无。

【返回值】

返回值

描述

>= 0

安全启动已使能

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.5. CVI_EFUSE_IsSecureBootEnabled

【描述】

判断安全启动是否已使能。

【语法】

CVI_S32 CVI_EFUSE_IsSecureBootEnabled(void);

【参数】

无。

【返回值】

返回值

描述

> 0

安全启动已使能

0

安全启动尚未使能

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.6. CVI_EFUSE_EnableFastBoot

【描述】

使能快速启动。

【语法】

CVI_S32 CVI_EFUSE_EnableFastBoot(void);

【参数】

无。

【返回值】

返回值

描述

0

快速启动已使能

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libsys.a

【注意】

无。

【举例】

参考 sample_fastboot.c

注意

快速启动使能后无法再变更

2.4.7. CVI_EFUSE_IsFastBootEnabled

【描述】

判断快速启动是否已使能。

【语法】

CVI_S32 CVI_EFUSE_IsFastBootEnabled(void);

【参数】

无。

【返回值】

返回值

描述

0

快速启动已使能

< 0

快速启动尚未使能

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libsys.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.8. CVI_EFUSE_Lock

【描述】

锁定eFuse区域。

【语法】

CVI_S32 CVI_EFUSE_Lock(CVI_EFUSE_LOCK_E lock);

【参数】

参数名称

描述

输入/输出

area

指定要锁定的eFuse区域

输入

【返回值】

返回值

描述

>= 0

指定的eFuse分区已锁定

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c

2.4.9. CVI_EFUSE_IsLocked

【描述】

查询eFuse区域是否被锁定。

【语法】

CVI_S32 CVI_EFUSE_IsLocked(CVI_EFUSE_LOCK_E lock);

【参数】

参数名称

描述

输入/输出

area

指定要锁定的eFuse区域

输入

【返回值】

返回值

描述

> 0

指定的eFuse分区已锁定

0

指定的eFuse分区尚未锁定

< 0

参考错误码

【需求】

  • 头文件:cvi_type.h cvi_unf_cipher.h

  • 库文件:libcipher.a

【注意】

无。

【举例】

参考 sample_efuse.c