按照不同容量
儲存器組織成32個 1k位元組/頁(小容量)
儲存器組織成128個 1k位元組/頁(中容量)
儲存器組織成256個 2k位元組/頁(大容量)
對於主儲存器和資訊塊的寫入由快閃儲存器程式設計/擦除控制器fpec管理,程式設計與擦除的高電壓由內部產生
內建快閃儲存器模組可以通過位址空間直接定址,在任何32位資料的讀操作都能訪問快閃儲存器模組的內容並得到相應的資料
例如,我們要從位址addr,讀取乙個半字(半字為16位,字為32位),可以通過如下的語句讀取
data = *(vu16 *)addr;
將addr強制轉換為vu16指標,然後取改指標所指向的位址的值,即得到addr位址的值,類似的,將上面的vu16改為vu8,即可讀取指定位址的乙個位元組
stm32的快閃儲存器程式設計是由fpec(快閃儲存器程式設計和擦除控制器)模組處理,這個模組包含7個32位的暫存器
fpec鍵暫存器flash_keyr
選擇位元組鍵暫存器 flash_optkeyr
快閃儲存器控制暫存器 flash_cr
快閃儲存器狀態暫存器 flash_sr
快閃儲存器位址暫存器 flash_ar
選擇位元組暫存器 flash_obr
寫保護暫存器 flash_wrpr
其中fpec共有三個鍵值:
rdprt鍵 = 0x000000a5
key1=0x45671234
key2=0xcdef89ab
擦除操作分為頁擦除和全片擦除
頁擦除:
①、檢查flash_cr的lock是否解鎖,如果沒有則先解鎖
②、檢查flash_sr暫存器的bsy位,以確認沒有其他正在進行的程式設計操作
③、設定flash_cr暫存器的per位為1(指定頁擦除)
④、用flash_ar暫存器選擇要擦除的頁
⑤、設定flash_cr暫存器的strt位為1(開啟頁擦除)
⑥、等待bsy位變為1(等待擦除完畢)
⑦、讀取被擦除的頁並做驗證
全片擦除:
①、檢查flash_cr的lock是否解鎖,如果沒有則先解鎖
②、檢查flash_sr暫存器的bsy位,以確認沒有其他正在進行的程式設計操作
③、設定flash_cr暫存器的mer位為1(指定全片擦除)
④、設定flash_cr暫存器的strt位為1(開啟頁擦除)
⑤、等待bsy位變為1(等待擦除完畢)
⑥、讀取被擦除的頁並做驗證
1、stm32復位後,fpec模組是寫保護的,不能寫入flash_cr暫存器,通過寫入特定的序列到flash_keyr暫存器可以開啟fpec模組(即key1和key2),只有在寫保護接觸後,我們才能操作相關暫存器
2、stm32快閃儲存器程式設計每次必須寫入16為,不能單純寫入8位的資料,當flash_cr暫存器的pg位為1時,在乙個快閃儲存器位址寫入乙個半字將啟動一次程式設計
3、在程式設計過程中flash_sr的bsy位為1,任何讀寫快閃儲存器的操作都會使cpu暫停,直到此次的快閃儲存器程式設計結束
4、stm32的falsh程式設計,也必須要求其寫入位址的flash是被擦除的也就是其值為0xfffffff,否則無法寫入
①、檢查flash_cr的lock是否解鎖,如果沒有則先解鎖
②、檢查flash_sr暫存器的bsy位,以確認沒有其他正在進行的程式設計操作
③、設定flash_cr暫存器的pg位為1,在指定的位址寫入程式設計的半字
④、等待bsy位變為0
⑤、讀出寫入的位址並驗證資料
oracle的快閃儲存器 Oracle快閃儲存器技術介紹
龍源期刊網 快閃儲存器技術介紹 摘要 oracle資料庫管理系統是當今應用最為廣發的一種資料庫。快閃儲存器技術作為一種儲存技術應用的也越來越廣泛。該文分別oracle中的快閃儲存器的使用方法 如快閃儲存器資料庫 快閃儲存器表 快閃儲存器查詢等技術。快閃儲存器技術通過在只更改資料上執行引發了恢復變革。...
希捷Nytro快閃儲存器新品擴大快閃儲存器產品組合
希捷科技公司今天在快閃儲存器峰會發布全新的nytro xf1440 2.5寸,nytro xm1440 m.2非易失性儲存 nvme 固態硬碟 ssd 及nytro xp6500快閃儲存器加速器卡。這些新品擴充套件了希捷快閃儲存器產品組合解決方案,旨在與希捷儲存產品相結合以滿足任何資料儲存需求。對於...
NOR型快閃儲存器與NAND型快閃儲存器的區別
分類 1 快閃儲存器晶元讀寫的基本單位不同 應用程式對nor晶元操作以 字 為基本單位。為了方便對大容量nor快閃儲存器的管理,通常將nor快閃儲存器分成大小為128kb或者64kb的邏輯塊,有時候塊內還分成扇區。讀寫時需要同時指定邏輯塊號和塊內偏移。應用程式對nand晶元操作是以 塊 為基本單位。...