对于物联网的应用或者产品版本管理等场合,芯片的信息读取是用户非常关心的问题。本文介绍了瑞萨ra家族单片机读取unique id、part number和mask version信息的方法。
我们可以使用如下三个地址中存储的内容来获得相关信息,其地址如下:
注:fmifrt寄存器的地址为0x407f_b19c。
关于fmifrt寄存器:
fmifrt是一个只读寄存器,存储unique id寄存器、part number寄存器和mcu version寄存器的基址。
应该以32位单位读取fmifrt。
fmifrt寄存器的地址为0x407f_b19c。
以下分别介绍如何通过程序代码读出unique id、part number和mask version,这里以ra2l1为例。
(1)unique id寄存器地址和读出方法
直接通过fsp的api“r_bsp_uniqueidget”就可以读出128位的unique id;
参考下面的命令:
const bsp_unique_id_t* unique_id = r_bsp_uniqueidget();
(2)part number寄存器地址和读出方法
fsp中没有读取part number的api,所以需要使用以下代码。
首先定义part number寄存器的地址和保存part number数组的结构体。
#define bsp_feature_bsp_part_number_pointer (0x01001c10u)typedef struct st_bsp_part_number{ union { uint32_t part_number_words[4]; uint8_t part_number_bytes[16]; };} bsp_part_number_t;
然后在用户代码中执行下面的命令,即可将part number读出。
const bsp_part_number_t* part_number = bsp_feature_bsp_part_number_pointer;
(3)mcu version寄存器地址和读出方法
fsp中也没有读取mcu version的api,所以需要使用以下代码。
首先定义mcu version寄存器的地址:
#define bsp_feature_bsp_mask_revisiom_pointer (0x01001c20u)
然后在用户代码中执行下面的命令,即可将mcu version读出。
const uint8_t* mask_version = bsp_feature_bsp_mask_revisiom_pointer;
调试状态下读出的结果如下(以ra2l1为例):
产品型号是用ascii码编写的,这里以ra2l1为例做以下说明。
来源:瑞萨mcu小百科
经营38年的电子厂突然倒闭了···
技嘉推出搭载锐龙3代处理器的新款小雕主板,将于12月19日开卖
广州华锐互动VR互动实训系统,开创VR虚拟培训新时代
地震预警系统的事前预警技术的发展
Melexis推预驱动器芯片系列 博世连续11年荣膺“中国杰出雇主”
关于RA MCU如何读取Unique ID和Device Part Number
红米Note5将在美国上市?配置够劲爆,老美绝对心动!
早报新闻:富士康IPO走特殊通道将上会,TCL推股权激励计划
比特币硬分叉产生的BCC币介绍
韩国将限制OLED生产设备的出口计划将OLED设备指定为国家核心技术
速览WWDC2017上iOS11重点更新和亮点,这设计你感冒嘛?
排阻的阻值读取
虹科与Berghof正式建立合作伙伴关系
带USB3.0/SATA3扩展卡 精英H57主板图片
卡曼滤波器入门教程α−β−γ滤波器 1
TBA820M功放电路
印制电路板清洗:电子制造装配过程中的重要步骤
Wing:人工智能时代的云开发编程语言
IBM公司将推行量子云计算服务IBM Q
5G规模商用前夜提速降费巨大的资金压力让运营商面临着困境