七、从0开始卷出一个新项目之瑞萨RA6M5“工厂生产流程”

目录

九、RA6M5“工厂生产流程”

9.1 框图

9.2 瑞萨Renesas Flash Programmer(RFP)

9.2.1 RFP下载

9.2.2 相关文档

9.3 RA启动模式

9.3.1 boot硬件接口

9.3.2 boot软件接口

9.4 RA DLM(生命周期管理)

9.4.1 .rpd分区文件

9.4.2 DLM介绍

9.4.2.1 DLM模式转换图

9.4.2.2 DLM模式说明图

9.4.2.3 DLM-DPL部署到客户现场说明图

9.4.2.4 DLM写入秘钥(略)

9.4.2.5 DLM结合公司项目开发

9.4.2.6 演示RFP的使用

9.4.2.7 例程打印DLM模式和分区


七、从0开始卷出一个新项目之瑞萨RA6M5“工厂生产流程”

九、RA6M5“工厂生产流程”

抛砖引玉。这里把工厂烧写固件、设置读保护、产测流程统称为“工厂生产流程”。主要介绍工厂烧写、产测流程的做法和注意事项。引出简介瑞萨DLM芯片生命周期管理、Arm® (CM33)的TrustZone® 。

9.1 框图

这是最常见MCU工厂烧录方式:

a、使用治具,通过segger jlink或瑞萨RFP Jlink/串口烧写bin/hex等固件文件
b、设置flash读保护(DLM切换状态),保护固件被读取破解
c、产测流程,确保pcba正常。常把上述软件嵌入到公司的系统软件中。

框图:

9.2 瑞萨Renesas Flash Programmer(RFP)

正常模式:RFP可以读写RA6M5固件(同segger j-flash)
引导模式:RFP可以读写RA6M5固件、读写配置、DLM关联相关功能等等
9.2.1 RFP下载


 

9.2.2 相关文档

1、Renesas Flash Programmer V3.12
2、Renesas RA Family Standard Boot Firmware for the RA family MCUs Based on Arm® Cortex®-M33
3、Renesas RA Family Device Lifecycle Management Key Injection
4、瑞萨 RA 产品家族 器件生命周期管理密钥安装
5、安全密钥管理工具 V.1.03 用户手册
6、Renesas RA Family Implementing Production Programming Tools forRA Cortex-M33 with Device Lifecycle Management

9.3 RA启动模式

9.3.1 boot硬件接口


硬件设计建议预留MD引脚和jtag接口,而非单独swd接口。

9.3.2 boot软件接口

1、uart/usb boot协议
2、RFPV3.exe、rfp-cli.exe、
3、rpe.exe

9.4 RA DLM(生命周期管理)

1、写入.rpd分区文件
2、读保护就是使用RFP切换CM/SSD模式切换到DPL模式

9.4.1 .rpd分区文件

rpd文件会根据应用大小自动修改,只需用RFP烧写即可

9.4.2 DLM介绍
9.4.2.1 DLM模式转换图

9.4.2.2 DLM模式说明图


 

9.4.2.3 DLM-DPL部署到客户现场说明图

9.4.2.4 DLM写入秘钥(略)

1、秘钥用于从DPL部署模式返回到SSD安全软件开发模式,即可以读写flash和相关配置。
2、未写入秘钥则无法返回SSD模式,只能擦除整片flash(Initialize命令)
3、非明文写入秘钥,需要使用瑞萨相关工具,不详细介绍了

9.4.2.5 DLM结合公司项目开发
DLM模式DLM备注公司项目阶段权限
CM
芯片出厂
用keil&IAR开发,始终为该模式EVT任意读写固件
SSD
安全软件开发
用e2s开发,自动切换到SSDDVT公司可信任的开发人员
NSECSD
非安全软件开发
需要手动切换DVT一般开发人员、测试人员
DPL
LCK_DBG
LCK_BOOT
用户现场
工厂生产流程
保护公司IP
PVT/MP一般用户
RMA_REQ
RMA_ACK
退货给瑞萨
故障分析-瑞萨
9.4.2.6 演示RFP的使用

1、RFP GUI
RFPV3.exe和RFPV3.Console.exe
2、rfp-cli.exe


3、rpe.exe


4、RFP boot模式串口通讯协议
Renesas RA Family Standard Boot Firmware for the RA family MCUs Based on Arm® Cortex®-M33

9.4.2.7 例程打印DLM模式和分区

debug下载时候可以在console可以看见flash、sram分区的大小


 

例程代码可用于用户产测程序:

    const char dlmlist[] = "0x1: CM 0x2: SSD 0x3: NSECSD 0x4: DPL 0x5: LCK_DBG 0x6: LCK_BOOT 0x7: RMA_REQ 0x8: RMA_ACK ";
    printf("%s\n", dlmlist);

    uint8_t dlm = R_PSCU->DLMMON_b.DLMMON;
    char dlm_str[20] = {0};
    sprintf(dlm_str, "dlm mode:%d\n", dlm);
    printf("%s", dlm_str);

    uint8_t cfs2 = R_PSCU->CFSAMONA_b.CFS2;
    sprintf(dlm_str, "cfs2:%d\n", cfs2);
    printf("%s", dlm_str);

    uint8_t cfs1 = R_PSCU->CFSAMONB_b.CFS1;
    sprintf(dlm_str, "cfs1:%d\n", cfs1);
    printf("%s", dlm_str);

    uint8_t dfs = R_PSCU->DFSAMON_b.DFS;
    sprintf(dlm_str, "dfs:%d\n", dfs);
    printf("%s", dlm_str);

    uint8_t ss2 = R_PSCU->SSAMONA_b.SS2;
    sprintf(dlm_str, "ss2:%d\n", ss2);
    printf("%s", dlm_str);

    uint8_t ss1 = R_PSCU->SSAMONB_b.SS1;
    sprintf(dlm_str, "ss1:%d\n", ss1);
    printf("%s", dlm_str);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值