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

數(shù)量(件) 價格
1 5000.00元/件
  • 最小起訂: 1件
  • 發(fā)貨地址: 遼寧 沈陽市
  • 發(fā)布日期:2023-02-27
  • 訪問量:339
咨詢電話:138-0292-3731
打電話時請告知是在機電之家網(wǎng)上看到獲取更多優(yōu)惠。謝謝!
4

沈陽芯碩科技有限公司

實名認證 企業(yè)認證
  • 聯(lián)系人:沈陽芯碩科技-024-85718900
  • 手機:13802923731
  • 電話:024-85718900
  • 營業(yè)執(zhí)照:已審核 營業(yè)執(zhí)照
  • 經(jīng)營模式: 貿(mào)易型-
  • 所在地區(qū):遼寧 沈陽市
  • 家家通積分:860分

更多>>推薦產(chǎn)品

詳細參數(shù)
品牌其他型號CIU32L061x8
封裝形式其他導電類型其他
封裝外形其他集成度其他
加工定制

產(chǎn)品詳情

5.3.5 User flash 區(qū)擦除操作

User flash 區(qū)支持以下擦除方式:

l 頁擦除(512 字節(jié))

l 塊擦除(16KB)

l 批量擦除(128KB)

Flash 存儲器在執(zhí)行擦除操作時,不能同時進行讀取操作,需要等待存儲器完成 擦除操作后,讀取操作才能正常進行,擦除完成后的 Flash 數(shù)據(jù)為全 1。

5.3.5.1 User flash 區(qū)頁擦除步驟

對 User flash 區(qū)進行頁擦除操作(512 字節(jié)),可遵循以下步驟:

1) 檢查 Flash 狀態(tài)寄存器(FLASH_SR中的 BSY 標志,以確認當前沒有正在執(zhí)行的 Flash 操作;

2) 檢查 FLASH_SR 寄存器,確認錯誤標志均已清除;

3) 解鎖 Flash 控制寄存器(FLASH_CR,使 LOCK 位清 0;(詳見:Flash 控 制寄存器解鎖

4) 配置 FLASH_CR寄存器中的 ER_MODE[1:0]位域為 01,進入頁擦除模式;

5) 配置 FLASH_CR 寄存器中的 PNB[7:0]位域,選擇待擦除區(qū)域的頁號;

6) 配置 FLASH_CR 寄存器中的 ERASE 位置 1,啟動 Flash 擦除,同時 BSY 標志將自動置 1;

7) 查詢并等待 BSY 標志清 0,表明擦除操作已完成,此時 ERASE 位也將自 動清 0;

8) 如果要對多個頁執(zhí)行擦除操作,可重復執(zhí)行步驟 5 到 7;

9) 配置 FLASH_CR 寄存器中的 ER_MODE[1:0]位域為 00,退出擦除模式;

10) 配置 FLASH_CR 寄存器中的 LOCK 位置 1,恢復 FLASH_CR 寄存器的寫保護鎖定狀態(tài)。

5.3.5.2 User flash 區(qū)塊擦除步驟

對 User flash 區(qū)進行塊擦除操作(16KB),可遵循以下步驟:

1) 檢查 Flash 狀態(tài)寄存器(FLASH_SR中的 BSY 標志,以確認當前沒有正在執(zhí)行的 Flash 操作;

2) 檢查 FLASH_SR 寄存器,確認錯誤標志均已清除;

3) 解鎖 Flash 控制寄存器(FLASH_CR,使 LOCK 位清 0;(詳見:Flash 控制寄存器解鎖);

4) 配置 FLASH_CR寄存器中的 ER_MODE[1:0]位域為 10,進入塊擦除模式;

5) 配置 FLASH_CR 寄存器中的 PNB[2:0]位域,選擇待擦除區(qū)域的塊號;

6) 配置 FLASH_CR 寄存器中的 ERASE 位置 1,啟動 Flash 擦除,同時 BSY 標志將自動置 1;7) 查詢并等待 BSY 標志清 0,表明擦除操作已完成,此時 ERASE 位也將自動清 0;

8) 如果要對多個塊執(zhí)行擦除,可重復執(zhí)行步驟 5 到 7;

9) 配置 FLASH_CR 寄存器中的 ER_MODE[1:0]位域為 00,退出擦除模式;

10) 配置 FLASH_CR 寄存器中的 LOCK 位置 1,恢復 FLASH_CR 寄存器的寫保護鎖定狀態(tài)。

