关于RA MCU如何读取Unique ID和Device Part Number

cathy的头像
cathy 发布于:周二, 07/05/2022 - 14:01 ,关键词:

对于物联网的应用或者产品版本管理等场合,芯片的信息读取是用户非常关心的问题。本文介绍了瑞萨RA家族单片机读取Unique ID、Part Number和Mask Version信息的方法。

我们可以使用如下三个地址中存储的内容来获得相关信息,其地址如下:

“关于RA

注:FMIFRT寄存器的地址为0x407F_B19C。

关于FMIFRT寄存器:

  • FMIFRT是一个只读寄存器,存储Unique ID寄存器、Part Number寄存器和MCU Version寄存器的基址。

  • 应该以32位单位读取FMIFRT。 

  • FMIFRT寄存器的地址为0x407F_B19C。

“关于RA

以下分别介绍如何通过程序代码读出Unique ID、Part Number和Mask Version,这里以RA2L1为例。

(1)Unique ID寄存器地址和读出方法

“关于RA

直接通过FSP的API“R_BSP_UniqueIdGet”就可以读出128位的Unique ID;

参考下面的命令:

const bsp_unique_id_t* unique_id = R_BSP_UniqueIdGet();

(2)Part Number寄存器地址和读出方法

“关于RA

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寄存器地址和读出方法

“关于RA

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为例):

“关于RA

“关于RA

“关于RA

产品型号是用ASCII码编写的,这里以RA2L1为例做以下说明。

“关于RA

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 187