總結(jié)
為了擴(kuò)展微控制器可用的 Flash 空間,用戶可以使用 QSPI 接口連接 QSPI Flash;為了讓用戶能盡量像使用片內(nèi) Flash 那樣下載和運(yùn)行程序,減少額外操作,需要有對應(yīng)的下載算法與相應(yīng)的 2nd Bootloader。
本文以 PLUS-F5270 開發(fā)板為例(該開發(fā)板搭載的 MM32F5277E9PV 微控制器具備 QSPI 接口,且板載 W25Q64JVISQ QSPI Flash 芯片),介紹了 MM32F5 系列芯片的 QSPI 引腳,以及與 QSPI Flash 通信的過程,在 MDK 平臺(tái)上實(shí)現(xiàn)客制化的下載算法,簡單的 2nd Bootloader,并以 MindSDK 的 hello_world 樣例工程為例,進(jìn)行少量的修改,使其能夠存儲(chǔ)在 QSPI Flash 上,最終驗(yàn)證了微控制器能夠運(yùn)行存儲(chǔ)在QSPI Flash 上的應(yīng)用程序。
注意事項(xiàng)
外置 QSPI Flash選型
在進(jìn)行 QSPI Flash 的選型過程中,尤其要關(guān)注其工作電壓的范圍,部分 QSPI Flash 的額定工作電壓為 1.8V ,若在3.3V 電壓下,是無法正常工作的,反之亦然。
除了電壓范圍外,部分 QSPI Flash 芯片在默認(rèn)情況下,處于非四線模式,原本 QSPI 的 D2 & D3 引腳會(huì)被用于寫保護(hù)使能和 HOLD 使能,使能四線模式的方法,需參照使用的 QSPI Flash 芯片手冊進(jìn)行操作。
QSPI Flash 與微控制器連接時(shí),為了滿足阻抗匹配的要求,其信號線上需要串聯(lián)22Ω或33Ω的電阻,否則,在與 QSPI Flash 通信時(shí),會(huì)發(fā)現(xiàn)讀到的數(shù)據(jù)與期望的數(shù)據(jù)可能不一致。
生成 FlashLoader 時(shí)出現(xiàn)顯示路徑不同的warning
在配置 FlashLoader 的 MDK 工程文件時(shí),在Options for Target->C/C++(AC6)-> warnings選項(xiàng)下,若選擇All warnings選項(xiàng),在build時(shí)會(huì)出現(xiàn) warning:
FlashDev.c(25):warning:non-portablepathtofile'"..FlashOS.h"';specifiedpathdiffersincasefromfilenameondisk[-Wnonportable-include-path] #include"..FlashOS.H"http://FlashOSStructures ^~~~~~~~~~~~~~ "..FlashOS.h"
將該配置選項(xiàng)修改為AC5-like Warnings后,樣例build無問題。
ProgramSize:Code=4088RO-data=4256RW-data=4ZI-data=0 AfterBuild-Usercommand#1:cmd.exe/Ccopy"ObjectsMM32F5270_QSPI_FlashLoader.axf""..MM32F5270_QSPI_FlashLoader.FLM" 已復(fù)制1個(gè)文件。 ".ObjectsMM32F5270_QSPI_FlashLoader.axf"-0Error(s),0Warning(s).
生成下載算法時(shí)出現(xiàn) L6305 warning
查看整個(gè)下載算法工程文件,會(huì)發(fā)現(xiàn)當(dāng)前工程中沒有啟動(dòng)文件與主函數(shù),默認(rèn)只有幾個(gè)功能函數(shù),在這種情況下,編譯會(huì)爆出下面的警告:
L6305W:Imagedoesnothaveanentrypoint.(Notspecifiedornotsetduetomultiplechoices.)
但下載算法本身是不需要啟動(dòng)文件和主函數(shù)的,只在下載代碼時(shí)由調(diào)試器調(diào)用下載算法中的功能,因此,需忽略該 warning。選擇Options for Target->Linker` -> Misc controls選項(xiàng),修改該選項(xiàng)內(nèi)容為--diag_suppress L6305。
修改源文件后下載該文件出現(xiàn)無法加載閃存編程算法的問題
對比所生成的下載算法大小與工程文件的`Options for Target-> Debug -> settings -> Flash Download -> RAM for Algorithm -> Size 選項(xiàng)下配置的算法大小,發(fā)現(xiàn)當(dāng)前下載算法大于 Size 所配置的大小,因此,需適當(dāng)調(diào)大 Size 的大小,例如由0x1000增加到0x2000。
在實(shí)現(xiàn)下載算法時(shí),為了保證下載算法足夠小,其代碼量不要過多,需刪除未使用的函數(shù)。
應(yīng)用程序不能出現(xiàn)影響 QSPI 使用的代碼
需要檢查應(yīng)用程序的代碼,對可能影響到 QSPI 的代碼進(jìn)行調(diào)整,例如 GPIO 的配置,GPIO 時(shí)鐘的復(fù)位,以及直接對 QSPI 的操作。
-
微控制器
+關(guān)注
關(guān)注
48文章
7923瀏覽量
153813 -
FlaSh
+關(guān)注
關(guān)注
10文章
1668瀏覽量
151091 -
接口
+關(guān)注
關(guān)注
33文章
8961瀏覽量
153295 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5565瀏覽量
102813 -
QSPI
+關(guān)注
關(guān)注
0文章
45瀏覽量
12601
原文標(biāo)題:靈動(dòng)微課堂 (第250講)|mm32-2nd-bootloader技術(shù)白皮書(6)——總結(jié)及注意事項(xiàng)
文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動(dòng)MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
高壓變頻器的選型注意事項(xiàng)
調(diào)節(jié)閥選型注意事項(xiàng)
手持式移動(dòng)設(shè)備LDO選型的注意事項(xiàng)
rtu控制器設(shè)參方法和注意事項(xiàng)
如何使用QSPI Flash控制器開發(fā)板上的 QSPI Flash進(jìn)行寫讀操作

減速機(jī)的選型注意事項(xiàng)
APM32F030C8T6_Flash_Flash讀寫設(shè)計(jì)注意事項(xiàng)

減速機(jī)的選型注意事項(xiàng)

評論