精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

華大電子MCU CIU32L061x8存儲器(Flash)一

沈陽芯碩科技 ? 來源:jetson024 ? 作者:jetson024 ? 2023-02-13 09:23 ? 次閱讀

5、Flash存儲器(Flash)

5.1簡介

Flash存儲器連接在AHB總線上,由Flash控制器統一管理,可對存儲器執行取指、讀取、編程和擦除操作,并具有安全訪問機制和讀寫保護等功能。

沈陽芯碩科技有限公司是華大電子代理商,有技術問題可咨詢我們。

5.2Flash主要特性

l高達128 KB的用戶存儲空間

-塊大小:16 KB

-頁大小:512字節

l32-bits位寬讀取/寫入

l支持頁擦除、塊擦除、批量擦除

l可配置3種讀出保護等級(RDP)

l2塊可配置的代碼讀出保護區域(PCROP)

l2塊可配置的寫入保護區域(WRP)

l可配置大小的用戶安全存儲區域

5.3Flash功能描述

5.3.1Flash存儲器組成

Flash存儲器按32-bits位寬執行讀寫訪問,可存儲指令和數據。

Flash存儲器的組成如下:

lUser flash區:用于存儲用戶程序和數據,存儲空間為 128KB,分成8個

塊(Block),每個塊包含32個頁(Page),每頁512字節;

lSystem memory區:用于存儲 Bootloader和算法API,存儲空間為14KB;

lOption bytes區:用于存儲外設和存儲器保護配置的選項字節;

lEngineer區:用于存儲UID、TS/BGR校準值;

lOTP區:一次性可編程區域,共512字節。

poYBAGPpjvaAGcXoAAEPdk1vxdQ542.png

5.3.2Flash讀取訪問等待周期

Flash存儲器連接在AHB總線上,讀取Flash時使用HCLK時鐘。當HCLK的 時鐘頻率超出Flash存儲器的工作頻率時,就會造成數據讀取錯誤,此時需要插入等待周期。 Flash訪問控制寄存器(FLASH_ACR)中的LATENCY[1:0]位域,用于配置Flash讀取訪問的等待周期,HCLK時鐘頻率與Flash讀取訪問等待周期的對應關系見 下表。

pYYBAGPpjvaAfbE-AABPtPXX6Mw653.png

為保證Flash讀取訪問不出現異常或錯誤,當要改變HCLK的時鐘頻率時,必須按照特定步驟進行配置。

l提高HCLK頻率的配置步驟:

1) 通過配置FLASH_ACR寄存器中的LATENCY[1:0]位域,增大Flash

讀取訪問的等待周期;

2) 讀取LATENCY[1:0]位域,檢查等待周期已配置成功;

3) 提高HCLK頻率,可通過配置RCC時鐘配置寄存器(RCC_CFG)

中的SYSW[2:0]位域,切換更高頻率的時鐘源,或通過配置HPRE[2:0]

位域,減小系統時鐘的分頻值;

4) 配置SYSW[2:0]位域后,必須對RCC_CFG寄存器中的SYSWS[2:0]

位域進行檢查,確認系統時鐘已切換完成。

l降低HCLK頻率的配置步驟:

1) 降低HCLK頻率,可通過配置RCC時鐘配置寄存器(RCC_CFG)

中的SYSW[2:0]位域,切換更低頻率的時鐘源,或通過配置HPRE[2:0]

位域,增大系統時鐘的分頻值;

2) 配置SYSW[2:0]位域后,必須對RCC_CFG寄存器中的SYSWS[2:0]

位域進行檢查,確認系統時鐘已切換完成;

3) 通過FLASH_ACR寄存器中的LATENCY[1:0]位域,減小Flash讀取

訪問的等待周期;

4) 讀取LATENCY[1:0]位域,檢查等待周期已配置成功。

5.3.3Flash解鎖

為防止Flash被意外修改,增加了保護措施,必須向特定寄存器寫入密鑰,才能解鎖相關功能的配置權限。

5.3.3.1Flash控制寄存器解鎖

