娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月29日(星期日)

2021年12月29日 | STM32F103單片機讀取芯片自身ID

發布者:機器人總動員 來源: eefocus關鍵字:STM32F103  單片機  讀取芯片 手機看文章 掃描二維碼
隨時隨地手機看文章

??每一個STM32單片機出廠的時候都有全球唯一的ID,當在數據安全性比較高的地方,需要對每一個接入系統的芯片進行身份驗證,那么這個芯片自身的ID號就可以作為它的身份信息。


產品唯一的身份標識非常適合:


用來作為序列號(例如USB字符序列號或者其他的終端應用)

用來作為密碼,在編寫閃存時,將此唯一標識與軟件加解密算法結合使用,提高代碼在閃存存儲器內的安全性。


用來激活帶安全機制的自舉過程

??96位的產品唯一身份標識所提供的參考號碼對任意一個STM32微控制器,在任何情況下都是唯一的。用戶在何種情況下,都不能修改這個身份標識。


??這個96位的產品唯一身份標識,按照用戶不同的用法,可以以字節(8位)為單位讀取,也可以以半字(16位)或者全字(32位)讀取。

image.png
image.png
image.png
image.png

??不僅可以讀取到芯片的ID,還能讀出芯片的存儲器容量。

image.png

??芯片型號也同樣可以讀出來。

image.png
image.png

下面就通過代碼來讀取這幾個數據。


//讀取芯片ID

void GetChipID ( void )

{

    u32 CpuID[3]; //小端模式

    CpuID[0] = * ( vu32 * ) ( 0x1ffff7e8 ); //高32位地址

    CpuID[1] = * ( vu32 * ) ( 0x1ffff7ec ); //中32位地址

    CpuID[2] = * ( vu32 * ) ( 0x1ffff7f0 ); //低32位地址

    printf ( "此芯片唯一ID為:0x%x-%x-%x rn", CpuID[0], CpuID[1], CpuID[2] );

}

//獲取芯片Flash大小

void GetFlashSize ( void )

{

    u16 stm32_Flash_Size;

    stm32_Flash_Size = * ( u16 * ) ( 0x1FFFF7E0 ); //閃存容量寄存器

    printf ( "芯片閃存容量大小為:%x rn", stm32_Flash_Size );

}


//讀取芯片型號

void Main_Chip_Type(void)

{

u32 type;

type = *( unsigned  int * )( 0xE0042000 ); //MCU ID

printf ( "芯片型號為:0x%x rn", type );

}


int main ( void )

{

    NVIC_PriorityGroupConfig ( NVIC_PriorityGroup_2 );

    uart_init ( 115200 );

    delay_init();       //延時函數初始化

    LED_Init();         //初始化與LED連接的硬件接口

    

    GetChipID();

    GetFlashSize();

    Main_Chip_Type();

    

    while(1);

 }


通過串口打印出芯片的ID


此芯片唯一ID為: 0x66eff51-51578248-87074312 

芯片閃存容量大小為:   40 

芯片型號為:  0x20036410 

image.png

然后通過單步調試,直接觀察內存中的數據。

image.png

然后觀察內存中地址0x1FFFF7E0開始的數據

image.png

??可以看出0x1FFFF7E0開始的16位數據為0x0040換算為10進制數據就是64,說明當前用的芯片的容量是64K。接下來從0x1ffff7e8地址開始的12個字節,也就是96位存儲的就是芯片的ID。內存中ID號存儲為低位在前高位在后,而打印出來的數據是高位在前,低位在后。打印的前32位是 06 6e ff 51對應在內存中的存儲順序51應該是第一位,06是最后一位。


??最后在0xE0042000地址查看單片機的型號。

image.png

??低12位數據是 0x410,也就是設備編碼為0x410,通過對比文檔可以看出這個是中容量產品。高16位是0x2003,對比文檔可以看出,這個是中容量產品,版本號為Y。


??由于這些ID號都存儲在指定的內存地址中,而系統沒有提供專用的讀取這些ID號的函數,所以讀取數據的時候,只能通過指針的方式去讀取,首先將數據加一級指針轉換為地址,然后加二級指針,表示讀取當前地址中存儲的內容。這種操作方法在庫函數的頭文件中使用的比較多。比如在stm32f10x.h中就可以看到對GPIOA的定義。


#define PERIPH_BASE           ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */


#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)


#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)


#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)


typedef struct

{

  __IO uint32_t CRL;

  __IO uint32_t CRH;

  __IO uint32_t IDR;

  __IO uint32_t ODR;

  __IO uint32_t BSRR;

  __IO uint32_t BRR;

  __IO uint32_t LCKR;

} GPIO_TypeDef;


將地址值逐個替換后為 #define GPIOA ((GPIO_TypeDef *) 0x4001 0800),相當于在 0x4001 0800 地址處定義了GPIOA的結構體。查閱芯片資料可知,GPIOA的起始地址就是0x4001 0800。

image.png

這樣操作GPIOA的的時候就和上面讀取ID的方法是一樣的,相當于直接讀寫對應地址中的值。

關鍵字:STM32F103  單片機  讀取芯片 引用地址:STM32F103單片機讀取芯片自身ID

上一篇:STM32F103單片機RTC實時時鐘的使用
下一篇:STM32F103單片機PWM單脈沖輸出模式

推薦閱讀

