查询 MCU 信息安全密钥(一机一密)
🏆 适用于 8650 平台线刷 MCU
⚠️ 重要提醒(重要的事情说三遍)
- 注意:MCU 研发团队已锁定量产件 MCU DF1 区域,无法擦除,如非必要请勿线刷 MCU。线刷前请先记录当前 MCU 版本!!!
- 注意:MCU 研发团队已锁定量产件 MCU DF1 区域,无法擦除,如非必要请勿线刷 MCU。线刷前请先记录当前 MCU 版本!!!
- 注意:MCU 研发团队已锁定量产件 MCU DF1 区域,无法擦除,如非必要请勿线刷 MCU。线刷前请先记录当前 MCU 版本!!!
- 研发后期拿到的样件大概率为量产件。
- 先完整阅读此文档再执行刷机操作,如有疑问请详询:
- 座舱安全研发:袁野、林轩宇
- 座舱 MCU 研发:刘吉宇
MCU 信息安全密钥用途
- MCU 防刷机
- MCU 防调试
如何判断刷写 MCU 是否需要密钥
-
如果登陆 MCU shell 时,需要通过 MCSS 鉴权,则机器内已经写入了信息安全密钥(防调试)。
- 提示:
Input 'MCSS' to start login
- 提示:
-
机器从工厂下线时,如果 SOC 已经熔丝,则应该写入了信息安全密钥。
- SOC 的熔丝和 MCU 的信息安全密钥写入并非强关联,只是 这两个 Feature 的开启在同一个制品流程中。
-
如果刷写 MCU 时设备无法连接,可能是因为写入信息安全密钥导致的(防刷机),但也可能是因为线束连接问题。不能作为机器内已经写入安全密钥的判断条件。
如何获取 MCU 信息安全密钥
申请设备权限
-
首先记录台架的 IMEI 号(外壳标签,第一个 imei)例如:
860219070002642- 计划后续其他平台改为 mcu 的精确追溯码。
-
账号需要有对应车型的 人员白名单 权限。
-
退件、研发件 在审批流中搜索 小米汽车座舱鉴权 - 车机白名单入库(这个是 imei,不要 加 0x)。VID 提示 N/A 为正常状态,无需 care。
-
如果是 用户车,则需要在 小米汽车座舱鉴权 - 一人一机权限申请(含量产设备) 审批流中申请,权限选择 MCU JTAG 认证。
-
在提审批之前,可以先执行一下 3.2 的操作,因为车机 IMEI 可能已经被别人添加在白名单中。当然重复加白也无影响。
获取 MCU 信息安全密钥
-
MCU 工具集 - MCU JTAG 认证。
-
不带第一行
Password is:共 8 行,直接复制粘贴。 -
如果获取不到,提示服务器数据异常,则云端无记录:
- 可能 1:该设备为 debug 件,没有灌装过信息安全密钥,默认允许调试。
- 可能 2:该设备早期写入了默认密钥 即
0x01020304,一共 8 行。 - 可能 3:该设备近期刚生产出来,工厂未将该密钥回传至座舱。加群后请工厂老师回传密钥(试产项目密钥回传 小米科技)。
刷机工具如何添加密钥?
使用英飞凌工具刷机,需要先设置密钥才能 connect:
Infinion - Memtool 2021→File→Target→Setup- 在
Controller0.Core0(Master) - TriCore2 Target Interface Setup→Reset→Unlock Interface→Define Password(默认0x00000000)→ OK
刷写 MCU 固件前(或后),需要将 DF1 区域清除,不然设备无法启动,且电流极低
- DF1 中存储了 信息安全密钥针对之前的 mcu 进行 hash 的结果,如果线刷了 mcu,hash 比对不一致将无法启动,所以线刷 mcu 需清除 DF1 区域(并非清除密钥)。
- 注意:MCU 研发团队已锁定量产件 MCU DF1 区域,无法擦除,如非必要请勿线刷 MCU。线刷前请先记录当前 MCU 版本!!!(重复三遍)
- 下图展示的需要清除的区域为 DF1 区域,大小 128K,请勿与刷机时的 memory 混淆。
Infinion - Memtool 4.7→FLASH/OTP - Memory Device→DF1: 128 KByte OnChip Data FLASH 1(勾选 Enable)→Select FLASH Sectors to Erase - DF1