HC32F460 系列的嵌入式 FLASH

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

沈陽芯碩科技有限公司

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

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

詳細(xì)參數(shù)
品牌其他型號HC32F460
類型其他材質(zhì)其他
顏色其他

產(chǎn)品詳情

1

摘要

本篇應(yīng)用筆記主要介紹如何使用 HC32F460 系列芯片的嵌入式 FLASH 讀寫數(shù)據(jù)。

2

FLASH 簡介

什么是 FLASH?

FLASH 接口通過 FLASH ICODE、DCODE、MCODE 總線對 FLASH 進(jìn)行訪問,該接口可對 FLASH 執(zhí)行編程、擦除和全擦除操作;通過緩存機(jī)制加速代碼執(zhí)行。

FLASH 的重要特征?

FLASH 讀、編程、擦除和全擦除操作,支持引導(dǎo)交換,安全保護(hù)和數(shù)據(jù)加密。

3

HC32F460 系列的 FLASH

3.1

簡介

FLASH 接口通過 FLASH ICODE、DCODE、MCODE 總線對 FLASH 進(jìn)行訪問,該接口可對FLASH 執(zhí)行編程、擦除和全擦除操作;通過指令預(yù)取和緩存機(jī)制加速代碼執(zhí)行。

3.2

說明

FLASH 讀、編程、扇區(qū)擦除和全擦除操作。CODE 總線 16Bytes 預(yù)取值,I_CODE 和 D-CODE 總線上共享 64 個緩存(128bit 寬)。支持 FLASH 低功耗讀。支持引導(dǎo)交換。支持安全保護(hù)及數(shù)據(jù)加密。容量為 512Kbytes(其中有 32bytes 為功能保留位),分為 64 個扇區(qū),每個扇區(qū)為 8KBytes。編程單位為 4Bytes,擦除單位為8KBytes。128bit 寬數(shù)據(jù)讀取。OTP(One Time Program)區(qū)域共 1020Bytes,分為 960Bytes 數(shù)據(jù)區(qū),并配有 60Bytes 的鎖存區(qū)。

3.2.1 寄存器介紹

1)

EFM_FAPRT:訪問 EFM 寄存器保護(hù)寄存器。

2)

EFM_FSTP:FLASH 停止寄存器。

3)

EFM_FRMC:讀模式寄存器??膳渲貌迦氲却芷?,緩存功能、預(yù)取指功能等。

4)

EFM_FWMC:擦寫模式寄存器。配置編程擦除模式。

5)

EFM_FSR:狀態(tài)寄存器。查看 FLASH 狀態(tài),結(jié)束標(biāo)志、錯誤標(biāo)志等。

6)

EFM_FSCLR:狀態(tài)清除寄存器。

7)

EFM_FITE:中斷許可寄存器。配置操作結(jié)束或錯誤中斷許可。

8)

EFM_FSWP:引導(dǎo)交換狀態(tài)寄存器。通過該寄存器可判斷程序復(fù)位后從扇區(qū) 0 還是扇區(qū) 1 啟動。

9) EFM_FPMTSW:FLASH 窗口保護(hù)起始地址寄存器。

10) EFM_FPMTEW:FLASH 窗口保護(hù)結(jié)束地址寄存器。

11) EFM_UQID1~3:Unique ID 寄存器。

3.2.2 工作流程介紹

3.2.2.1 寄存器解除保護(hù)和寫保護(hù)

本模塊的寄存器受 EFM_FAPRT 寄存器保護(hù),當(dāng)處于保護(hù)狀態(tài),屏蔽普通的寫操作。

-

在實際應(yīng)用中,發(fā)現(xiàn)寄存器值未寫入成功,應(yīng)首先檢查 EFM 寄存器訪問保護(hù)是否有效,

保護(hù)有效時,EFM_FAPRT 寄存器值讀出為 0x00000000。

3.2.2.2 扇區(qū)擦除

EFM 提供扇區(qū)擦除和全擦除兩種擦除方式。對 FLASH 進(jìn)行扇區(qū)擦除操作后,該扇區(qū)內(nèi)地址(8Kbytes 空間)數(shù)據(jù)刷新為全 1。

3.2.2.3 全擦除

EFM 提供扇區(qū)擦除和全擦除兩種擦除方式。對 FLASH 進(jìn)行全擦除操作后整個FLASH 區(qū)域素有地址數(shù)據(jù)刷新為全 1。

3.2.2.4 單次編程無回讀

單編程無回讀模式設(shè)定步驟如下:



3.2.2.5 單次編程回讀

單編程回讀模式是指編程結(jié)束后自動讀取編程地址并和寫入數(shù)據(jù)對比,輸出判斷一致標(biāo)志位EFM_FSR.PGMISMTCH。

單編程回讀模式設(shè)定步驟如下:



注意:

- EFM_FSR.PGMISMTCH 為 0,表示編程成功,為 1 表示該 FLASH 地址已遭破壞,永廢棄。

3.2.2.6 連續(xù)編程

當(dāng)連續(xù)對 FLASH 地址進(jìn)行編程時,推薦使用連續(xù)編程模式。連續(xù)編程模式比單編程模式可以節(jié)約時間 50%以上。連續(xù)編程模式時,頻率不能低于 12MHz。