復位后,Flash控制寄存器(FLASH_CR)將處于寫保護鎖定狀態。要配置

FLASH_CR寄存器,需首先進行解鎖操作。

FLASH_CR寄存器的解鎖操作,必須嚴格按照以下步驟順序執行:

1) 向FLASH_CRKEY寄存器寫入密鑰 1:0xE57A 1A85;

2) 向FLASH_CRKEY寄存器寫入密鑰 2:0x7C6E 8391;

3) 檢查FLASH_CR寄存器中的LOCK位,當該位清0時,表明FLASH_CR寄存器已解鎖。解鎖完成后,才能對FLASH_CR寄存器進行配置。

注意:FLASH_CR寄存器中與選項字節相關的控制位(OBL_LAUNCH和OPTSTRT), 必須在 Flash選項字節解鎖后才能進行配置。密鑰必須嚴格按照順序寫入,如果出現以下情況,將產生總線錯誤同時觸發 HardFault中斷,直到再次復位后,才能重新對FLASH_CR寄存器進行解鎖:

l向FLASH_CRKEY寄存器寫入錯誤的密鑰值;

l解鎖順序錯誤,先向FLASH_CRKEY寄存器寫入密鑰2:0x7C6E 8391;

l解鎖后繼續向FLASH_CRKEY寄存器寫入任意值(包括密鑰)。

將FLASH_CR寄存器中的LOCK位重新置1,能恢復FLASH_CR寄存器的寫 保護鎖定狀態。通過復位,也能使FLASH_CR寄存器恢復成寫保護鎖定狀態。

注意:當FLASH_SR寄存器中的BSY位為1時,對FLASH_CR寄存器的寫入將無效,FLASH_SR寄存器中的PESERR標志將置1,Flash當前操作將繼續正常執行。

5.3.3.2Flash選項字節解鎖

復位后,Flash選項字節處于寫保護鎖定狀態,所有的選項字節加載寄存器、

FLASH_CR寄存器中的OBL_LAUNCH位和OPTSTRT位,都會被寫保護。要對選項字節進行更新,就先要進行解鎖操作。

Flash選項字節的解鎖操作,必須嚴格按照以下步驟順序執行:

1) 先解鎖Flash控制寄存器FLASH_CR(詳見:Flash控制寄存器解鎖);

2) 向FLASH_OPTKEY寄存器寫入密鑰 1:0x6A89 4D7B;

3) 向FLASH_OPTKEY寄存器寫入密鑰 2:0x7C31 1F5A;

4) 檢查FLASH_CR寄存器中的OPTLOCK位,當該位清0時,表明Flash選項字節已解鎖。解鎖完成后,才能對選項字節加載寄存器及其控制位(OBL_LAUNCH和OPTSTRT)進行配置。

密鑰必須嚴格按照順序寫入,如果出現以下情況,將產生總線錯誤同時觸發

HardFault中斷,直到再次復位后,才能重新對Flash選項字節進行解鎖:

l向FLASH_OPTKEY寄存器寫入錯誤的密鑰值;

l解鎖順序錯誤,先向FLASH_OPTKEY寄存器寫入密鑰2:0x7C31 1F5A;

l解鎖后繼續向FLASH_OPTKEY寄存器寫入任意值(包括密鑰);

l在對FLASH_CR寄存器解鎖前,向FLASH_OPTKEY寄存器寫入任意值

(包括密鑰)。 將FLASH_CR寄存器中的OPTLOCK位重新置1,能恢復Flash選項字節的寫保護鎖定狀態。通過復位,也能使Flash選項字節恢復成寫保護鎖定狀態。當 FLASH_CR寄存器恢復成寫保護鎖定狀態時(LOCK位置1),Flash選項字節也會被恢復成寫保護鎖定狀態,OPTLOCK位將自動置1。

5.3.3.3Flash掉電控制位解鎖

復位后,Flash訪問控制寄存器(FLASH_ACR)中的PDEN位將處于寫保護鎖定狀態,該位用于控制Flash的掉電。要配置 PDEN位,就要先進行解鎖操作。PDEN位的解鎖操作,必須嚴格按照以下步驟順序執行:

