靈動微電子MM32F5系列微控制器如何外擴靈動微電子MM32F5系列微控制器具備QSPI接口,可以外接QSPI Flash,擴大可使用的Flash空間,從而滿足那些需要大Flash空間應用的需求,讓Flash空間的大小不再成為限制應用開發的瓶頸。
但使用QSPI Flash之前,還需要對QSPI接口進行配置,然后才能執行存儲在QSPI Flash上的代碼,這讓應用程序的開發變得復雜。
因此,需要一些解決方案,能夠讓用戶盡可能無感地使用QSPI Flash存儲應用程序。
案例 以靈動微電子MM32F5277E9PV微控制器為例,這個微控制器搭載著Arm ChinaSTAR-MC1內核,主頻可達120MHz,擁有256KB Flash和128KB SRAM,使用這塊芯片,可以實現一些“復雜的應用”,例如,運行一個帶有GUI功能的應用。
在編譯這個“復雜的應用”時,編譯器可能會報錯,顯示缺少足夠Flash空間;這個應用可能包含了圖片,字庫,好幾個協議棧,所需要的Flash空間非常大,一般微控制器不會擁有這么大的片內Flash。因此,需要外接一個QSPI Flash來解決這個問題。
MM32F5270系列微控制器帶有QSPI接口,可以使用QSPI Flash來擴展微控制器可使用的Flash空間;如果擔心外接QSPI Flash占據PCB空間,則可使用MM32F5280系列微控制器,該微控制器合封有一塊1MB~2MB的QSPI Flash,無需考慮QSPI Flash的電路,節省PCB面積。
通過外接QSPI Flash,就可以擁有足夠的空間來實現這個“復雜的應用”。但開發應用時,仍希望像使用片內Flash那樣使用QSPI Flash:下載程序的時候,直接點擊IDE的下載按鈕,就能下載程序;調試代碼的時候,直接點擊調試按鈕,就能進行軟件調試;只需少量修改代碼,就能讓應用程序保存在QSPI Flash中,讓微控制器直接執行。
為了讓IDE下載程序到QSPI Flash中,需要有一個合適的下載算法。為了讓編譯器知道應用程序要保存在QSPI Flash中,需要修改Linker文件,讓編譯器知道QSPI Flash的地址范圍。為了讓微控制器執行存儲在QSPI Flash中的程序,還需要實現合適的2ndBootloader,引導微控制器去執行QSPI Flash中的程序。 |