日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何获取STM32 MCU的唯一ID

發布時間:2024/7/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何获取STM32 MCU的唯一ID 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前段時間由于應用需要對產品授權進行限制,所以研究了一下有關STM32 MCU的唯一ID的資料,并最終利用它實現了我們的目標。

1、基本描述

在STM32的全系列MCU中均有一個96位的唯一設備標識符。在ST的相關資料中,對其功能的描述有3各方面:

  • 用作序列號(例如 USB 字符串序列號或其它終端應用程序)
  • 在對內部 Flash 進行編程前將唯一 ID 與軟件加密原語和協議結合使用時用作安全密鑰以提高 Flash 中代碼的安全性
  • 激活安全自舉過程等

在資料中對其特性的描述是:96 位的唯一設備標識符提供了一個對于任何設備和任何上下文都唯一的參考號碼。用戶永遠不能改變這些位。96 位的唯一設備標識符也可以以單字節/半字/字等不同方式讀取,然后使用自定義算法連接起來。

想要讀取唯一ID,就需要知道它的存儲地址,在不同系列的MCU中地址是有差別的,我們查詢了部分MCU的資料并將其總結如下:

2、獲取唯一ID

前面我們對唯一ID做了簡單的描述,并且得到了其存儲地址,接下來我們說以說如何得到這個ID。

前面已經描述過唯一ID可以按字節、半字、字等方式讀取。唯一ID是一個96位的信息串,所以按字讀取就是3個字,按半字讀取就是6個,按字節讀取就是12個。本質上沒有區別,在這里我們按字讀取。

/*定義STM32 MCU的類型*/ typedef enum {STM32F0,STM32F1,STM32F2,STM32F3,STM32F4,STM32F7,STM32L0,STM32L1,STM32L4,STM32H7, }MCUTypedef;uint32_tidAddr[]={0x1FFFF7AC,? /*STM32F0唯一ID起始地址*/0x1FFFF7E8,? /*STM32F1唯一ID起始地址*/0x1FFF7A10,? /*STM32F2唯一ID起始地址*/0x1FFFF7AC,? /*STM32F3唯一ID起始地址*/0x1FFF7A10,? /*STM32F4唯一ID起始地址*/0x1FF0F420,? /*STM32F7唯一ID起始地址*/0x1FF80050,? /*STM32L0唯一ID起始地址*/0x1FF80050,? /*STM32L1唯一ID起始地址*/0x1FFF7590,? /*STM32L4唯一ID起始地址*/0x1FF0F420}; /*STM32H7唯一ID起始地址*//*獲取MCU的唯一ID*/ voidGetSTM32MCUID(uint32_t *id,MCUTypedef type) {if(id!=NULL){id[0]=*(uint32_t*)(idAddr[type]);id[1]=*(uint32_t*)(idAddr[type]+4);id[2]=*(uint32_t*)(idAddr[type]+8);} }

3、使用唯一ID

我們得到唯一ID當然是為了使用它,前面在ST資料中描述了三個使用方式。我們在這里來使用它實現軟件權限的限制。那么如何用唯一ID來實現軟件運行權限的限制呢?我們說一說思路:

首先,我們需要指定一個Flash地址,至于于地址空間的大小則與我們xu要存儲的信息有關,一般都不會太長。例如,我們使用MD5來生成加密信息,則最多需要16個字節的存儲空間;如果我們使用SHA1來作為生成算法,則最多需要20個字節的空間。當然,我們也可以選取其中的一段或幾段。不管選用多大的空間都炫耀將其清零,即初始化為0xFFFFFFFF。

接下來再程序運行前讀取前面指定的地址并讀取其值,并判斷是否全部為0xFFFFFFFF,即判斷程序是否第一次運行。如果是,那么就獲取唯一ID并作相應的處理,然后將信息寫入前面的地址中。

如果不是第一次運行,則讀取指定地址的值,并用同樣的算法處理唯一ID。然后比較存儲的信息與計算的信息是否一致,一致則啟動程序運行,不一致則終止運行。

如果有人使用工具讀出FLASH內容時,因為改制定的地址已經被寫入了信息,所以如果把讀出的文件再燒到其它MCU芯片,因唯一ID不同所以信息完全不符程序就不會運行。從而實現了對程序權限的限制。

?歡迎關注:

?

總結

以上是生活随笔為你收集整理的如何获取STM32 MCU的唯一ID的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本三级中文字幕 | 精品日韩在线视频 | 欧美日韩亚洲另类 | 欧美日韩在线视频一区 | 国产精品欧美激情在线 | 亚洲成人久 | 亚洲黄色三级视频 | 污视频网站在线观看 | 奇米影视77777| 亚洲乱熟| 久久人人添人人爽添人人片 | 亚洲天堂2014 | 在线观看自拍 | 亚洲男人精品 | 国产精品国产三级国产传播 | 专干老肥女人88av | 色狠狠综合| 激情网页| 污污视频网站在线免费观看 | 日韩欧美中文在线 | 日韩a在线播放 | 欧美怡红院视频一区二区三区 | 日屁视频 | 亚洲色图在线观看视频 | 午夜精品久久久久久毛片 | 一区在线播放 | av手机| 亚洲欧美另类日韩 | 亚州av综合色区无码一区 | 国产在线a视频 | 国产淫片av片久久久久久 | 亚洲国产av一区二区 | 天堂va蜜桃一区二区三区漫画版 | 和美女啪啪 | 婷婷二区| 天堂资源在线观看 | 亚洲精品一区二区三区四区 | 精品久久久久久久久久久久久久久久久 | 黄色一级片欧美 | 黄色三级在线视频 | 少妇与公做了夜伦理69 | 国产精品扒开做爽爽爽的视频 | 国产一区二区三区四区hd | www.国产色 | 欧美性一级| a视频| 日本国产一区二区三区 | 国产精品极品白嫩 | caoporm超碰 | 久久国产香蕉 | 久久久不卡国产精品一区二区 | 欧美自拍色图 | 日韩黄色片网站 | av片网| 天天操天天操 | 天堂av网站 | 天天添| 天堂网亚洲 | 97人妻精品一区二区三区视频 | 翔田千里88av中文字幕 | 亚洲欧美经典 | 啪视频在线 | 一本色道久久综合亚洲二区三区 | 长腿校花无力呻吟娇喘的视频 | av中文字幕一区二区三区 | 精品一区二区久久久 | 3d动漫精品啪啪一区二区下载 | 99视屏| 女人和拘做爰正片视频 | 第四色在线视频 | 丝袜国产视频 | 亚洲永久精品在线观看 | 亚洲最大网 | 黄色片免费在线观看 | 精品国产av一区二区三区 | 蜜桃av在线 | 欧美丰满少妇 | 欧美另类xxxxx | 精品国产乱码久久久久久1区二区 | 91成年人网站 | 精品人妻久久久久一区二区三区 | 精品无码av一区二区三区 | 亚洲午夜精品 | 欧美人与物videos另类 | 不卡av中文字幕 | 久久久精品免费观看 | 吸咬奶头狂揉60分钟视频 | 午夜久久久久久噜噜噜噜 | 韩国一区二区在线观看 | 男女一起插插插 | 夜夜夜网站 | 婷婷在线免费 | 成人av视屏 | 免费成人蒂法网站 | 欧美呦呦| 欧美色淫 | 天天艹av | 黄色一级淫片 | 日韩中文字幕 |