天天看點

STM32F1_外部NorFlash存儲程式代碼推薦

推薦

分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到人工智能的隊伍中來!http://www.captainbed.net/strongerhuang

前言

今天總結“STM32F103  外部NorFlash存儲程式代碼”。今天提供的執行個體工程是存儲程式代碼到外部NorFlash,并執行外部NorFlash的代碼(既然存儲了程式代碼,那麼肯定也會運作NorFlash的程式)。對于儲存在外部NorFlash的程式可以通過多種途徑,今天主要使用MDK-ARM工具下載下傳程式到外部NorFlash,但是需要“程式設計算法”,但這些算法官方都已經寫好了的,我們隻需要配置一下,直接使用就是了。

NOR FLASH是很常見的一種存儲晶片,掉電不會丢失資料。 NOR FLASH支援Execute On Chip,即程式可以直接在FLASH片内執行。這點和NAND FLASH不一樣。是以,在嵌入式系統中,NOR FLASH很适合作為程式的存儲媒體。 NOR FLASH的讀取和RAM很類似,但不可以直接進行寫操作。對NOR FLASH的寫操作需要遵循特定的指令序列,最終由晶片内部的控制單元完成寫操作。

本着免費分享的原則,将總結的工程源代碼分享給大家,還望看到的朋友關注一下微信公衆号,并将文章分享給你的朋友。

下載下傳

今天提供下載下傳的“軟體工程”都是在硬體闆子上進行多次測試、并保證沒問題才上傳至360雲盤。

今天的軟體工程下載下傳位址(360雲盤):

https://yunpan.cn/cSSbuXYC82jNu  通路密碼 8967

STM32F10x的資料可以在我360雲盤下載下傳:

https://yunpan.cn/crBUdUGdYKam2   通路密碼 ca90

内容講解

工程概要說明: 例程定義了兩個函數“Nor_Fun”存儲在外部NorFlash,即外部NorFlash程式,定義一個函數“Flash_Fun”儲存在内部FLASH,通過執行這三個函數,再列印它們函數接口對應的位址,這樣就可以檢測這三個函數儲存的位置了。

提供的工程以簡單為原則,詳細中文注釋,友善自己友善大家。

關于“STM32F103  外部NorFlash存儲程式代碼” 我把重要的幾點在下面分别講述:

一、擷取現成檔案

我們使用官方标準庫,拷貝标準庫FSMC例程裡面現成的算法。拷貝“程式設計算法”到keil安裝目錄x:\Keil_v5\ARM\Flash裡面,拷貝“FLASH_NOR.ini”到我們自己建立的工程裡面(随便一個位置,友善調用,我們工程是在“\Libraries\CMSIS\DeviceSupport\startup”下面)。

STM32F1_外部NorFlash存儲程式代碼推薦

二、配置Nor位址

配置Nor位址,見下圖。

注意:圖中1,2不要勾上。

STM32F1_外部NorFlash存儲程式代碼推薦

三、配置程式設計算法

STM32F1_外部NorFlash存儲程式代碼推薦

拷貝了“程式設計算法”就可以看見算法檔案。

四、初始化NOR

STM32F1_外部NorFlash存儲程式代碼推薦

路徑就是上面你拷貝的路勁。

五、配置需要儲存外部Nor的代碼

STM32F1_外部NorFlash存儲程式代碼推薦
STM32F1_外部NorFlash存儲程式代碼推薦

六、列印(測試)結果

STM32F1_外部NorFlash存儲程式代碼推薦

通過測試函數和依次列印的資料可以看得出外部Nor的位址是0x6400xxxx,而内部Flash位址的0x0800xxxx。說明外部Nor函數确實儲存在外部NorFlash裡面。

七、今天的重點

A.有人覺得很奇怪,不是程式存儲在外部Nor嗎? 為什麼還是有程式存儲在内部Flash呢? 答案是:内部FLASH必須要有一部分程式來配置FSMC,這樣才能使用FSMC控制讀取外部Nor程式。

說明

今天提供的軟體工程基于STM32F103大容量晶片,中等及小容量晶片沒有FSMC功能,自然也不能使用。其實隻要适當修改工程的部配置設定置,STM32F1有FSCM功能的晶片都适用。由于這一塊的知識相對來說複雜一點,還有很多地方沒有講解到位,請根據提供的工程自行研究。

最後

我的網站:https://www.strongerhuang.com

我的微信公衆号(ID:strongerHuang)還在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想檢視更多内容,可以關注我的微信公衆号。

STM32F1_外部NorFlash存儲程式代碼推薦

微信公衆号

繼續閱讀