99热久久这里只有精品,99久久人妻精品免费二区,成人综合亚洲欧美一区,国产成人精品亚洲一区,久久国产亚洲精品赲碰热

華大電子MCU CIU32L061x8存儲(chǔ)器(Fl

  • 發(fā)布時(shí)間:2023-02-06 11:58:17,加入時(shí)間:2021年07月05日(距今1525天)
  • 地址:中國(guó)»遼寧»沈陽(yáng):遼寧省沈陽(yáng)市鐵西區(qū)建工西路5號(hào)財(cái)富星座B座
  • 公司:沈陽(yáng)芯碩科技有限公司, 用戶等級(jí):普通會(huì)員 已認(rèn)證
  • 聯(lián)系:宣女士,手機(jī):13840143924 電話:024-85718900 QQ:3540893315

5 、Flash 存儲(chǔ)器(Flash

5.1 簡(jiǎn)介

Flash 存儲(chǔ)器連接在 AHB 總線上,由 Flash 控制器統(tǒng)一管理,可對(duì)存儲(chǔ)器執(zhí)行取指、讀取、編程和擦除操作,并具有安全訪問(wèn)機(jī)制和讀寫保護(hù)等功能。

5.2 Flash 主要特性

l 高達(dá) 128 KB 的用戶存儲(chǔ)空間

- 塊大。16 KB

- 頁(yè)大。512 字節(jié)

l 32-bits 位寬讀取/寫入

l 支持頁(yè)擦除、塊擦除、批量擦除

l 可配置 3 種讀出保護(hù)等級(jí)(RDP)

l 2 塊可配置的代碼讀出保護(hù)區(qū)域(PCROP)

l 2 塊可配置的寫入保護(hù)區(qū)域(WRP)

l 可配置大小的用戶安全存儲(chǔ)區(qū)域

5.3 Flash 功能描述

5.3.1 Flash 存儲(chǔ)器組成

Flash 存儲(chǔ)器按 32-bits 位寬執(zhí)行讀寫訪問(wèn),可存儲(chǔ)指令和數(shù)據(jù)。

Flash 存儲(chǔ)器的組成如下:

l User flash 區(qū):用于存儲(chǔ)用戶程序和數(shù)據(jù),存儲(chǔ)空間為 128KB,分成 8 個(gè)

塊(Block),每個(gè)塊包含 32 個(gè)頁(yè)(Page),每頁(yè) 512 字節(jié);

l System memory 區(qū):用于存儲(chǔ) Bootloader 和算法 API,存儲(chǔ)空間為14KB;

l Option bytes 區(qū):用于存儲(chǔ)外設(shè)和存儲(chǔ)器保護(hù)配置的選項(xiàng)字節(jié);

l Engineer 區(qū):用于存儲(chǔ) UID、TS/BGR 校準(zhǔn)值;

l OTP 區(qū):一次性可編程區(qū)域,共 512 字節(jié)。

5.3.2 Flash 讀取訪問(wèn)等待周期

Flash 存儲(chǔ)器連接在 AHB 總線上,讀取 Flash 時(shí)使用 HCLK 時(shí)鐘。當(dāng) HCLK 的 時(shí)鐘頻率超出 Flash 存儲(chǔ)器的工作頻率時(shí),就會(huì)造成數(shù)據(jù)讀取錯(cuò)誤,此時(shí)需要插入等待周期。 Flash 訪問(wèn)控制寄存器(FLASH_ACR)中的 LATENCY[1:0]位域,用于配置 Flash 讀取訪問(wèn)的等待周期,HCLK 時(shí)鐘頻率與 Flash 讀取訪問(wèn)等待周期的對(duì)應(yīng)關(guān)系。

為保證 Flash 讀取訪問(wèn)不出現(xiàn)異;蝈e(cuò)誤,當(dāng)要改變 HCLK 的時(shí)鐘頻率時(shí),必須按照特定步驟進(jìn)行配置。

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

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

讀取訪問(wèn)的等待周期;

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

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

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

位域,減小系統(tǒng)時(shí)鐘的分頻值;

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

位域進(jìn)行檢查,確認(rèn)系統(tǒng)時(shí)鐘已切換完成。

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

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

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

位域,增大系統(tǒng)時(shí)鐘的分頻值;

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

位域進(jìn)行檢查,確認(rèn)系統(tǒng)時(shí)鐘已切換完成;

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

訪問(wèn)的等待周期;

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

5.3.3 Flash 解鎖

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

5.3.3.1 Flash 控制寄存器解鎖

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

FLASH_CR 寄存器,需首先進(jìn)行解鎖操作。

FLASH_CR 寄存器的解鎖操作,必須嚴(yán)格按照以下步驟順序執(zhí)行:

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

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

3) 檢查 FLASH_CR 寄存器中的 LOCK 位,當(dāng)該位清 0 時(shí),表明 FLASH_CR 寄存器已解鎖。解鎖完成后,才能對(duì) FLASH_CR 寄存器進(jìn)行配置。

注意:FLASH_CR 寄存器中與選項(xiàng)字節(jié)相關(guān)的控制位(OBL_LAUNCH OPTSTRT), 必須在 Flash 選項(xiàng)字節(jié)解鎖后才能進(jìn)行配置。 密鑰必須嚴(yán)格按照順序?qū)懭,如果出現(xiàn)以下情況,將產(chǎn)生總線錯(cuò)誤同時(shí)觸發(fā) HardFault 中斷,直到再次復(fù)位后,才能重新對(duì) FLASH_CR 寄存器進(jìn)行解鎖:

