梁山派--设备电子签名信息读取

设备电子签名
设备的电子签名中包含的存储容量信息96位的唯一设备ID。96位唯一设备ID对于每颗芯片而言都是唯一的。它可以用作序列号,或安全密钥的一部分等等。

在GD32F470寄存器手册的p50,51页,进行了记录说明。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这部分数据不允许用户修改,接下来展示如何使用串口将此数据打印出来。

static void printf_info(void)
{
    uint32_t CPU_Sn0, CPU_Sn1, CPU_Sn2, CPU_Sn3;
    CPU_Sn0 = *(__IO uint32_t *)(0x1FFF7A10); //设备唯一ID(96位/位阈)
    CPU_Sn1 = *(__IO uint32_t *)(0x1FFF7A10 + 4);
    CPU_Sn1 = *(__IO uint32_t *)(0x1FFF7A10 + 8);
    CPU_Sn3 = *(__IO uint32_t *)(0x1FFF7A20); //存储容量信息
    my_dbg("\nCPU: GD32F470ZGT6 主频:%dMHz", SystemCoreClock / 1000000);
    my_dbg("UID = %08X %08X %08X", CPU_Sn0, CPU_Sn1, CPU_Sn2);
    my_dbg("FLASH :%d Kbytes SRAM %d Kbytes", CPU_Sn3 >> 16, CPU_Sn3 & 0xFFFF);
}

my_dbg是我自定义的printf宏,可以自行修改为printf就ok了;
变量CPU_Sn3高16位存储的是flash容量,低16位存储的是sram容量。

在这里插入图片描述

串口打印信息如上,与官方的数据信息是相符的,到这里就把芯片的设备电子签名信息打印出来了。至于UID他是固定96位,每块gd32f470都是不一样的,由于我手头没有多余的梁山派,就没有进行性展示了,大家可以自行对比和我的id是否不一样。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值