對于物聯(lián)網(wǎng)的應(yīng)用或者產(chǎn)品版本管理等場合,芯片的信息讀取是用戶非常關(guān)心的問題。本文介紹了瑞薩RA家族單片機(jī)讀取Unique ID、Part Number和Mask Version信息的方法。
我們可以使用如下三個地址中存儲的內(nèi)容來獲得相關(guān)信息,其地址如下:
注:FMIFRT寄存器的地址為0x407F_B19C。
關(guān)于FMIFRT寄存器:
FMIFRT是一個只讀寄存器,存儲Unique ID寄存器、Part Number寄存器和MCU Version寄存器的基址。
應(yīng)該以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數(shù)組的結(jié)構(gòu)體。
#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;
然后在用戶代碼中執(zhí)行下面的命令,即可將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)
然后在用戶代碼中執(zhí)行下面的命令,即可將MCU Version讀出。
const uint8_t* mask_version = BSP_FEATURE_BSP_MASK_REVISIOM_POINTER;
調(diào)試狀態(tài)下讀出的結(jié)果如下(以RA2L1為例):
產(chǎn)品型號是用ASCII碼編寫的,這里以RA2L1為例做以下說明。
來源:瑞薩MCU小百科
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
455文章
50851瀏覽量
423984 -
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44561瀏覽量
635650 -
mcu
+關(guān)注
關(guān)注
146文章
17162瀏覽量
351348 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44671瀏覽量
373704
發(fā)布評論請先 登錄
相關(guān)推薦
評論