l 向 FLASH_CRKEY 寄存器寫入錯(cuò)誤的密鑰值;

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

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

將 FLASH_CR 寄存器中的 LOCK 位重新置 1,能恢復(fù) FLASH_CR 寄存器的寫 保護(hù)鎖定狀態(tài)。通過(guò)復(fù)位,也能使 FLASH_CR 寄存器恢復(fù)成寫保護(hù)鎖定狀態(tài)。

注意:當(dāng) FLASH_SR 寄存器中的 BSY 位為 1 時(shí),對(duì) FLASH_CR 寄存器的寫入將無(wú)效,FLASH_SR 寄存器中的 PESERR 標(biāo)志將置 1,Flash 當(dāng)前操作將繼續(xù)正常執(zhí)行。

5.3.3.2 Flash 選項(xiàng)字節(jié)解鎖

復(fù)位后,F(xiàn)lash 選項(xiàng)字節(jié)處于寫保護(hù)鎖定狀態(tài),所有的選項(xiàng)字節(jié)加載寄存器、

FLASH_CR 寄存器中的 OBL_LAUNCH 位和 OPTSTRT 位,都會(huì)被寫保護(hù)。要對(duì)選項(xiàng)字節(jié)進(jìn)行更新,就先要進(jìn)行解鎖操作。

Flash 選項(xiàng)字節(jié)的解鎖操作,必須嚴(yán)格按照以下步驟順序執(zhí)行:

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

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

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

4) 檢查 FLASH_CR 寄存器中的 OPTLOCK 位,當(dāng)該位清 0 時(shí),表明 Flash選項(xiàng)字節(jié)已解鎖。解鎖完成后,才能對(duì)選項(xiàng)字節(jié)加載寄存器及其控制位(OBL_LAUNCH 和 OPTSTRT)進(jìn)行配置。

密鑰必須嚴(yán)格按照順序?qū)懭,如果出現(xiàn)以下情況,將產(chǎn)生總線錯(cuò)誤同時(shí)觸發(fā)

HardFault 中斷,直到再次復(fù)位后,才能重新對(duì) Flash 選項(xiàng)字節(jié)進(jìn)行解鎖:

l 向 FLASH_OPTKEY 寄存器寫入錯(cuò)誤的密鑰值;

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

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

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

(包括密鑰)。 將 FLASH_CR 寄存器中的 OPTLOCK 位重新置 1,能恢復(fù) Flash 選項(xiàng)字節(jié)的寫保護(hù)鎖定狀態(tài)。通過(guò)復(fù)位,也能使 Flash 選項(xiàng)字節(jié)恢復(fù)成寫保護(hù)鎖定狀態(tài)。當(dāng) FLASH_CR 寄存器恢復(fù)成寫保護(hù)鎖定狀態(tài)時(shí)(LOCK 位置 1),F(xiàn)lash 選項(xiàng)字節(jié)也會(huì)被恢復(fù)成寫保護(hù)鎖定狀態(tài),OPTLOCK 位將自動(dòng)置 1。

5.3.3.3 Flash 掉電控制位解鎖

復(fù)位后,Flash 訪問(wèn)控制寄存器(FLASH_ACR中的 PDEN 位將處于寫保護(hù)鎖定狀態(tài),該位用于控制 Flash 的掉電。要配置 PDEN 位,就要先進(jìn)行解鎖操作。PDEN 位的解鎖操作,必須嚴(yán)格按照以下步驟順序執(zhí)行:

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

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

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

4) 檢查 FLASH_CR 寄存器中的 PDLOCK 位,當(dāng)該位清 0 時(shí),表明 PDEN 位已解鎖。解鎖完成后,可對(duì) PDEN 位進(jìn)行配置。密鑰必須嚴(yán)格按照順序?qū)懭,如果出現(xiàn)以下情況,將產(chǎn)生總線錯(cuò)誤同時(shí)觸發(fā) HardFault 中斷,直到再次復(fù)位后,才能重新對(duì) PDEN 位進(jìn)行解鎖操作:

l 向 FLASH_PDKEY 寄存器寫入錯(cuò)誤的密鑰值;

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

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

l 在對(duì) FLASH_CR 寄存器解鎖前,向 FLASH_PDKEY 寄存器寫入任意值(包括密鑰)。 將 FLASH_CR 寄存器中的 PDLOCK 位重新置 1,能恢復(fù) PDEN 位的寫保護(hù)鎖定狀態(tài)。另外通過(guò)復(fù)位,也能使 PDEN 位恢復(fù)成寫保護(hù)鎖定狀態(tài)。當(dāng) FLASH_CR 寄存器恢復(fù)成寫保護(hù)鎖定狀態(tài)時(shí)(LOCK 位置 1),PDEN 位也會(huì)被恢復(fù)成寫保護(hù)鎖定狀態(tài),PDLOCK 位將自動(dòng)置 1。

沈陽(yáng)芯碩科技有限公司是華大電子專業(yè)代理商,有技術(shù)問(wèn)題可咨詢芯虎論壇

聯(lián)系我時(shí)請(qǐng)說(shuō)明來(lái)自志趣網(wǎng),謝謝!

免責(zé)申明:志趣網(wǎng)所展示的信息由用戶自行提供,其真實(shí)性、合法性、準(zhǔn)確性由信息發(fā)布人負(fù)責(zé)。使用本網(wǎng)站的所有用戶須接受并遵守法律法規(guī)。志趣網(wǎng)不提供任何保證,并不承擔(dān)任何法律責(zé)任。 志趣網(wǎng)建議您交易小心謹(jǐn)慎。