通信電纜 網絡設備 無線通信 云計算|大數據 顯示設備 存儲設備 網絡輔助設備 信號傳輸處理 多媒體設備 廣播系統 智慧城市管理系統 其它智慧基建產品
沈陽芯碩科技有限公司
華大電子MCU CIU32L061x8 系列是基于 Arm®Cortex®-M0+內核超低功耗、寬電壓工作范圍的 32 位安全 MCU 產品。CIU32L061x8 支持多種封裝,高頻率可達 48MHz。
5 、Flash 存儲器(Flash)
5.1 簡介
Flash 存儲器連接在 AHB 總線上,由 Flash 控制器統一管理,可對存儲器執行取指、讀取、編程和擦除操作,并具有安全訪問機制和讀寫保護等功能。
5.2 Flash 主要特性
l 高達 128 KB 的用戶存儲空間
- 塊大小:16 KB
- 頁大小:512 字節
l 32-bits 位寬讀取/寫入
l 支持頁擦除、塊擦除、批量擦除
l 可配置 3 種讀出保護等級(RDP)
l 2 塊可配置的代碼讀出保護區域(PCROP)
l 2 塊可配置的寫入保護區域(WRP)
l 可配置大小的用戶安全存儲區域
5.3 Flash 功能描述
5.3.1 Flash 存儲器組成
Flash 存儲器按 32-bits 位寬執行讀寫訪問,可存儲指令和數據。
Flash 存儲器的組成如下:
l User flash 區:用于存儲用戶程序和數據,存儲空間為 128KB,分成 8 個
塊(Block),每個塊包含 32 個頁(Page),每頁 512 字節;
l System memory 區:用于存儲 Bootloader 和算法 API,存儲空間為14KB;
l Option bytes 區:用于存儲外設和存儲器保護配置的選項字節;
l Engineer 區:用于存儲 UID、TS/BGR 校準值;
l OTP 區:一次性可編程區域,共 512 字節。
5.3.2 Flash 讀取訪問等待周期
Flash 存儲器連接在 AHB 總線上,讀取 Flash 時使用 HCLK 時鐘。當 HCLK 的 時鐘頻率超出 Flash 存儲器的工作頻率時,就會造成數據讀取錯誤,此時需要插入等待周期。 Flash 訪問控制寄存器(FLASH_ACR)中的 LATENCY[1:0]位域,用于配置 Flash 讀取訪問的等待周期,HCLK 時鐘頻率與 Flash 讀取訪問等待周期的對應關系見 下表。
為保證 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.3 Flash 解鎖
為防止 Flash 被意外修改,增加了保護措施,必須向特定寄存器寫入密鑰,才能解鎖相關功能的配置權限。
5.3.3.1 Flash 控制寄存器解鎖
復位后,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.2 Flash 選項字節解鎖
復位后,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.3 Flash 掉電控制位解鎖
復位后,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.4 Flash 功耗管理
為進一步降低系統功耗,當程序僅在 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 將自動上電。
沈陽芯碩科技有限公司是華大電子專業代理商,有技術問題可咨詢芯虎論壇
您感興趣的產品PRODUCTS YOU ARE INTERESTED IN
智慧城市網 設計制作,未經允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗證碼
請輸入你感興趣的產品
請簡單描述您的需求
請選擇省份