對于物聯網的應用或者產品版本管理等場合,芯片的信息讀取是用戶非常關心的問題。本文介紹了瑞薩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小百科
審核編輯:湯梓紅
-
芯片
+關注
關注
459文章
52160瀏覽量
436055 -
單片機
+關注
關注
6063文章
44915瀏覽量
646834 -
mcu
+關注
關注
146文章
17831瀏覽量
360307 -
物聯網
+關注
關注
2927文章
45856瀏覽量
387877
發布評論請先 登錄
【RA-Eco-RA4E2-64PIN-V1.0開發板試用】讀取RA4E2單片機的128位身份證號碼
Altium Designer 09中Unique ID介紹
在UsuTreeView中怎么查看CH342 Unique ID?
CPU的serial number讀取步驟描述
MPC7400 Part Number Speci&THOR
Device Serialization for ProAS
詳解ST MCU的unique ID

單片機 STC11L02E-35I - 讀取 MCU ID,然后通過串口發送

STM32 唯一ID讀取方法

評論