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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32學(xué)習(xí)記錄10:存儲器結(jié)構(gòu)

          STM32學(xué)習(xí)記錄10:存儲器結(jié)構(gòu)

          作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          一直以來對存儲器的結(jié)構(gòu)都十分的模糊,初學(xué)單片機是完全看不懂,以至于有心理陰影,今天徹底消滅他吧?。?div>

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

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

          1:CM3存儲器映射

          如圖,是Cortex-M3存儲器映射結(jié)構(gòu)圖摘自《CM3技術(shù)手冊》。

          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)核的芯片廠家必須按照這個進行各自芯片的存儲器結(jié)構(gòu)設(shè)計。

          2:STM32存儲器映射

          下面的圖摘自stm32f107vct6的說明文檔

          說明:
          1:Peripherals:外設(shè)的存儲器映射,對該區(qū)域操作,就是對相應(yīng)的外設(shè)進行操作;
          2:SRAM:運行時臨時存放代碼的地方;

          3:Flash:存放代碼的地方;

          4:System Memory:STM32出廠時自帶的你只能使用,不能寫或擦除;

          5:Option Bytes:可以按照用戶的需要進行配置(如配置看門狗為硬件實現(xiàn)還是軟件實現(xiàn));

          3:FLASH

          STM32的Flash,嚴(yán)格說,應(yīng)該是Flash模塊。

          該Flash模塊包括:Flash主存儲區(qū)(Main memory)、Flash信息區(qū)(Information block),以及Flash存儲接口寄存器區(qū)(Flash memory interface)。




          關(guān)鍵詞: STM32學(xué)習(xí)記錄存儲器結(jié)

          評論


          相關(guān)推薦

          技術(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); })();