5.3.5.3 User flash 區(qū)批量擦除步驟

批量擦除用于擦除整個 User flash 區(qū)域(128KB),可遵循以下步驟:

1) 檢查 Flash 狀態(tài)寄存器(FLASH_SR中的 BSY 標志,以確認當前沒有正在執(zhí)行的 Flash 操作;

2) 檢查 FLASH_SR 寄存器,確認錯誤標志均已清除;

3) 解鎖 Flash 控制寄存器(FLASH_CR,使 LOCK 位清 0(詳見:Flash 控制寄存器解鎖);

4) 配置 FLASH_CR 寄存器中的 ER_MODE[1:0]位域為 11,進入批量擦除模式;

5) 配置 FLASH_CR 寄存器中的 ERASE 位置 1,啟動 Flash 擦除,同時 BSY標志將自動置 1;

6) 查詢并等待 BSY 標志清 0,表明擦除操作已完成,此時 ERASE 位也將自動清 0;

7) 配置 FLASH_CR 寄存器中的 ER_MODE[1:0]位域為 00,退出擦除模式;

8) 配置 FLASH_CR 寄存器中的 LOCK 位置 1,恢復 FLASH_CR 寄存器的寫保護鎖定狀態(tài)。

5.3.5.4 User flash 區(qū)擦除錯誤

在對 User flash 區(qū)執(zhí)行擦除操作的過程中,可能會出現(xiàn)以下錯誤標志:

l Flash 操作序列錯誤標志 PESERR:

- 在 ERASE 位被置 1 的同時,如果 ER_MODE[1:0] 位域為 00,則不會

啟動擦除操作,錯誤標志 PESERR 將置 1;

- 在 ERASE 位被置 1 的同時,如果待擦除的區(qū)域(PNB[7:0])超出了

Flash 的有效空間,則不會啟動擦除操作,錯誤標志 PESERR 將置 1;

- 當有錯誤標志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除時,配置 ERASE 位置 1,則不會啟動擦除操作,錯誤標志PESERR 將置 1;

- ERASE、OPTSTRT、OBL_LAUNCH 中任意 2 個以上控制位同時置 1,

則不會啟動對應的操作,錯誤標志 PESERR 將置 1。

l 寫保護錯誤標志 WRPERR:

- 如果要擦除的區(qū)域受到安全保護機制的影響,包含有受保護的區(qū)域,

則不會啟動擦除操作,F(xiàn)LASH_SR 寄存器中的 WRPERR 標志將置 1。

5.3.6 User flash 區(qū)編程操作

對 Flash 存儲器執(zhí)行編程操作,每次能寫入的數(shù)據(jù)長度固定為 32bits(字),不支持其他長度的數(shù)據(jù)寫入。

FLASH 存儲器在執(zhí)行編程操作時,不能同時進行讀取操作,需要等待存儲器完成編程操作后,讀取操作才能正常進行。

與 Flash 擦除操作類似,編程操作也會受到安全保護機制的影響:

5.3.6.1 User flash 區(qū)編程操作步驟

對 User flash 區(qū)進行編程操作,可遵循以下步驟:

1) 檢查 Flash 狀態(tài)寄存器(FLASH_SR中的 BSY 標志,以確認當前沒有正在執(zhí)行的 Flash 操作;

2) 檢查 FLASH_SR 寄存器,確認錯誤標志均已清除;

3) 解鎖 Flash 控制寄存器(FLASH_CR,使 LOCK 位清 0(詳見:Flash 控制寄存器解鎖);

4) 配置 FLASH_CR 寄存器中的 PG_MODE 為 1,進入 Flash 編程模式;

5) 向 Flash 目標地址寫入 32bits 數(shù)據(jù),寫入后 BSY 標志將自動置 1;

6) 查詢并等待 BSY 標志清 0,表明編程操作已完成;7) 如果要對多個地址進行編程,可重復步驟 5 和 6;

8) 配置 FLASH_CR 寄存器中的 PG_MODE 位為 0,退出 Flash 編程模式;

9) 配置 FLASH_CR 寄存器中的 LOCK 位置 1,恢復 FLASH_CR 寄存器的寫保護鎖定狀態(tài)。

5.3.6.2 User flash 區(qū)編程錯誤

在對 User flash 區(qū)進行編程操作的過程中,可能會出現(xiàn)以下錯誤標志:

