<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于STM32的存儲(chǔ)器“>STM32存儲(chǔ)器 — 關(guān)于STM32的存儲(chǔ)器

          關(guān)于STM32的存儲(chǔ)器“>STM32存儲(chǔ)器 — 關(guān)于STM32的存儲(chǔ)器

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
          當(dāng)我們?cè)谕瓿赡骋粋€(gè)實(shí)驗(yàn),當(dāng)我們正慶幸的時(shí)候,我們不由得產(chǎn)生一種不安的想法——我們是否已經(jīng)少許明白其中的種種細(xì)節(jié)?

          尤其,當(dāng)我們所有的事情都依賴于編譯環(huán)境或Firmware,抑或他人的程序,而自己僅僅是Copy和Modify,以致Using。當(dāng)你還是一個(gè)初學(xué)者的時(shí)候,或許不會(huì)太過(guò)于關(guān)注于此,但是要想提高自己對(duì)單片機(jī)、處理器原理的理解,并且希望走得更遠(yuǎn)的時(shí)候,您就需要關(guān)注更為詳細(xì)的內(nèi)部知識(shí),您需要明白編譯環(huán)境、Firmware等為你的默默貢獻(xiàn)。

          本文引用地址:http://www.ex-cimer.com/article/201611/322622.htm

          1 STM32系統(tǒng)結(jié)構(gòu)

          要想深刻理解STM32的存儲(chǔ)器,需要首先知道STM32的系統(tǒng)結(jié)構(gòu)。

          如Figure 1,是STM32系統(tǒng)結(jié)構(gòu)框圖。


          根據(jù)STM32 Reference manual (RM0008)中的描述,如圖:

          可以得知STM32系統(tǒng)結(jié)構(gòu)的組成,每一個(gè)模塊更為詳細(xì)的內(nèi)容,請(qǐng)參考相關(guān)文檔。

          RM0008文檔中可以看出,STM32采用的是Cortex-M3內(nèi)核,因此,有必要了解Cortex-M3的存儲(chǔ)器結(jié)構(gòu)。

          圖中還可以看出,Cortex-M3是通過(guò)各個(gè)總線和Flash、SROM相連接的。

          2 STM32內(nèi)核(Cortex-M3)的結(jié)構(gòu)

          以下是Cortex-M3模塊框圖:

          該Cortex-M3內(nèi)核通過(guò)I-Code、D-Code、System總線與STM32內(nèi)部的Flash、SROM相連接的,該種連接情況直接關(guān)系到器的結(jié)構(gòu)組織;也就是說(shuō),Cortex-M3的存儲(chǔ)器結(jié)構(gòu)決定了STM32的存儲(chǔ)器結(jié)構(gòu)。

          這里可能說(shuō)的比較籠統(tǒng),可以這樣理解:Cortex-M3是一個(gè)內(nèi)核,自身定義了一個(gè)存儲(chǔ)器結(jié)構(gòu),ST公司按照Cortex-M3的這個(gè)存儲(chǔ)器定義,設(shè)計(jì)出了自己的存儲(chǔ)器結(jié)構(gòu);但是ST公司的STM32的存儲(chǔ)器結(jié)構(gòu)必須按照Cortex-M3這個(gè)定義的存儲(chǔ)器結(jié)構(gòu)來(lái)進(jìn)行設(shè)計(jì)。

          舉個(gè)例子:

          我買了一個(gè)做飯的調(diào)料盒子,有三塊區(qū)域(假設(shè)存儲(chǔ)器分為3塊),上面分別標(biāo)有鹽(Flash)、糖(SROM)、味精(Peripheral);此時(shí),該調(diào)料盒子并沒(méi)有任何意義(對(duì)應(yīng)Cortex-M3內(nèi)核);我按照標(biāo)簽放入特定品牌、特定分量的鹽(Flash)、糖(SROM)、味精(Peripheral),產(chǎn)生一個(gè)有實(shí)際意義的調(diào)料盒(各類Cortex-M3內(nèi)核的芯片,如STM32)。

          期間,調(diào)料位置不能放錯(cuò),但可以不放。由上面的例子可以看出,空的調(diào)料盒子決定了有意義的調(diào)料盒子存放調(diào)料的結(jié)構(gòu)。因此,只要了解空盒子的存儲(chǔ)結(jié)構(gòu),就可以很清楚的明白當(dāng)有調(diào)料時(shí)的用法了。

          3 STM32內(nèi)核(Cortex-M3)的存儲(chǔ)器映射

          存儲(chǔ)器映射是指把芯片中或芯片外的FLASH,RAM,外設(shè),BOOTBLOCK等進(jìn)行統(tǒng)一編址。即用地址來(lái)表示對(duì)象。這個(gè)地址絕大多數(shù)是由廠家規(guī)定好的,用戶只能用而不能改。用戶只能在掛外部RAM或FLASH的情況下可進(jìn)行自定義。

          如圖,是Cortex-M3存儲(chǔ)器映射結(jié)構(gòu)圖。

          Cortex-M3是32位的內(nèi)核,因此其PC指針可以指向2^32=4G的地址空間,也就是0x0000_0000——0xFFFF_FFFF這一大塊空間。

          好,根據(jù)圖中描述,Cortex-M3內(nèi)核將0x0000_0000——0xFFFF_FFFF這塊4G大小的空間分成8大塊:代碼、SRAM、外設(shè)、外部RAM、外部設(shè)備、專用外設(shè)總線-內(nèi)部、專用外設(shè)總線-外部、特定廠商等。導(dǎo)致了,使用該內(nèi)核的芯片廠家必須按照這個(gè)進(jìn)行各自芯片的存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: STM32存儲(chǔ)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();