首先确保硬件上有贴efuse的相关部分电路,给efuse供电:
1 、RK312X 需要使用治具,EFUSE 需要单独供电才能烧录
2 、RK3288 PCBA 上已经有 EFUSE 已经有供电,烧录软件会自动控制,不需要单独供电
3 、批量烧录前先烧录一台机器,然后用量产工具升级完整固件,确认所有功能正常后再
开始批量烧录

注:我这里验证使用的rk3399的板子,这部分的电路需要贴上,才可以烧写efuse成功,否则会提示烧写efuse失败。

1、使用SecureBootTool.exe工具生成 RSA KEY(privateKey.bin和publicKey.bin文件),这里rk3399使用的是SecureBootTool v1.85版本,每款机器只生成一次,因此要特别注意保存好,以后签名都只用这对 KEY,建议最好再备份一次,避免丢失,目前做法是保存在SDK代码device/rockchip/rk3399/中。

2、secure boot固件要求:固件要求 boot.img 和 和 recovery.img 都需要包含 kernel.img,即SDK自动编译脚本build.sh需要添加语句:./mkimage.sh ota,加在make otapackage -j4之后。
3、固件签名:使用SecureBootTool.exe工具进行固件签名,Load key加载1生成的 RSA KEY(privateKey.bin和publicKey.bin文件),然后Sign Firmware加载要签名的固件update.img,签名成功会在out目录生成update_sign.img。

4、使用EfuseTool.exe工具【我这里的版本是efuse_v1.37,这个工具界面跟量产工厂工具的烧录工具有点像,注意不要搞错】烧录efuse到板子,加载的是2生成的签名固件update_sign.img,注意是在maskrom模式下烧录efuse(未烧录固件的新板子上电就是maskrom模式或者短接flash/emmc就会进maskrom模式),烧写成功则出现如下图所示,写入成功。对应log如下:

powerOn 81802
gCBW.Len = 100 gCBW.LBA = 0
gCBW.Len = 100 FW_DataLenCnt= 100
EfuseWriteData 0 100 3104240 0
write efuse: 0000000003104240 + 0x0:0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x01,0x00,
write efuse: 0000000003104240 + 0x10:0x00,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x00,0x01,0x00,
write efuse: 0000000003104240 + 0x20:0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x01,0x00,0x01,0x01,
write efuse: 0000000003104240 + 0x30:0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x00,
write efuse: 0000000003104240 + 0x40:0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,
write efuse: 0000000003104240 + 0x50:0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x00,0x01,
write efuse: 0000000003104240 + 0x60:0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x01,
write efuse: 0000000003104240 + 0x70:0x00,0x01,0x00,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x01,
write efuse: 0000000003104240 + 0x80:0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x00,0x00,0x01,0x00,
write efuse: 0000000003104240 + 0x90:0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x00,
write efuse: 0000000003104240 + 0xa0:0x01,0x00,0x00,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x01,0x01,
write efuse: 0000000003104240 + 0xb0:0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,
write efuse: 0000000003104240 + 0xc0:0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x01,
write efuse: 0000000003104240 + 0xd0:0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
write efuse: 0000000003104240 + 0xe0:0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,
write efuse: 0000000003104240 + 0xf0:0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,EfuseReadData 100 100 325dc2c 1
efuse1: 0000000003114b28 + 0x0:0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
efuse1: 0000000003114b28 + 0x40:0x089d35ac,0x720ee15f,0xec7c018d,0x2681f4d9,0x0c7e1cfb,0x2c5465a4,0x00000011,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,EfuseReadData 100 100 325dc2c 1
efuse1: 0000000003114b28 + 0x0:0x00000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x5ee25e4c,0x4308d29d,0xa69bc168,0x966ad196,0x68c54d0e,0x7cc8ec69,0xfe0ff147,0x21f2cfe7,
efuse1: 0000000003114b28 + 0x40:0x089d35ac,0x720ee15f,0xec7c018d,0x2681f4d9,0x0c7e1cfb,0x2c5465a4,0x00000011,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,enable secure
EfuseReadData 0 100 3100040 0
efuse1: 0000000003114b28 + 0x0:0x000000ff,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x5ee25e4c,0x4308d29d,0xa69bc168,0x966ad196,0x68c54d0e,0x7cc8ec69,0xfe0ff147,0x21f2cfe7,
efuse1: 0000000003114b28 + 0x40:0x089d35ac,0x720ee15f,0xec7c018d,0x2681f4d9,0x0c7e1cfb,0x2c5465a4,0x00000011,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,enable secure
EfuseReadData 0 100 3100040 0
efuse1: 0000000003114b28 + 0x0:0x000000ff,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x5ee25e4c,0x4308d29d,0xa69bc168,0x966ad196,0x68c54d0e,0x7cc8ec69,0xfe0ff147,0x21f2cfe7,
efuse1: 0000000003114b28 + 0x40:0x089d35ac,0x720ee15f,0xec7c018d,0x2681f4d9,0x0c7e1cfb,0x2c5465a4,0x00000011,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,


