2.4. eFuse API参考¶
eFuse API位于CIPHER 模块,提供以下 API:
CVI_EFUSE_GetSize: 查询eFuse区域大小。
CVI_EFUSE_Read: 读取eFuse区域。
CVI_EFUSE_Write:写入eFuse区域。
CVI_EFUSE_EnableSecureBoot: 使能安全启动。
CVI_EFUSE_IsSecureBootEnabled: 查询安全启动状态。
CVI_EFUSE_EnableFastBoot: 使能快速启动。
CVI_EFUSE_IsFastBootEnabled: 查询快速启动状态。
CVI_EFUSE_Lock: 锁定eFuse区域。
CVI_EFUSE_IsLocked: 查询eFuse区域是否被锁定。
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
。