1) 先解鎖FLASH控制寄存器FLASH_CR(詳見:Flash控制寄存器解鎖);

2) 向FLASH_PDKEY寄存器寫入密鑰 1:0x57D9 3AB6;

3) 向FLASH_PDKEY寄存器寫入密鑰 2:0x9A2D 827C;

4) 檢查FLASH_CR寄存器中的PDLOCK位,當該位清0時,表明PDEN位已解鎖。解鎖完成后,可對PDEN位進行配置。密鑰必須嚴格按照順序寫入,如果出現以下情況,將產生總線錯誤同時觸發 HardFault中斷,直到再次復位后,才能重新對PDEN位進行解鎖操作:

l向FLASH_PDKEY寄存器寫入錯誤的密鑰值;

l解鎖順序錯誤,先向FLASH_PDKEY寄存器寫入密鑰2:0x9A2D 827C;

l解鎖后繼續向FLASH_PDKEY寄存器寫入任意值(包括密鑰);

l在對FLASH_CR寄存器解鎖前,向FLASH_PDKEY寄存器寫入任意值(包括密鑰)。 將FLASH_CR寄存器中的PDLOCK位重新置1,能恢復PDEN位的寫保護鎖定狀態。另外通過復位,也能使 PDEN位恢復成寫保護鎖定狀態。當FLASH_CR寄存器恢復成寫保護鎖定狀態時(LOCK位置1),PDEN位也會被恢復成寫保護鎖定狀態,PDLOCK位將自動置1。

5.3.4Flash功耗管理

為進一步降低系統功耗,當程序僅在SRAM中運行時,通過將 Flash訪問控制 寄存器(FLASH_ACR)中的PDEN位置1,能使Flash進入Power Down狀態。在配置PDEN位前,要先進行解鎖操作,解鎖步驟詳見:Flash掉電控制位解鎖。Flash處于Power Down狀態時,可通過配置PDEN位清0,使Flash從Power Down狀態恢復成上電狀態。

注意: Flash恢復成上電狀態后,需等待 10μs才允許對Flash進行操作。

當進入Stop或Standby模式時,Flash將自動進入Power Down狀態。如果在進入低功耗模式前,Flash處于上電狀態,則在喚醒后 Flash將自動上電。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17002

    瀏覽量

    350334
  • 寄存器
    +關注

    關注

    31

    文章

    5322

    瀏覽量

    120022
  • FlaSh
    +關注

    關注

    10

    文章

    1622

    瀏覽量

    147761
  • 存儲器
    +關注

    關注

    38

    文章

    7453

    瀏覽量

    163610
