曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于STM32的這幾個(gè)寄存器, 你知道嗎?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 15:19 ? 次閱讀

今天分享幾點(diǎn)小知識(shí),希望對(duì)你有幫助!

1Flash容量寄存器

這個(gè)問題是之前有人問過,說:我的芯片被抹掉,看不清了,我怎么知道這塊芯片容量大???

解決辦法:

1.通過讀寄存器

STM32的“參考手冊(cè)”中有Flash size data register這么一個(gè)寄存器(一般在手冊(cè)最后),明確寫了寄存器的基地址。

提示:不同芯片型號(hào),可能這個(gè)寄存器地址不同。比如F103的基地址為:0x1FFFF7E0。

是一個(gè)16位的數(shù)值,出廠寫入,程序只能讀取。讀取方法很簡(jiǎn)單,可以如下:

uint16_t Flash_size;

Flash_size = *(uint16_t *)0x1FFFF7E0;

說到這里,可以參看我之前分享的一篇文章《你的STM32芯片F(xiàn)LASH容量真如ST官方選型手冊(cè)那樣嗎?》

2.通過STM32 ST-LINK Utility直接讀取

通過ST-Link連接芯片,直接讀取,可以看到容量信息:

2

UID寄存器

之前有人問我,可以通過STM32的UID來加密嗎?這個(gè)肯定是可以的。

但又問了我一個(gè)問題,我不希望讀取全部(96位),可以只讀取部分寄存器來作為標(biāo)識(shí)嗎?讀取的部分會(huì)不會(huì)重復(fù)?

STM32的UID唯一標(biāo)識(shí)符適用于:

用來作為序列號(hào)。

用來作為密碼,在編寫閃存時(shí),將此唯一標(biāo)識(shí)與軟件加解密算法結(jié)合使用,提高代碼在閃存存儲(chǔ)器內(nèi)的安全性。

用來激活帶安全機(jī)制的自舉過程。

STM32的UID共有96位(32x 3)。所有,就有朋友,我是否可以只讀取其中某一部分來作為唯一識(shí)別?

這個(gè)問題,嚴(yán)格來說,不可以。但如果不是特別嚴(yán)格,還是可以。因?yàn)檫@個(gè)UID是通過晶元、分批等來進(jìn)行編號(hào)的。如果你買同一批次,你會(huì)發(fā)現(xiàn)那個(gè)編號(hào)可能連續(xù)。

我之前曾讀取過幾塊生產(chǎn)的板卡(購買得_MCU是同一批次),芯片的UID是連續(xù)的,感興趣的可以試試。

所以,通過讀取部分UID來作為標(biāo)識(shí),只能說不嚴(yán)格的情況是可以的。

3

寄存器偏移地址

現(xiàn)在還有許多初學(xué)的朋友在學(xué)習(xí)底層的一些知識(shí),比如前面就有朋友想自己通過寄存器來編程,但是卻不知道什么是寄存器基地址,什么是寄存器偏移地址。

1.基地址

每一個(gè)片內(nèi)外設(shè)都有一個(gè)對(duì)應(yīng)的基地址,而且是由廠商決定我們不能修改。如下圖:

在程序中,你會(huì)發(fā)現(xiàn)和上面對(duì)應(yīng)的代碼:

2.偏移地址

偏移地址就是在基地址基礎(chǔ)上偏移(一般是以4字節(jié)增加),比如TIM定時(shí)器的偏移地址:

同樣,在程序中對(duì)應(yīng)的代碼通過結(jié)構(gòu)體實(shí)現(xiàn)偏移:

關(guān)于基地址和偏移地址,不管是標(biāo)準(zhǔn)外設(shè)庫還是HAL庫,都是上面所示那種基地址+偏移的方法實(shí)現(xiàn)。