5、然后使用FactoryTool_v1.66工具,升级签名固件。

6、验证结果:
6.1使用串口工具(如SecureCRT)抓取log。有以下打印表示安全启动:
Secure Boot find rsa key in ram.
Secure Boot Mode: 0x1
SecureBootEn = 1, SecureBootLock = 1
6.2设备已编程eFuse将启用安全启动rom,无法从未签名的固件启动。
因此,尝试升级未签名固件或不匹配的密钥签名固件将会失败;
升级匹配的签名固件将引导成功。

rk3399_android7.1关于secureboot操作说明相关推荐

  1. 大掌柜商业管理系统服务器地址,大掌柜软件通用版操作说明.doc

    大掌柜软件通用版操作说明 PAGE PAGE 157 系统应用基础 内容提要: 大掌柜软件专业版对系统的要求 数据库SQL server2000的安装 大掌柜软件专业版服务器端与客户端的安装 加密狗的 ...

  2. unitoy机器人怎么联网_机器人操作说明

    安全 ................................................................................................. ...

  3. 功能详细说明_广东税务产业链智联平台操作说明(电子税务局版)

    (一)登录国家税务总局广东省电子税务局. (二)通过左侧菜单栏"特色业务"-"产业链智联平台"跳转到智联平台主页. 广东产业链智联平台包含四大功能:寻找货源.谁 ...

  4. git的操作说明超详细

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 个人在学习Git工作流的过程中,从原有的 SVN 模式很难完全理解Git的协作模式,直到有一天我看到了下面的文章,好多 ...

  5. android手机系统的启动流程-secureboot流程(以MTK平台为例)

    ★★★ 个人博客导读首页-点击此处 ★★★ MTK平台下的secureboot流程图: 镜像的验证方法:

  6. 腐烂国度2怎么学计算机,腐烂国度2按键操作说明 腐烂国度2怎么操作

    腐烂国度2日前已经正式发售,那么在游戏中玩家该怎么操作呢?下面带来腐烂国度2按键操作说明,一起来看看吧. 腐烂国度2按键操作说明 操作介绍 W/S/A/D:控制角色移动 Shift+W:冲刺 鼠标左键 ...

  7. revit2019 导出obj_revit、3dmax导出object文件软件操作说明.doc

    revit.3dmax导出object文件操作说明 目录 一.Revit导出Object文件2 二.3DMAX 导出Object文件2 三.3DMAX文件的材质赋予5 四.Object文件的三维位置调 ...

  8. Matlab——GUI程序操作说明

    Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...

  9. Mongodb基本操作说明

    Mongodb基本操作说明 1.首先cmd(管理员方式运行)下启动mongo服务(类似初始化工具): Mongod.exe 默认文件夹为 :c:\data\db 如果没有创建该文件夹的话,需要先创建该 ...

  10. python中pandas安装视频教程_详解Python中pandas的安装操作说明(傻瓜版)

    很多人来问我pandas的安装(python数据分析里面的必修课) 步骤如下: 安装python的时候,把路径加到系统里,这样,随时可以用pip 路径添加方法: 查找路径: 路径1: 2.例如: 即: ...

最新文章

  1. 配置nginx反向代理jira并实现https
  2. UIAlertView的使用方法
  3. jspservlet初体验——用户登录功能实现
  4. 【第二组】项目冲刺(Beta版本)第一次每日例会 2017/7/18
  5. 形容PHP程序员的语句,形容程序员的句子
  6. bzoj 3881 [Coci2015]Divljak——LCT维护parent树链并
  7. java jdk 环境不一致_jdk(多版本)安装注意!
  8. CMD中文显示为乱码
  9. 机器学习中的正则化(Regularization)
  10. 桌面魔术可以用透明桌子揭密
  11. kernel中的memtest
  12. VIVADO 下载mcs 文件
  13. Windows密钥备份
  14. [转][信息图表]Google十大高薪职位
  15. 大厂的人自带光环,但光环是从哪儿来的呢?
  16. vim时”E575: viminfo: Illegal starting char in line。。。。。。
  17. android 高德地图定位圈,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...
  18. leetcode:雪糕的最大数量
  19. Facebook第三方登录切换账号的问题
  20. IOC之bean之间的关系讲解

热门文章

  1. 【模板】线性筛法求素数
  2. Oracle中的rownum不能使用大于的问题
  3. BULK INSERT, 实战手记:让百万级数据瞬间导入SQL Server
  4. Unity2.0学习笔记-Unity2.0基础-HelloWorld
  5. Flex 4 的ComboBox下拉框滚动条Scroller(VerticalScrollBar)的thumb过小问题的解决
  6. 如何判断你和优秀AI算法工程师之间的差异?
  7. 教练级导师带你打5场AI大赛,还有奖金5万元的工业级AI实战赛等你来战!
  8. 【每日算法Day 77】LeetCode 第 181 场周赛题解
  9. poj3268(Silver Cow Party)最短路
  10. 深度学习2.0-9.tensorflow的高阶操作之填充与复制