国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48)

這篇具有很好參考價值的文章主要介紹了【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

00. 目錄

01. FLASH簡介

  • STM32F1系列的FLASH包含程序存儲器、系統(tǒng)存儲器和選項(xiàng)字節(jié)三個部分,通過閃存存儲器接口(外設(shè))可以對程序存儲器和選項(xiàng)字節(jié)進(jìn)行擦除和編程

  • 讀寫FLASH的用途:

    利用程序存儲器的剩余空間來保存掉電不丟失的用戶數(shù)據(jù)

    通過在程序中編程(IAP),實(shí)現(xiàn)程序的自我更新

  • 在線編程(In-Circuit Programming – ICP)用于更新程序存儲器的全部內(nèi)容,它通過JTAG、SWD協(xié)議或系統(tǒng)加載程序(Bootloader)下載程序

  • 在程序中編程(In-Application Programming – IAP)可以使用微控制器支持的任一種通信接口下載程序

STM32F10xxx內(nèi)嵌的閃存存儲器可以用于在線編程(ICP)或在程序中編程(IAP)燒寫。

在線編程(In-Circuit Programming – ICP)方式用于更新閃存存儲器的全部內(nèi)容,它通過JTAG、SWD協(xié)議或系統(tǒng)加載程序(Bootloader)下載用戶應(yīng)用程序到微控制器中。ICP是一種快速有效的編程方法,消除了封裝和管座的困擾。

與ICP方式對應(yīng),在程序中編程(In-Application Programming – IAP)可以使用微控制器支持的任一種通信接口(如I/O端口、USB、CAN、UART、I 2 C、SPI等)下載程序或數(shù)據(jù)到存儲器中。IAP允許用戶在程序運(yùn)行時重新燒寫閃存存儲器中的內(nèi)容。然而,IAP要求至少有一部分程序已經(jīng)使用ICP燒到閃存存儲器中。

閃存接口是在AHB協(xié)議上實(shí)現(xiàn)了對指令和數(shù)據(jù)的訪問,它通過對存儲器的預(yù)取緩存,加快了存儲器的訪問;閃存接口還實(shí)現(xiàn)了在所有工作電壓下對閃存編程和擦除所需的邏輯電路,這里還包括訪問和寫入保護(hù)以及選擇字節(jié)的控制。

02. 閃存模塊組織

【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

03. FLASH基本結(jié)構(gòu)

【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

04. FLASH解鎖

  • FPEC共有三個鍵值:

RDPRT鍵 = 0x000000A5

KEY1 = 0x45670123

KEY2 = 0xCDEF89AB

  • 解鎖:

復(fù)位后,F(xiàn)PEC被保護(hù),不能寫入FLASH_CR

在FLASH_KEYR先寫入KEY1,再寫入KEY2,解鎖

錯誤的操作序列會在下次復(fù)位前鎖死FPEC和FLASH_CR

  • 加鎖:

設(shè)置FLASH_CR中的LOCK位鎖住FPEC和FLASH_CR

05. 使用指針訪問存儲器

?使用指針讀指定地址下的存儲器:

uint16_t Data = *((__IO uint16_t *)(0x08000000));

?使用指針寫指定地址下的存儲器:

*((__IO uint16_t *)(0x08000000)) = 0x1234;

?其中:

#define __IO volatile

06. 程序存儲器編程

編程過程
【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

閃存頁擦除過程
【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

閃存全擦除過程
【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

07. 選項(xiàng)字節(jié)

【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48),STM32F103,stm32,學(xué)習(xí),筆記,江科大,江科大stm32,江科大學(xué)習(xí)筆記,flash

?RDP:寫入RDPRT鍵(0x000000A5)后解除讀保護(hù)

?USER:配置硬件看門狗和進(jìn)入停機(jī)/待機(jī)模式是否產(chǎn)生復(fù)位

?Data0/1:用戶可自定義使用

?WRP0/1/2/3:配置寫保護(hù),每一個位對應(yīng)保護(hù)4個存儲頁(中容量)

08. 選項(xiàng)字節(jié)編程

?檢查FLASH_SR的BSY位,以確認(rèn)沒有其他正在進(jìn)行的編程操作

?解鎖FLASH_CR的OPTWRE位

?設(shè)置FLASH_CR的OPTPG位為1