東京工業大學的研究人員開發出一種執行器,可以使堅固的機器人在災難現場和其他惡劣環境中運行。東京技術創業公司H-MUSCLE公司的成立是為了追求執行器的應用,產品樣品的運輸將于2019年2月開始。目前的大多數機器人都是由驅動的,但液壓執行器具有高輸出和抗沖擊性,非常適合在惡劣環境中運行的機器人。然而目前主流的液壓執行機是為工業機械而開發的,...
近日,在東京國際展覽中心舉辦了世界最大規模的機器人展覽會“2019國際機器人展(iREX2019)”。 在Twitr上成為熱議話題的“自動蓋章機器人”引起了人們極大的關注,除此之外還有值得關注的多種多樣的機器人展示。 這次特別常見的是以與人協作為目的的協作機器人。就是在工廠與人并排作業的機器人。 據悉,協作機器人已經得到了應用,展會上也展示了...
12月28日,位于上海自貿區臨港新片區的上海地產閔虹(集團)有限公司下屬“智芯源”產業項目集中簽約并交付。“智芯源”B片區廠房集中交付、簽約企業項目總投資65億元,達產產值80億元/年。“智芯源”項目是臨港新片區“東方芯港”的重要組成部分,是地產閔虹母公司上海地產集團啟動的“集成電路+智能制造”產業綜合體項目,總建筑面積超30萬平方米,總投資...
近日,晶瞻科技宣布完成數千萬元A輪融資,由天鷹資本獨家投資。據悉,晶瞻科技本輪融資將主要用于高端分布式TED顯示驅動,及首顆國產化筆記本時序控制芯片的研發、流片與市場推廣。晶瞻科技2019年成立于日本,天使輪融資后將總部設立于北京,是一家創新型半導體顯示屏幕驅動IC的集成電路設計公司。團隊目標在高端顯示芯片領域,實現我國的獨立自主設計以及...

史海拾趣

問答坊 | AI 解惑

WinCE 5.0邊做邊學(3)

經過前兩次的邊做邊學,我們已經創建并可以自由修改自己的平臺了,這次我平來補充一點理論知識,以便加深對CE生成過程的了解。在此之前,需要說明的是CE的目錄結構是很龐大而復雜的,在以后的工作中很多事情會取決于你對目錄結構的了解程度,在此, ...…

查看全部問答∨

文氏橋式震蕩電路討論專題

之前在搞定這5個RC振蕩電路讓你的模擬設計順暢很多 里wangjiafu1985說文氏橋是經典中的經典,同時SOSO也建議對這個經典中的經典開個討論的專貼,因此開了此貼以供大家討論文氏橋震蕩電路。 下面我就拋磚引玉做個簡單介紹。      & ...…

查看全部問答∨

請問大家有沒有用過支持USB通信的單片機?

大家有調試過單片機的USB通信功能嗎?是什么型號的啊?…

查看全部問答∨

WinCE對IE6支持嗎?

WinCE支持IE6及更高版本嗎?支持的程度如何?…

查看全部問答∨

秒表設計

用89S51單片機外接12MHZ晶振復位電路,4個數碼管,4個按鍵,做一個電子秒表,具體要求如下: (1)用單片機定時器T0中斷方式,實現1秒定時,用動態顯示方式實現秒表計時顯示。 (2)4位;LED右邊2位顯示秒,左邊2位顯示分,實現秒表計時顯示。 ...…

查看全部問答∨

gps 數據轉換

新手入門 vc 讀取gps 數據 得到 當前點的經緯度  我用串口調試助手 讀到的信息是 60 86 7E 98 00 E6 60 98 60 E6 E6 98 E0 86 7E 66 E0 F8 60 F8 E0 86 E0 86 00 18 E0 F8 F8 86 一串一串的16進制數 然而 我用 VC 打印出來 的卻是 ...…

查看全部問答∨

力科公司2010年高速串行數據測試技術巡回研討會勝利召開

力科公司2010年高速串行數據測試技術巡回研討會勝利召開…

查看全部問答∨

STM8S使用觸摸庫的問題

就是離CPU最遠那個鍵變化量比其他按鍵小 不知道大家有沒有碰到這樣的問題? 如何解決呢?只能調整電阻嗎? 謝謝!…

查看全部問答∨

看ST8的文檔太費勁了.下面的如何解

1. LD A, #$10 2. LD A, $10 3. LD A, ($10,SP) 4. LD A,($10,X) 第一個$10,是個立即數10H 第二個$10是內存地址10H 第三個$10是什么? 第四個$10應該是內存地址10H,還是數字10H? 感覺STM的文檔,沒有仔細說明語法.很難理解…

查看全部問答∨

stm32f10x.h中的說明是不是有錯

請看圖片所示: 下載 (27.42 KB) 2010-11-23 00:45 …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 马山县| 长阳| 泸定县| 中方县| 慈溪市| 常山县| 吴桥县| 广河县| 河池市| 六安市| 时尚| 梅州市| 凌云县| 永康市| 东丽区| 建瓯市| 莫力| 会东县| 汪清县| 南开区| 呼和浩特市| 遂平县| 前郭尔| 察隅县| 巴马| 三穗县| 正宁县| 丹凤县| 津南区| 眉山市| 寿光市| 绍兴市| 壶关县| 肃南| 江口县| 南丹县| 库车县| 贺州市| 且末县| 德保县| 台江县|