前言
今天總結(jié)“STM32F103外部NorFlash存儲程序代碼”。今天提供的實例工程是存儲程序代碼到外部NorFlash,并執(zhí)行外部NorFlash的代碼(既然存儲了程序代碼,那么肯定也會運行NorFlash的程序)。對于儲存在外部NorFlash的程序可以通過多種途徑,今天主要使用MDK-ARM工具下載程序到外部NorFlash,但是需要“編程算法”,但這些算法官方都已經(jīng)寫好了的,我們只需要配置一下,直接使用就是了。
NOR FLASH是很常見的一種存儲芯片,掉電不會丟失數(shù)據(jù)。 NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片內(nèi)執(zhí)行。這點和NAND FLASH不一樣。因此,在嵌入式系統(tǒng)中,NOR FLASH很適合作為程序的存儲介質(zhì)。 NOR FLASH的讀取和RAM很類似,但不可以直接進行寫操作。對NOR FLASH的寫操作需要遵循特定的命令序列,最終由芯片內(nèi)部的控制單元完成寫操作。
下載
今天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cSSbuXYC82jNu訪問密碼 8967
STM32F10x的資料可以在我360云盤下載:
https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90
內(nèi)容講解
工程概要說明: 例程定義了兩個函數(shù)“Nor_Fun”存儲在外部NorFlash,即外部NorFlash程序,定義一個函數(shù)“Flash_Fun”儲存在內(nèi)部FLASH,通過執(zhí)行這三個函數(shù),再打印它們函數(shù)接口對應的地址,這樣就可以檢測這三個函數(shù)儲存的位置了。
提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。
關(guān)于“STM32F103 外部SRAM作為運行內(nèi)存”我把重要的幾點在下面分別講述:
一、獲取現(xiàn)成文件
我們使用官方標準庫,拷貝標準庫FSMC例程里面現(xiàn)成的算法??截悺熬幊趟惴ā钡?a href="http://www.www27dydycom.cn/tags/keil/" target="_blank">keil安裝目錄x:\Keil_v5\ARM\Flash里面,拷貝“FLASH_NOR.ini”到我們自己創(chuàng)建的工程里面(隨便一個位置,方便調(diào)用,我們工程是在“\Libraries\CMSIS\DeviceSupport\startup”下面)。
二、配置Nor地址
配置Nor地址,見下圖。
注意:圖中1,2不要勾上。
三、配置編程算法
拷貝了“編程算法”就可以看見算法文件。
四、初始化NOR
路徑就是上面你拷貝的路勁。
五、打印(測試)結(jié)果
通過測試函數(shù)和依次打印的數(shù)據(jù)可以看得出外部Nor的地址是0x6400xxxx,而內(nèi)部Flash地址的0x0800xxxx。說明外部Nor函數(shù)確實儲存在外部NorFlash里面。
說明
今天提供的軟件工程基于STM32F103大容量芯片,中等及小容量芯片沒有FSMC功能,自然也不能使用。其實只要適當修改工程的部分配置,STM32F1有FSCM功能的芯片都適用。由于這一塊的知識相對來說復雜一點,還有很多地方?jīng)]有講解到位,請根據(jù)提供的工程自行研究。
-
存儲
+關(guān)注
關(guān)注
13文章
4469瀏覽量
86895 -
STM32F10
+關(guān)注
關(guān)注
0文章
46瀏覽量
15778 -
NORFlash
+關(guān)注
關(guān)注
0文章
25瀏覽量
9520
發(fā)布評論請先 登錄
相關(guān)推薦
評論