如何獲取STM32的裝置唯一ID

2022-05-28 13:39:10 字數 1456 閱讀 5785

在資料中對其特性的描述是:96 位的唯一裝置識別符號提供了乙個對於任何裝置和任何上下文都唯一的參考號碼。使用者永遠不能改變這些位。96 位的唯一裝置識別符號也可以以單位元組/半字/字等不同方式讀取,然後使用自定義演算法連線起來。

測試demo如下:

/*******獲取產品唯一id*********/

#ifdef __stm32f00x_h

#define id_addr1 0x1ffff7ac /*stm32f0唯一id起始位址*/

#endif

#ifdef __stm32f10x_h

#define id_addr1 0x1ffff7e8 /*stm32f1唯一id起始位址*/

#endif

#ifdef __stm32f2xx_h

#define id_addr1 0x1fff7a10 /*stm32f2唯一id起始位址*/

#endif

#ifdef __stm32f3xx_h

#define id_addr1 0x1ffff7ac /*stm32f3唯一id起始位址*/

#endif

#ifdef __stm32f4xx_h

#define id_addr1 0x1fff7a10 /*stm32f4唯一id起始位址*/

#endif

#ifdef __stm32f7xx_h

#define id_addr1 0x1ff0f420 /*stm32f7唯一id起始位址*/

#endif

#ifdef __stm32l0xx_h

#define id_addr1 0x1ff80050 /*stm32l0唯一id起始位址*/

#endif

#ifdef __stm32l1xx_h

#define id_addr1 0x1ff80050 /*stm32l1唯一id起始位址*/

#endif

#ifdef __stm32l4xx_h

#define id_addr1 0x1fff7590 /*stm32l4唯一id起始位址*/

#endif

#ifdef __stm32h7xx_h

#define id_addr1 0x1ff0f420 /*stm32h7唯一id起始位址*/

#endif

char id[40];

/*-----------------------------獲取裝置id-------------------------------------*/void get_id(void)

如何讀取STM32晶元的唯一ID

產品唯一的身份標識的作用 用來作為序列號 例如usb字串行號或者其他的終端應用 用來作為密碼,在編寫快閃儲存器時,將此唯一標識與軟體加解密演算法結合使用,提高 在快閃儲存器儲存器內的安全性 用來啟用帶安全機制的自舉過程 96位的產品唯一身份標識所提供的參考號碼對任意乙個 stm32 微控制器,在任何...

如何獲取STM32 MCU的唯一ID

前段時間由於應用需要對產品授權進行限制,所以研究了一下有關stm32 mcu的唯一id的資料,並最終利用它實現了我們的目標。1 基本描述 在資料中對其特性的描述是 96 位的唯一裝置識別符號提供了乙個對於任何裝置和任何上下文都唯一的參考號碼。使用者永遠不能改變這些位。96 位的唯一裝置識別符號也可以...

stm32設定唯一MAC位址

stm32參考手冊中指出,在位址為0x1ffff7e8處,有乙個唯一的身份標識暫存器。可以直接訪問該值。printf r nchip id x,x,x r n vu32 0x1ffff7e8 vu32 0x1ffff7e8 4 vu32 0x1ffff7e8 8 chip id 5d8ff39,36...