?寫入要編程的半字到指定的地址

?等待BSY位變?yōu)?

?讀出寫入的地址并驗(yàn)證數(shù)據(jù)

09. 選項(xiàng)字節(jié)擦除

?檢查FLASH_SR的BSY位,以確認(rèn)沒有其他正在進(jìn)行的閃存操作

?解鎖FLASH_CR的OPTWRE位

?設(shè)置FLASH_CR的OPTER位為1

?設(shè)置FLASH_CR的STRT位為1

?等待BSY位變?yōu)?

?讀出被擦除的選擇字節(jié)并做驗(yàn)證

10. 器件電子簽名

?電子簽名存放在閃存存儲器模塊的系統(tǒng)存儲區(qū)域,包含的芯片識別信息在出廠時編寫,不可更改,使用指針讀指定地址下的存儲器可獲取電子簽名

?閃存容量寄存器:

基地址:0x1FFF F7E0

大?。?6位

?產(chǎn)品唯一身份標(biāo)識寄存器:

基地址: 0x1FFF F7E8

大?。?6位

11. 附錄

參考: 【STM32】江科大STM32學(xué)習(xí)筆記匯總文章來源地址http://www.zghlxwxcb.cn/news/detail-840572.html

到了這里,關(guān)于【STM32】STM32學(xué)習(xí)筆記-FLASH閃存(48)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32CubeMX學(xué)習(xí)筆記16--- STM32內(nèi)部FLASH

    STM32CubeMX學(xué)習(xí)筆記16--- STM32內(nèi)部FLASH

    1. 內(nèi)部FLASH簡介 ????????之前的文章中介紹過STM32F1利用SPI與外部FLASH(W25QXX芯片)通訊的例程,本例程將介紹STM32F1的內(nèi)部FLASH,通過內(nèi)部FLASH實(shí)現(xiàn)數(shù)據(jù)讀寫操作。 不同型號的STM32,其FLASH容量也有所不同,最小的只有16K字節(jié),最大的則達(dá)到了1024K字節(jié)。此處我們使用的是ST

    2024年04月09日
    瀏覽(30)
  • STM32F103 內(nèi)部FLASH讀寫擦操作

    STM32F103 內(nèi)部FLASH讀寫擦操作

    (1)解鎖和鎖定 前面我們介紹了在對 FLASH 進(jìn)行寫操作前必須先解鎖,解鎖操作也就是必 須在 FLASH_KEYR 寄存器寫入特定的序列(0X45670123 和 0XCDEF89AB),固件庫 提供了一個解鎖函數(shù),其實(shí)就是封裝了對 FLASH_KEYR 寄存器的操作。 解鎖庫函數(shù)是: void FLASH_Unlock(void); 在對 FLASH 寫操

    2024年02月15日
    瀏覽(29)
  • 【STM32】F103(64K/128K Flash)外設(shè)概述

    【STM32】F103(64K/128K Flash)外設(shè)概述

    本文介紹的是STM32F103 中等容量產(chǎn)品(STM32F103x 8 xx和STM32F103x B xx)的硬件數(shù)據(jù),即64KB或128KB Flash,20KB SRAM。 ST官網(wǎng)資料:https://www.st.com/zh/microcontrollers-microprocessors/stm32f103.html ST官方的中等容量產(chǎn)品Datasheet:https://www.st.com/resource/en/datasheet/stm32f103c8.pdf 之前的文章:https://blog.csdn

    2024年02月11日
    瀏覽(22)
  • STM32筆記 Flash

    STM32筆記 Flash

    筆記來源于江科協(xié)議的視頻 芯片采用與stm32F103C8T6 ?STM32F1系列的FLASH包含程序存儲器、系統(tǒng)存儲器和選項(xiàng)字節(jié)三個部分,通過閃存存儲器接口(外設(shè))可以對程序存儲器和選項(xiàng)字節(jié)進(jìn)行擦除和編程,系統(tǒng)存儲器里面存儲的是BootLoader,是不允許修改的。 ?讀寫FLASH的用途: 利

    2024年01月18日
    瀏覽(19)
  • STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作)

    STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作)

    STM32F103C8T6 內(nèi)部Flash 為 64KB,本次將對他多余空間進(jìn)行讀寫。 數(shù)據(jù)手冊下載 STM32F103x8/STM32F103xB 數(shù)據(jù)手冊 包含F(xiàn)lash Memory Page分布 STM32F設(shè)備命名 設(shè)備容量類型 中容量類型 內(nèi)部空間介紹 Flash Memory 從 0x0800 0000 ~ 0x0801 FFFF 頁分布1K每頁, STM32F103C8T6 只有64KByte, 那就是64頁 使用 controll

    2024年01月21日
    瀏覽(31)
  • STM32CubeMX學(xué)習(xí)筆記(47)——USB接口使用(MSC基于內(nèi)部Flash模擬U盤)

    STM32CubeMX學(xué)習(xí)筆記(47)——USB接口使用(MSC基于內(nèi)部Flash模擬U盤)

    USB(Universal Serial BUS)通用串行總線 ,是一個外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。是應(yīng)用在 PC 領(lǐng)域的接口技術(shù)。USB 接口支持設(shè)備的即插即用和熱插拔功能。USB 是在 1994 年底由英特爾、康柏、IBM、Microsoft 等多家公司聯(lián)合提出的。 USB 發(fā)展到現(xiàn)在已經(jīng)有 US

    2024年02月15日
    瀏覽(46)
  • STM32F103C8用內(nèi)部Flash做一個優(yōu)盤(USB+MSC+FATFS)

    STM32F103C8用內(nèi)部Flash做一個優(yōu)盤(USB+MSC+FATFS)

    STM32F103C8用內(nèi)部Flash做一個優(yōu)盤(USB+MSC+FATFS),輕松實(shí)現(xiàn)APP升級、數(shù)據(jù)存儲。 直接使用STM32CubeMX生成基本的工程,省得我們?nèi)フ{(diào)底層。 時鐘配置為外部8MHz晶振,這個需要根據(jù)自己開發(fā)板的晶振選擇。? 啟用SWD下載和滴答定時器 ?啟用USB ?啟用FATFS,MAX_SS和MIN_SS設(shè)置為1024。 ?配

    2024年02月14日
    瀏覽(35)
  • 【正點(diǎn)原子STM32連載】 第四十五章 FLASH模擬EEPROM實(shí)驗(yàn) 摘自【正點(diǎn)原子】STM32F103 戰(zhàn)艦開發(fā)指南V1.2

    【正點(diǎn)原子STM32連載】 第四十五章 FLASH模擬EEPROM實(shí)驗(yàn) 摘自【正點(diǎn)原子】STM32F103 戰(zhàn)艦開發(fā)指南V1.2

    STM32本身沒有自帶EEPROM,但是STM32具有IAP(在應(yīng)用編程)功能,所以我們可以把它的FLASH當(dāng)成EEPROM來使用。本章,我們將利用STM32內(nèi)部的FLASH來實(shí)現(xiàn)第三十六章實(shí)驗(yàn)類似的效果,不過這次我們是將數(shù)據(jù)直接存放在STM32內(nèi)部,而不是存放在NOR FLASH。 本章分為如下幾個小節(jié): 45.1 ST

    2024年02月08日
    瀏覽(24)
  • STM32 Flash學(xué)習(xí)(二)

    STM32F1的官方固件庫操作FLASH的幾個常用函數(shù)。這些函數(shù)和定義分布在源文件stm32f1xx_hal_flash.c/stm32f1xx_hal_flash_ex.c以及頭文件stm32f1xx_hal_flash.h/stm32f1xx_hal_flash_ex.h中。 對FLASH進(jìn)行寫操作前必須先解鎖,解鎖操作:在FLASH_KEYR寫入特定的序列(KEY1和KEY2),HAL庫實(shí)現(xiàn)很簡單: 寫操作完

    2024年02月19日
    瀏覽(12)
  • STM32 Flash學(xué)習(xí)(一)

    STM32 Flash學(xué)習(xí)(一)

    不同型號的STM32,其Flash容量也不同。 MiniSTM32開發(fā)板選擇的STM32F103RCT6的FLASH容量為256K字節(jié),屬于大容量產(chǎn)品。 STM32的閃存模塊由:主存儲器、信息塊和閃存存儲器接口寄存器等3部分組成。 主存儲器,該部分用來存放代碼和數(shù)據(jù)常量(如const類型的數(shù)據(jù))。 對于大容量產(chǎn)品,

    2024年02月15日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包