還是之前多次在文章中提到的,想要了解寄存器原理,或者通過寄存器來實(shí)現(xiàn)的朋友,最好參考“標(biāo)準(zhǔn)外設(shè)庫”例程。HAL庫封裝的相對(duì)復(fù)雜,不適合研究最底層寄存器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5403

    瀏覽量

    122937
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1657

    瀏覽量

    150753
  • STM32
    +關(guān)注

    關(guān)注

    2287

    文章

    10988

    瀏覽量

    361595
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32的幾種開發(fā)方式,知道嗎?(可下載)

    經(jīng)常有人會(huì)問,你們 STM32 編程是用庫函數(shù) 還是用寄存器的...會(huì)說庫函數(shù)方便,容 易,都用庫函數(shù)...等等這樣的問題,今天我們就來 dis 一下這幾種編程方式,STM32 編程
    發(fā)表于 04-03 11:24 ?0次下載

    請(qǐng)問關(guān)于ADS5407內(nèi)部寄存器有沒有相關(guān)的中文介紹的?

    請(qǐng)問關(guān)于ADS5407內(nèi)部寄存器有沒有相關(guān)的中文介紹的?其中有幾個(gè)寄存器的功能不是特別明白,麻煩啦
    發(fā)表于 01-17 07:36

    寄存器間接尋址和寄存器尋址的區(qū)別

    寄存器間接尋址和寄存器尋址是計(jì)算機(jī)體系結(jié)構(gòu)中兩種重要的尋址方式,它們?cè)谥噶顖?zhí)行過程中起著關(guān)鍵作用。下面將從定義、原理、特點(diǎn)、應(yīng)用場(chǎng)景以及區(qū)別等方面對(duì)這兩種尋址方式進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 10-05 17:13 ?3036次閱讀

    通用寄存器是什么意思

    在計(jì)算機(jī)體系結(jié)構(gòu)中,通用寄存器是中央處理(CPU)內(nèi)部最為核心和基礎(chǔ)的組成部分之一。它們被設(shè)計(jì)為能夠存儲(chǔ)和傳輸各種類型的數(shù)據(jù)和指令,是CPU進(jìn)行數(shù)據(jù)處理和運(yùn)算的關(guān)鍵工具。通用寄存器不僅在程序的執(zhí)行過程中起著至關(guān)重要的作用,還直
    的頭像 發(fā)表于 09-05 14:13 ?1821次閱讀

    寄存器的類型和作用

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一種高速存儲(chǔ)單元,它位于CPU內(nèi)部,與CPU的運(yùn)算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時(shí)存儲(chǔ)指令、操作數(shù)和地址等臨時(shí)數(shù)據(jù),以便CPU快速訪問和處理。由于寄存器直接集成在CP
    的頭像 發(fā)表于 09-05 14:11 ?4126次閱讀

    寄存器故障分析

    寄存器故障分析是計(jì)算機(jī)硬件維護(hù)與系統(tǒng)穩(wěn)定性保障中的重要環(huán)節(jié)。寄存器作為計(jì)算機(jī)中的關(guān)鍵組成部分,負(fù)責(zé)存儲(chǔ)和傳輸數(shù)據(jù),其穩(wěn)定性和可靠性直接影響到整個(gè)計(jì)算機(jī)系統(tǒng)的性能。以下是對(duì)寄存器故障的全面分析,包括故障類型、故障現(xiàn)象、故障原因及診
    的頭像 發(fā)表于 08-29 11:26 ?1824次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一個(gè)高速存儲(chǔ)單元,它位于中央處理(CPU)內(nèi)部,用于存儲(chǔ)計(jì)算機(jī)程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的組成部分,對(duì)計(jì)算機(jī)的運(yùn)算速度和性能有著
    的頭像 發(fā)表于 08-02 18:23 ?6595次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構(gòu)成的?

    寄存器尋址和直接尋址的區(qū)別

    寄存器尋址和直接尋址是計(jì)算機(jī)指令系統(tǒng)中的兩種基本尋址方式。它們?cè)谥噶畹膱?zhí)行過程中起著至關(guān)重要的作用,決定了指令操作數(shù)的來源和目標(biāo)。下面我們將介紹這兩種尋址方式的特點(diǎn)、區(qū)別以及在實(shí)際應(yīng)用中的優(yōu)缺點(diǎn)
    的頭像 發(fā)表于 07-12 10:42 ?3732次閱讀

    寄存器尋址的實(shí)現(xiàn)方式

    在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內(nèi)部的寄存器。寄存器尋址可以提高程序的執(zhí)行效率,因?yàn)樗苊饬藢?duì)內(nèi)存的訪問。 寄存器尋址的基本概念
    的頭像 發(fā)表于 07-12 10:36 ?1248次閱讀

    寄存器有哪幾種?可以實(shí)現(xiàn)什么功能?

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)和指令的高速存儲(chǔ)設(shè)備,是計(jì)算機(jī)硬件的重要組成部分。寄存器的種類很多,不同的寄存器具有不同的功能。 通用寄存器(General-Purpose Registe
    的頭像 發(fā)表于 07-12 10:32 ?1895次閱讀

    寄存器分為基本寄存器和什么兩種

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴(kuò)展寄存器兩種類型。 一、基本寄存器
    的頭像 發(fā)表于 07-12 10:31 ?1957次閱讀

    移位寄存器中使用的儲(chǔ)存單元是什么

    移位寄存器是一種常見的數(shù)字電路組件,用于存儲(chǔ)和傳輸數(shù)字信號(hào)。在移位寄存器中,存儲(chǔ)單元是其核心組成部分,負(fù)責(zé)存儲(chǔ)數(shù)字信號(hào)的每一位。本文將介紹移位寄存器中使用的存儲(chǔ)單元。 移位寄存器概述
    的頭像 發(fā)表于 07-12 10:21 ?710次閱讀

    移位寄存器右移是怎么移位的

    移位寄存器是一種在數(shù)字電路和計(jì)算機(jī)科學(xué)中廣泛使用的存儲(chǔ)設(shè)備,它可以用來存儲(chǔ)和傳輸數(shù)據(jù)。在移位寄存器中,數(shù)據(jù)可以通過移位操作來實(shí)現(xiàn)數(shù)據(jù)的傳輸和處理。移位寄存器的移位操作有兩種基本形式:左移和右移。本文
    的頭像 發(fā)表于 07-12 10:14 ?2448次閱讀

    什么是寄存器?有哪些功能和應(yīng)用?

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一個(gè)高速存儲(chǔ)單元,用于存儲(chǔ)計(jì)算機(jī)程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。它們是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的組成部分,對(duì)計(jì)算機(jī)的運(yùn)算速度和性能
    的頭像 發(fā)表于 05-30 17:14 ?1.7w次閱讀

    寄存器和內(nèi)存的區(qū)別

    在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器和內(nèi)存是兩個(gè)至關(guān)重要的組成部分。它們各自承擔(dān)著不同的角色,共同確保計(jì)算機(jī)系統(tǒng)的正常運(yùn)行。本文將對(duì)寄存器和內(nèi)存進(jìn)行詳細(xì)的介紹,包括它們的定義、功能以及二者之間的主要區(qū)別。
    的頭像 發(fā)表于 05-12 17:11 ?3370次閱讀