收藏 人收藏

    評論

    相關推薦

    使用SD Flash為TMS320C28x器件編程外部非易失性存儲器

    電子發燒友網站提供《使用SD Flash為TMS320C28x器件編程外部非易失性存儲器.pdf》資料免費下載
    發表于 10-15 11:48 ?0次下載
    使用SD <b class='flag-5'>Flash</b>為TMS320C28<b class='flag-5'>x</b>器件編程外部非易失性<b class='flag-5'>存儲器</b>

    使用低內存MSP430? MCU的帶備份存儲器的外部RTC

    電子發燒友網站提供《使用低內存MSP430? MCU的帶備份存儲器的外部RTC.pdf》資料免費下載
    發表于 10-09 11:43 ?0次下載
    使用低內存MSP430? <b class='flag-5'>MCU</b>的帶備份<b class='flag-5'>存儲器</b>的外部RTC

    鐵電存儲器Flash的區別

    鐵電存儲器(Ferroelectric RAM, FRAM)與閃存(Flash)是兩種不同類型的非易失性存儲器,它們在工作原理、性能特點、應用場景等方面存在顯著的差異。
    的頭像 發表于 09-29 15:25 ?715次閱讀

    帶備份存儲器的獨立RTC,帶低成本MSP430 MCU應用說明

    電子發燒友網站提供《帶備份存儲器的獨立RTC,帶低成本MSP430 MCU應用說明.pdf》資料免費下載
    發表于 09-14 09:49 ?0次下載
    帶備份<b class='flag-5'>存儲器</b>的獨立RTC,帶低成本MSP430 <b class='flag-5'>MCU</b>應用說明

    NAND Flash與其他類型存儲器的區別

    NAND Flash作為種基于NAND技術的非易失性存儲器,具有多個顯著優點,這些優點使其在數據存儲領域得到了廣泛應用。以下是對NAND Flas
    的頭像 發表于 08-20 10:24 ?656次閱讀

    ram存儲器和rom存儲器的區別是什么

    定義: RAM(Random Access Memory):隨機存取存儲器,是種易失性存儲器,主要用于計算機和其他設備的臨時存儲。 ROM(Read-Only Memory):只讀
    的頭像 發表于 08-06 09:17 ?576次閱讀

    飛凌嵌入式-ELFBOARD 硬件分享之-存儲器及其分類

    只讀存儲器?——這些存儲器都是在ROM的基礎上發展而來的,名稱屬于歷史遺留問題。 1980年,Flash Memory被發明出來,也就是我們說的閃存,1980年又個日本科學家發明了N
    發表于 07-30 10:06

    EEPROM與Flash存儲器的區別

    電子技術和計算機系統中,存儲器是不可或缺的組成部分,其類型和功能繁多。EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦除
    的頭像 發表于 05-23 16:35 ?5568次閱讀

    STM32L053如何在FLASH程序存儲器模式下將程序燒錄成功?

    用的是STM32L053芯片,自舉模式為FLASH程序存儲器模式,此時如何燒錄程序?
    發表于 03-25 06:09

    CW32L052 FLASH存儲器

    CW32L052內部集成了64KB嵌入式FLASH供用戶使用,可用來存儲應用程序和用戶數據。芯片支持對 FLASH 存儲器的讀、擦除和寫操作
    的頭像 發表于 02-28 17:43 ?698次閱讀
    CW32<b class='flag-5'>L</b>052 <b class='flag-5'>FLASH</b><b class='flag-5'>存儲器</b>

    淺談flash存儲器的特點和優缺點

    Flash存儲器的寫操作具有特殊性,它只能將數據位從1寫成0,而不能從0寫成1。因此,在對存儲器進行寫入操作之前,必須先執行擦除操作,將預寫入的數據位初始化為1。
    的頭像 發表于 02-19 11:37 ?3131次閱讀
    淺談<b class='flag-5'>flash</b><b class='flag-5'>存儲器</b>的特點和優缺點

    stm32 flash寫數據怎么存儲

    stm32 flash寫數據怎么存儲的? STM32是款廣泛應用于嵌入式系統開發的微控制,它的Flash
    的頭像 發表于 01-31 15:46 ?2268次閱讀

    使用MCU的輔助存儲器來記錄ADC電壓讀數,當程序進入cy_flash_WriteRow () 時會出現雙重鎖定錯誤并自動終止的原因?

    我們正在嘗試使用 MCU 的輔助存儲器來記錄 ADC 電壓讀數,以便日后檢索。 在之前在 main () 中調用了 systemInit () 之后,我寫了個 for 循環來滾動瀏覽數組值(之前
    發表于 01-31 08:18

    如何充分利用單片機(MCU)的非易失性存儲器呢?

    需要在設計和開發過程中遵循些最佳實踐。本文將詳細介紹如何最大限度地利用MCU的NVM。 1.選擇適當的存儲器類型: MCU的NVM通常有多種類型可供選擇,例如閃存(
    的頭像 發表于 12-15 10:10 ?1337次閱讀

    電子攜安全低功耗MCU系列新品亮相電子峰會

    電子L0超低功耗系列MCU新品亮相秋季電子展!此次發布的新品有著哪些提升,讓我們起來看看
    的頭像 發表于 11-28 14:54 ?633次閱讀
    <b class='flag-5'>華</b>大<b class='flag-5'>電子</b>攜安全低功耗<b class='flag-5'>MCU</b>系列新品亮相<b class='flag-5'>電子</b>峰會