l 編程錯誤標志 PROGERR:

- 當 Flash 地址內(nèi)的數(shù)據(jù)不是 0xFFFF FFFF 時,表明該地址已經(jīng)執(zhí)行過

編程操作,向該地址寫入數(shù)據(jù),則寫入的數(shù)據(jù)會被忽略,不會啟動編

程操作,錯誤標志 PROGERR 將置 1;

- 當 PG_MODE 位為 0 時,向 Flash 地址寫入數(shù)據(jù),則寫入的數(shù)據(jù)會被

忽略,不會啟動編程操作,錯誤標志 PROGERR 將置 1;

- 當有錯誤標志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除時,向 Flash 地址寫入數(shù)據(jù),則寫入的數(shù)據(jù)會被忽略,不會啟動編程操作,錯誤標志 PROGERR 將置 1。

l 編程位寬錯誤標志 SIZERR:

- 如果向 Flash 地址寫入字節(jié)或半字,則寫入的數(shù)據(jù)會被忽略,不會啟

動編程操作,錯誤標志 SIZERR 將置 1。

l 編程地址未對齊錯誤標志 PGAERR:

- 如果編程操作的目標地址沒有按字對齊(地址 2 位不為 b00),則

寫入的數(shù)據(jù)會被忽略,不會啟動編程操作,錯誤標志 PGAERR 將置 1。

l 寫保護錯誤標志 WRPERR:

- 如果要編程的區(qū)域受到安全保護機制的影響,處于受保護的狀態(tài),向

該區(qū)域中的地址寫入數(shù)據(jù),則寫入的數(shù)據(jù)會被忽略,不會啟動編程操

作,錯誤標志 WRPERR 將置 1。

5.4 Option bytes 區(qū)操作說明

5.4.1 選項字節(jié)組成

選項字節(jié)存放于 Flash 存儲器的 Option bytes 區(qū),用于保存與芯片硬件功能相關的配置項,用戶可根據(jù)應用對選項字節(jié)進行配置,以實現(xiàn)特定的硬件功能。

為了校驗選項字節(jié)的正確性,在 Option bytes 區(qū)的每個字(32bits)被拆分成兩

部分,低 16bits 存放選項字節(jié),高 16bits 存放選項字節(jié)的反碼。

復位后,硬件會自動將 Option bytes 區(qū)中的內(nèi)容,加載到寄存器里,這些寄存器被稱為選項字節(jié)加載寄存器,選項字節(jié)中各控制位的作用,可查看以下寄存器的詳細描述:

l FLASH_OPTR1:選項字節(jié)寄存器 1

l FLASH_OPTR2:選項字節(jié)寄存器 2

l FLASH_PCROP1AS:代碼讀出保護區(qū) 1A 起始地址寄存器

l FLASH_PCROP1AE:代碼讀出保護區(qū) 1A 結束地址寄存器

l FLASH_PCROP1BS:代碼讀出保護區(qū) 1B 起始地址寄存器

l FLASH_PCROP1BE:代碼讀出保護區(qū) 1B 結束地址寄存器

l FLASH_WRP1AS:寫保護區(qū) A 起始地址寄存器

l FLASH_WRP1AE:寫保護區(qū) A 結束地址寄存器

l FLASH_WRP1BS:寫保護區(qū) B 起始地址寄存器

l FLASH_WRP1BE:寫保護區(qū) B 結束地址寄存器

l FLASH_SECR:用戶安全配置寄存器

5.4.2 選項字節(jié)更新

Option bytes 區(qū)與 User flash 區(qū)不同,用戶不能直接對 Option bytes 區(qū)執(zhí)行擦除或編程操作,而是要通過對應的選項字節(jié)加載寄存器進行更新。

對選項字節(jié)的更新遵循以下步驟:

1) 檢查 Flash 狀態(tài)寄存器(FLASH_SR中的 BSY 標志位,以確認當前沒有正在執(zhí)行的 Flash 操作;

2) 檢查 FLASH_SR 寄存器,確認錯誤標志均已清除;

3) 解鎖 Flash 選項字節(jié)的寫保護,使 Flash 控制寄存器(FLASH_CR中的

OPTLOCK 位清 0(詳見:Flash 選項字節(jié)解鎖);

4) 配置 FLASH_CR 寄存器中的 PG_MODE 為 1,進入 Flash 編程模式;

5) 配置選項字節(jié)加載寄存器;

6) 將 FLASH_CR 寄存器中的 OPTSTRT 位置 1,啟動選項字節(jié)的更新,同時BSY 標志將自動置 1;

7) 查詢并等待 BSY 標志清 0,表明選項字節(jié)已更新完成,此時 OPTSTRT 位也將被自動清 0;

8) 配置 FLASH_CR 寄存器中的 PG_MODE 位為 0,退出 Flash 編程模式;

9) 配置 FLASH_CR 寄存器中的 OPTLOCK 位置 1,恢復選項字節(jié)的寫保護鎖定狀態(tài);

10) 此時 FLASH_CR 寄存器處于解鎖狀態(tài),可根據(jù)需要配置 FLASH_CR 寄存器中的 LOCK 位置 1,將其恢復成寫保護鎖定狀態(tài)。

在啟動選項字節(jié)更新后,將對 Option bytes 區(qū)進行擦除,并自動生成選項字節(jié)的反碼,隨后會將選項字節(jié)及其反碼更新到 Option bytes 區(qū)。

在完成對選項字節(jié)的更新后,直接讀取 Option bytes 區(qū),可獲取更新后的選項字節(jié)值。但是更新后的選項字節(jié)此時并未生效,如果讀取選項字節(jié)加載寄存器,獲得的仍將是最近一次已加載生效的選項字節(jié)值。在對選項字節(jié)進行更新的過程中,可能會出現(xiàn)以下錯誤標志:

l Flash 操作序列錯誤標志 PESERR:

- 在 OPTSTRT 位被置 1 的同時,如果 PG_MODE 位為 0,則不會啟動

選項字節(jié)更新,錯誤標志 PESERR 將置 1;

- 當有錯誤標志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除時,配置 OPTSTRT 位置 1,則不會啟動選項字節(jié)更新,錯誤

標志 PESERR 將置 1;

- ERASE、OPTSTRT、OBL_LAUNCH 中任意 2 個以上控制位同時置 1,

則不會啟動對應的操作,錯誤標志 PESERR 將置 1。

5.4.3 選項字節(jié)加載

要使 Option bytes 區(qū)中選項字節(jié)生效,可通過以下方式對選項字節(jié)進行加載:

l 以下復位將觸發(fā)加載:

- POR/PDR 復位

- 退出 Standby 模式復位

l 配置 FLASH_CR 寄存器中 OBL_LAUNCH 位為 1 啟動加載,加載執(zhí)行時BSY 標志將自動置 1,加載完成后該標志將自動清 0 并觸發(fā)系統(tǒng)復位。

如果 ERASE、OPTSTRT、OBL_LAUNCH 中任意 2 個以上控制位同時置 1,則不會啟動對應的操作,錯誤標志 PESERR 將置 1。

在選項字節(jié)加載過程中,將自動對選項字節(jié)及其反碼進行校驗,如果出現(xiàn)錯誤,將維持復位狀態(tài)不再執(zhí)行任何操作,直到發(fā)生 POR/PDR 復位。

當選項字節(jié)加載生效后,Option bytes 區(qū)中的選項字節(jié)將被自動復制到對應的加載寄存器。讀取選項字節(jié)加載寄存器,獲得的總是加載生效后的選項字節(jié)值。

5.5 Flash 安全保護機制

Flash 存儲器支持以下安全保護機制:

l Flash 讀出保護(RDP):通過配置不同 RDP 保護等級,對存儲器的操作權限進行限制。

l Flash 代碼讀出保護(PCROP):禁止對受保護的區(qū)域執(zhí)行讀取、編程或擦

除操作,僅允許取指操作。

l Flash 寫入保護(WRP):禁止對受保護的區(qū)域執(zhí)行編程或擦除操作,但允

許取指和讀取操作。

l Flash 用戶安全區(qū)域:在復位后,用戶安全區(qū)域處于未保護狀態(tài),可執(zhí)行

取指、讀取、編程和擦除操作。當安全區(qū)域使能后,該區(qū)域不可見,禁止

對該區(qū)域執(zhí)行任何操作,直到重新復位。

5.5.1 Flash 讀出保護

5.5.1.1 RDP 保護權限

Flash 讀出保護(RDP),共有三種保護等級:

RDP0

l 從 User flash/SRAM 啟動

- User flash 區(qū):允許取指、讀取、編程、擦除

- System memory 區(qū):僅允許取指

- Option bytes 區(qū):允許讀取、更新(通過選項字節(jié)加載寄存器)

- OTP 區(qū):允許讀取、編程(每個字僅可編程一次)

- 備份寄存器:允許讀取、寫入

l 從 Bootloader 啟動

- User flash 區(qū):允許取指、讀取、編程、擦除

- System memory 區(qū):允許取指、讀取

- Option bytes 區(qū):允許讀取、更新(通過選項字節(jié)加載寄存器)

- OTP 區(qū):禁止執(zhí)行任何操作

- 備份寄存器:禁止執(zhí)行任何操作

l 調(diào)試接口

- User flash 區(qū):允許取指、讀取、編程、擦除

- System memory 區(qū):僅允許取指

- Option bytes 區(qū):允許讀取、更新(通過選項字節(jié)加載寄存器)

- OTP 區(qū):允許讀取、編程(每個字僅可編程一次)

- 備份寄存器:允許讀取、寫入

注意: Bootloader 啟動時,禁用調(diào)試接口。

RDP1

l 從 User flash 啟動

- User flash 區(qū):允許取指、讀取、編程、擦除

- System memory 區(qū):僅允許取指

- Option bytes 區(qū):允許讀取、更新(通過選項字節(jié)加載寄存器)

- OTP 區(qū):允許讀取、編程(每個字僅可編程一次)

- 備份寄存器:允許讀取、寫入

l 從 Bootloader 啟動

- User flash 區(qū):僅允許取指

- System memory 區(qū):允許讀取、取指

- Option bytes 區(qū):允許讀取、更新(通過選項字節(jié)加載寄存器)

- OTP 區(qū):禁止執(zhí)行任何操作

- 備份寄存器:禁止執(zhí)行任何操作

l 禁止從 SRAM 啟動

l 禁用調(diào)試接口

RDP2

l 從 User flash 啟動

- User flash 區(qū):允許取指、讀取、編程、擦除

- System memory 區(qū):僅允許取指

- Option bytes 區(qū):僅允許讀取-

OTP 區(qū):允許讀取、編程(每個字僅可編程一次)

- 備份寄存器:允許讀取、寫入

l 禁止從 Bootloader 啟動

l 禁止從 SRAM 啟動

l 禁用調(diào)試接口

對于 Flash 存儲器,當 Flash 控制器檢測到無權限的非法操作時,F(xiàn)LASH_SR 寄 存器中的 ACERR 錯誤標志將立刻置 1,非法操作會被立刻終止,并產(chǎn)生總線訪 問錯誤,觸發(fā) HardFault 中斷。

對 Option bytes 區(qū)的更新,必須通過相應的選項字節(jié)加載寄存器來完成。當保護等級為 RDP2 時,不允許更新該區(qū)域,此時如果 FLASH_CR 寄存器中的

OPTSTRT 位被置 1,則 FLASH_SR 寄存器中的 ACERR 錯誤標志將置 1,對 Option bytes 區(qū)的操作將被終止,并產(chǎn)生總線訪問錯誤,觸發(fā) HardFault 中斷。

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

溫馨提示

  • 還沒找到想要的產(chǎn)品嗎? 立即發(fā)布采購信息,讓供應商主動與您聯(lián)系!

免責聲明:所展示的信息由會員自行提供,內(nèi)容的真實性、準確性和合法性由發(fā)布會員負責,機電之家網(wǎng)對此不承擔任何責任。機電之家網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關系及法律糾紛,糾紛由您自行協(xié)商解決。
友情提醒:本網(wǎng)站僅作為用戶尋找交易對象,就貨物和服務的交易進行協(xié)商,以及獲取各類與貿(mào)易相關的服務信息的平臺。為避免產(chǎn)生購買風險,建議您在購買相關產(chǎn)品前務必確認供應商資質(zhì)及產(chǎn)品質(zhì)量。過低的價格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請采購商謹慎對待,謹防欺詐,對于任何付款行為請您慎重抉擇!如您遇到欺詐等不誠信行為,請您立即與機電之家網(wǎng)聯(lián)系,如查證屬實,機電之家網(wǎng)會對該企業(yè)商鋪做注銷處理,但機電之家網(wǎng)不對您因此造成的損失承擔責任!
您也可以進入“消費者防騙指南”了解投訴及處理流程,我們將竭誠為您服務,感謝您對機電之家網(wǎng)的關注與支持!

您是不是在找