存儲器
存儲器的基本結(jié)構(gòu)可以分為兩種:隨機存取存儲器(Random Access Memory,簡稱RAM)和只讀存儲器(Read-Only Memory,簡稱ROM)。
存儲器太多了五花八門的,接口也很豐富,I2C,SPI,串口,并口等等。
這個是課本上的51的內(nèi)部存儲結(jié)構(gòu),涉及到匯編的知識,之前的老司機多數(shù)都是用的匯編編程,現(xiàn)在的編程語言豐富而繁多了,但是匯編直到今天還在用,涉及的底層邏輯清晰可見,編程相對來說簡單,就是寫起來繁多,這里就不贅述了,感興趣的伙伴重新看下匯編吧。
存儲其實指令操作比較多,硬件相對比較單一,我們就按照實際項目講解,存儲的硬件功能原理。
W25Q128JVSIG這顆料屬于SPI nor FLASH, 128Mbit(16MB),8位數(shù)據(jù)總線寬度,NOR Flash是一種閃存類型,可以用于存儲程序代碼、固件、操作系統(tǒng)以及其他數(shù)據(jù)。閃存是一種非易失性存儲器,也屬于ROM.
NOR FLASH存儲原理:NOR Flash中的存儲單元由晶體管和電荷儲存區(qū)域組成,通過在晶體管的柵極和源極之間施加電壓,可以控制電荷的存儲和釋放,從而表示數(shù)據(jù)的0和1。
架構(gòu)特點:NOR Flash具有并行訪問結(jié)構(gòu),這意味著每個存儲單元都有一個地址,并且可以直接訪問任何存儲單元。這使得NOR Flash具有快速的隨機訪問能力,適用于執(zhí)行代碼和讀取關鍵數(shù)據(jù)。
讀取操作:NOR Flash的讀取速度比較快,典型的讀取時間在幾十納秒到幾微秒之間。此外,NOR Flash具有低延遲,可以快速響應讀取請求。編程和擦除:與其他閃存類型相比,NOR Flash的編程和擦除操作較為簡單。
編程是指向存儲單元寫入數(shù)據(jù),而擦除是將存儲單元中的數(shù)據(jù)擦除為全1狀態(tài)。NOR Flash支持按字節(jié)編程,這意味著可以直接在需要更改的位置寫入數(shù)據(jù),而不需要整體擦除。引導存儲器:由于其較快的讀取速度和低延遲特性,NOR Flash常被用作引導存儲器。
在嵌入式系統(tǒng)中,引導存儲器用于加載啟動代碼和操作系統(tǒng)。通過在NOR Flash中存儲引導代碼,可以實現(xiàn)設備的快速啟動和穩(wěn)定運行。
NOR FLASH唯一一點就是比較貴,相對應的NAND FLASH,NAND 只是讀取速度比NOR慢,其他的性能基本優(yōu)于NOR,然后最大的優(yōu)勢是大容量下的性價比高,后面我會用一文單獨來寫DDR,這個是我們用的比較多的應用RAM。不過我們系統(tǒng)不太復雜的,用的比較多的還是小容量的,性價比高,還便宜的存儲器。
當然MCU啟動,離不開Boot,Boot是任何一款MCU都有的特性。首先應FLASH,從分類上來看應該屬于Parallel NOR FLASH,你的應用代碼都是保存在FLASH里,每次上電CPU會自動從FLASH里獲取應用代碼并執(zhí)行,這個行為就是Boot,網(wǎng)上應該有很多篇幅介紹了Boot的啟動方式和工作原理,這里就不班門弄斧了。
小結(jié):
1.根據(jù)需求選取自己需要的元器件,一定要仔細查看規(guī)格書,元器件的電壓,電流,存儲空間,地址位,數(shù)據(jù)位,通訊接口和工作速度等等。
2.選取的存儲器要關注MCU的啟動方式,boot的選擇mode。