3.2.2.7 總線保持/釋放功能

通過設(shè)定寄存器 EFM_FWMC.BUSHLDCTL 位,可設(shè)定 FLASH 編程、擦除期間,總線處于保持還是釋放狀態(tài)。

FLASH 編程、擦除指令在 FLASH 上執(zhí)行時,該控制位必須設(shè)定為 0。擦除指令在 FLASH 意外空間(例如 RAM)執(zhí)行時,可根據(jù)需求自由設(shè)定。

當(dāng) EFM_FWMC.BUSHLDCTL 為 1(即 FLASH 編程、擦除期間,總線釋放狀態(tài))時,在編程(連續(xù)編程除外)、擦除結(jié)束前(EFM_FSR.RDY=1)對 FLASH 的讀寫訪問將會被保護(hù),標(biāo)志位 EFM_FSR.BUSCOLERR 位置位。

3.2.3 一次性可編程字節(jié)(OTP)

OTP(One Time Program)區(qū)域分為 15 個 64 字節(jié)的數(shù)據(jù)塊,每塊數(shù)據(jù)對應(yīng)一個 4Bytes 的鎖存地址。

鎖存地址用于鎖存對應(yīng)的數(shù)據(jù)塊。鎖存地址數(shù)據(jù)全為 1 時,對應(yīng)的 OTP 區(qū)域數(shù)據(jù)塊可以編程;當(dāng)鎖存地址數(shù)據(jù)全為 0 時,對應(yīng)的 OTP 區(qū)域數(shù)據(jù)不可編程。

所有 OTP 數(shù)據(jù)塊和鎖存地址均無法擦除。OTP 區(qū)域的編程已封裝在 flashloader 中,用戶可以直接操作 otp 對應(yīng)地址。具體樣例請參考EFM 模塊下的 efm_otp 樣例代碼。

3.2.4 引導(dǎo)交換

EFM 提供引導(dǎo)交換功能,用戶在升級引導(dǎo)程序的時候,對扇區(qū) 0(0x00000000~0x00001FFF)進(jìn)行擦寫,如擦寫時遇到不可期的意外(掉電、復(fù)位),有可能會導(dǎo)致整個芯片不能正常啟動。引導(dǎo)交換功能可以避免這種情況。

在對扇區(qū) 0 擦除前預(yù)先把新的引導(dǎo)程序?qū)懭肷葏^(qū) 1(0x00002000~0x00003FFF),然后對 EFM地址 0x0007FFDC 進(jìn)行編程數(shù)據(jù) 0xFFFF4321,通過端子復(fù)位,實現(xiàn) CPU 從扇區(qū) 1 啟動新的引導(dǎo)程序,此時,再對扇區(qū) 0 進(jìn)行擦除,重新編程用戶程序。再次升級啟動引導(dǎo)程序時,由于保存啟動扇區(qū)交換信息的地址 0x0007FFDC 已經(jīng)被編程過了(用戶可以根據(jù)讀 FLASH 地址或者 EFM_FSWP 寄存器判斷是否使用過啟動交換功能,EFM_FSWP.FSWP = 0,表明扇區(qū) 0 和扇區(qū) 1 已經(jīng)交換,復(fù)位后從扇區(qū) 1 啟動),需對扇區(qū) 63 (0x0007E000~0x0007FFFF)進(jìn)行扇區(qū)擦除后再進(jìn)行啟動程序的升級。在對扇區(qū) 0 進(jìn)行擦除前,預(yù)先把新的引導(dǎo)程序?qū)懭肷葏^(qū) 1,然后對扇區(qū) 63 進(jìn)行擦除,通過端子復(fù)位,CPU 就從扇區(qū) 1 啟動新的引導(dǎo)程序,此時再對扇區(qū) 0 進(jìn)行擦除,重新編程新的引導(dǎo)程序。

4

樣例代碼

4.1

代碼介紹

用戶可根據(jù)上述的工作流程編寫自己的代碼來學(xué)習(xí)驗證該模塊,也可以直接通過華大半導(dǎo)體的網(wǎng)站下載到設(shè)備驅(qū)動庫(Device Driver Library, DDL)的樣例代碼并使用其中的 FLASH 的樣例進(jìn)行驗證。

4.2 代碼運行

用戶可以通過華大半導(dǎo)體的網(wǎng)站下載到 HC32F460 的 DDL 的樣例代碼(efm_simple),并配合評估用板(EV-HC32F460-LQFP100-050-V1.1)運行相關(guān)代碼學(xué)習(xí)使用 FLASH 模塊。以下部分主要介紹如何在評估板上運行 FLASH 樣例代碼并觀察結(jié)果:

-

確認(rèn)安裝正確的 IAR EWARM v7.7 工具(請從 IAR 官方網(wǎng)站下載相應(yīng)的安裝包,并參考用戶手冊進(jìn)行安裝)。

-

從華大半導(dǎo)體網(wǎng)站下載 HC32F460 DDL 代碼。

-

下載并運行 efm\ efm_simple\中的工程文件.

溫馨提示

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

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

您是不是在找