ST MCU芯片中的絕大部分都內(nèi)置一串96位唯一標(biāo)識(shí)碼【unique ID】。時(shí)不時(shí)有人問(wèn)起這個(gè)東西,尤其最近感,覺(jué)詢問(wèn)它的人甚是熱鬧。這里跟大家一起簡(jiǎn)單分享下。
上面說(shuō)了ST MCU芯片中的絕大部分都帶UID,也就是說(shuō)并非所有ST MCU芯片都帶它。到底誰(shuí)帶誰(shuí)不帶,從各自芯片數(shù)據(jù)手冊(cè)的首頁(yè)即可確認(rèn)。如果首頁(yè)沒(méi)有明確寫明,就表示該芯片沒(méi)有UID或者說(shuō)即使相應(yīng)地址有數(shù)據(jù)但不保證其唯一性。
比方在STM8系列中,STM8S0XX、STM8L0XX系列芯片就不帶UID的。
在STM32家族中,STM32F0系列中的STM3F030子系列、STM32F070子系列也是不帶UID的【如果此處說(shuō)錯(cuò),遵照數(shù)據(jù)手冊(cè)所言】,而STM32F042、STM32F071、STM32F031、STM32F051等是帶UID的。這點(diǎn)也不用太花心思記它,知道去芯片數(shù)據(jù)手冊(cè)首頁(yè)核查就好。
該UID對(duì)用戶來(lái)講是只讀的,在一些對(duì)數(shù)據(jù)具有唯一性要求、數(shù)據(jù)加密操作等場(chǎng)合可以派上用場(chǎng)。ST MCU芯片中的這個(gè)UID 是對(duì)整串92位數(shù)據(jù)保證唯一性,如果你截取其中一部分就不保證唯一性了。
STM32芯片UID的詳細(xì)描述是在各系列的參考手冊(cè)里。比方,STM32F0系列UID介紹如下。
大致內(nèi)容就是芯片WAFER的坐標(biāo)信息、編號(hào)信息、產(chǎn)品批號(hào)信息等多個(gè)數(shù)據(jù)組合在一起的。關(guān)于UID的描述,在STM8數(shù)據(jù)手冊(cè)里描述更為直觀點(diǎn),截圖如下:
至于對(duì)該UID數(shù)據(jù)的讀取,沒(méi)啥特別的。先從ST MCU參考手冊(cè)中找到UID的地址信息,從相關(guān)地址中取出數(shù)據(jù),用幾條賦值語(yǔ)句即可完成。
最后順便提一下,不要把這個(gè)UID跟STM32芯片器件ID【DEVICE ID】混為一談,STM32芯片往往還有DEVICE ID,該ID主要包含芯片料號(hào)信息和晶圓DIE版本等信息。它可以通過(guò)調(diào)試接口訪問(wèn)或被用戶軟件訪問(wèn)。當(dāng)我們用STLINK UTILITY通過(guò)STLINK調(diào)試器連接STM32目標(biāo)板時(shí)就可看到有關(guān)DEVICE ID的信息。
下圖就是使用STLINK UTILITY通過(guò)STLINK連接STM32F072目標(biāo)板時(shí)看到的有關(guān)DEVICE ID的信息。
此外,對(duì)于STM32芯片,除了上面提到的UID,DEVICE ID外,還有其它基于內(nèi)部調(diào)試組件的JTAG ID,有興趣的話可以自行繼續(xù)了解。
往期話題l鏈接:
1、一個(gè)與System Bootloader相關(guān)的話題
2、關(guān)于STM32Cube的幾個(gè)常見(jiàn)問(wèn)題
3、STM32CUBE相關(guān)技術(shù)手冊(cè)哪里找
4、STM32中國(guó)峰會(huì)上展示了哪些成品?
5、一個(gè)關(guān)于STM32 CAN出錯(cuò)恢復(fù)的話題
6、STM32開(kāi)發(fā)所需的基本資料與開(kāi)發(fā)工具
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |