片内Flash的认识
片上Flash(Embedded Flash)若干問(wèn)題,包括Flash大小(內(nèi)存映射)、塊大小、頁(yè)面大小、寄存器。這些知識(shí),有利于寫Flash驅(qū)動(dòng)。
通過(guò)數(shù)據(jù)手冊(cè)(內(nèi)存映射)
? ??也可以通過(guò)數(shù)據(jù)手冊(cè)得到Flash大小,首先根據(jù)型號(hào)從官網(wǎng)下得對(duì)應(yīng)的數(shù)據(jù)手冊(cè)Datasheet(點(diǎn)這里,輸入MCU型號(hào)進(jìn)行檢索。STM32F103RB相關(guān)的手冊(cè)都在這:http://www.st.com/internet/mcu/product/164487.jsp),打開(kāi)找到Memory map這張圖,如圖2紅框所示(圖2紅框放大即為圖3),Flash在內(nèi)存的映射地址0x0800 0000 ~ 0x0801 FFFF,即大小為128KB。通過(guò)該方法也可以了解到片上Flash的內(nèi)存映射。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??圖3 Memory map中的SRAM和Flash
二、塊大小
? ??對(duì)于系統(tǒng)而言,Flash分為片上Flash(Embedded Flash)和外置Flash。通常說(shuō),Flash先分塊再分頁(yè),擦除是按塊進(jìn)行,這樣的說(shuō)法應(yīng)該只是對(duì)外置Flash而言,對(duì)于片上Flash即可以按頁(yè)擦除也可以整塊擦除,英文原文如下[2]:
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖4 Flash module organization (medium-density devices)
四、Flash相關(guān)寄存器
Flash寄存器在內(nèi)存的映射如下[1]:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Flash各寄存器具體地址如下[2]:
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??圖6 Flash memory interface registers of medium-density devices
具體到各寄存器功能,位含義,得參考[3],Flash寄存器映射如下:
五、Information block
Flash中Information block在內(nèi)存映射如下[1]:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
具體的Flash的Information block地址如下:
? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖9 Information block of medium-density devices
System memory包含一段引導(dǎo)程序(當(dāng)系統(tǒng)從片上Flash啟動(dòng)會(huì)用到),Flash出廠后就不能修改,不曉得我理解得對(duì)不對(duì),貼出原文如下[3]:
?
The option bytes are managed by an embedded Flash Program/Erase Controller (FPEC),詳情見(jiàn)[3]。
有兩種規(guī)格,1Kb和2Kb的,也就是1024字節(jié)和2048字節(jié),一般來(lái)說(shuō)內(nèi)部flash大的采用2048字節(jié)一頁(yè),內(nèi)部flash小的采用1024字節(jié)一頁(yè)。你可以STM32F103系列為參考:
小容量產(chǎn)品主存儲(chǔ)塊1-32KB, 每頁(yè)1KB。
中容量產(chǎn)品主存儲(chǔ)塊64-128KB, 每頁(yè)1KB。
大容量產(chǎn)品主存儲(chǔ)塊256KB以上, 每頁(yè)2KB。
互聯(lián)型產(chǎn)品主存儲(chǔ)塊256KB以上, 每頁(yè)2KB。
總結(jié)
以上是生活随笔為你收集整理的片内Flash的认识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JVM 工作原理和流程
- 下一篇: 单键四档调色手电筒方案