一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

mm32-2nd-bootloader配置軟硬件環(huán)境

靈動MM32MCU ? 來源:靈動MM32MCU ? 2023-03-08 13:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1

引言

需求

MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴大可使用的 Flash 空間,從而滿足那些需要大 Flash 空間應用的需求,讓 Flash 空間的大小不再成為限制應用開發(fā)的瓶頸。

但使用 QSPI Flash 之前,還需要對 QSPI 接口進行配置,然后才能執(zhí)行存儲在 QSPI Flash 上的代碼,這讓應用程序的開發(fā)變得復雜。

因此,需要一些解決方案,能夠讓用戶盡可能無感地使用 QSPI Flash 存儲應用程序。

案例

以 MM32F5277E9PV 微控制器為例,這個微控制器搭載著 ArmChina STAR-MC1 內(nèi)核,主頻可達 120MHz,擁有 256KB Flash 和 128KB SRAM,使用這塊芯片,可以實現(xiàn)一些 “復雜的應用”,例如,運行一個帶有 GUI 功能的應用。

在編譯這個 “復雜的應用” 時,編譯器可能會報錯,顯示缺少足夠 Flash 空間;這個應用可能包含了圖片,字庫,好幾個協(xié)議棧,所需要的 Flash 空間非常大,一般微控制器不會擁有這么大的片內(nèi) Flash。因此,需要外接一個 QSPI Flash 來解決這個問題。

MM32F5270 系列微控制器帶有 QSPI 接口,可以使用 QSPI Flash 來擴展微控制器可使用的 Flash 空間;如果擔心外接 QSPI Flash 占據(jù) PCB 空間,則可使用 MM32F5280 系列微控制器,該微控制器合封有一塊 1MB ~ 2MB 的 QSPI Flash,無需考慮 QSPI Flash 的電路,節(jié)省 PCB 面積。

通過外接 QSPI Flash,就可以擁有足夠的空間來實現(xiàn)這個 “復雜的應用”。但開發(fā)應用時,仍希望像使用片內(nèi) Flash 那樣使用 QSPI Flash:下載程序的時候,直接點擊 IDE 的下載按鈕,就能下載程序;調(diào)試代碼的時候,直接點擊調(diào)試按鈕,就能進行軟件調(diào)試;只需少量修改代碼,就能讓應用程序保存在 QSPI Flash 中,讓微控制器直接執(zhí)行。

為了讓 IDE 下載程序到 QSPI Flash 中,需要有一個合適的下載算法。為了讓編譯器知道應用程序要保存在 QSPI Flash 中,需要修改 Linker 文件,讓編譯器知道 QSPI Flash 的地址范圍。為了讓微控制器執(zhí)行存儲在 QSPI Flash 中的程序,還需要實現(xiàn)合適的 2nd Bootloader ,引導微控制器去執(zhí)行 QSPI Flash 中的程序。

目標

在 MDK 平臺上實現(xiàn)定制化的下載算法,可將應用程序下載到 QSPI Flash 中。

盡可能少地改動應用程序代碼,使其能夠存儲在 QSPI Flash 中。

實現(xiàn)簡單的 2nd Bootloader,使其能夠引導微控制器執(zhí)行存儲在 QSPI Flash 中的應用程序。

在上述的 2nd Bootloader 的基礎上,實現(xiàn)量產(chǎn)下載,更新應用程序等特殊功能。

2

配置硬件環(huán)境

硬件環(huán)境

QSPI Flash

工欲善其事,必先利其器,想在 QSPI Flash 上存儲應用程序,就需要選擇一款合適的 QSPI Flash 芯片。

選型時,需要重點關注工作電壓的范圍,部分 QSPI Flash 的工作電壓在 1.8V 左右,如果使用 3.3V 供電,是沒辦法正常工作的,反之亦然。

除了電壓范圍外,部分 QSPI Flash 芯片在默認情況下,是不允許使用四線模式的,原本 QSPI 的 D2 & D3 引腳會被用于寫保護使能(WP)和 HOLD 使能。讓 QSPI Flash 允許使用四線模式的方法,需參照使用的 QSPI Flash 芯片手冊進行操作。建議使用默認處于四線模式的 QSPI Flash,或者在設計 2nd Bootloader 時,能在跳轉到應用程序之前,將四線模式打開。

MM32F5 系列的微控制器支持大多數(shù)常見的 QSPI Flash,表1中列舉的 QSPI Flash 芯片為經(jīng)過實際測試可用的 QSPI Flash 芯片:

表1 測試可用的 QSPI Flash 列表

91b44c0e-baa6-11ed-bfe3-dac502259ad0.png

MCU

硬件電路設計時,需要了解微控制器的哪些引腳可作為 QSPI 接口,表2 是 MM32F5270 系列微控制器的 QSPI 接口引腳:

表2 MM32F5270 系列微控制器 QSPI 接口引腳

91c624a6-baa6-11ed-bfe3-dac502259ad0.png

其引腳配置如下:

引腳模式:復用推挽輸出。

引腳速度:高速模式,QSPI 的 SCK 時鐘最快可達 60MHz,因此應配置成高速模式。

引腳復用功能號:巧合的是,當引腳作為 QSPI 接口時,復用功能號均為 AF10。

表3 為MM32F5280 系列微控制器的引腳:

表3 MM32F5280的QSPI引腳

91d4b32c-baa6-11ed-bfe3-dac502259ad0.png

可以發(fā)現(xiàn),MM32F5280 系列微控制器只有一組引腳可作為 QSPI 接口,并且這些引腳并沒有引出到芯片外部,這是由于 MM32F5280 系列微控制器內(nèi)部合封了 QSPI Flash,其引腳已經(jīng)在芯片內(nèi)部與 QSPI Flash 相連,不需要再引出至芯片外部。

雖然 MM32F5280 片內(nèi)合封了 QSPI Flash,對應的引腳也直接與其相連,但在使用這塊 QSPI Flash 時,仍需配置相應的引腳,其配置方法與 MM32F5270 完全一致。

由于 MM32F5280 系列微控制器將其 QSPI Flash 合封在了芯片內(nèi)部,因此在 PCB 設計時,可減少外圍元件的數(shù)量,降低了產(chǎn)品成本。

當使用 MM32F5270 + QSPI Flash 的方案時,由于 QSPI 信號線暴露在微控制器外部,易受到外部電磁環(huán)境的干擾,可能無法以最快的速度(SCK 的頻率為 60MHz)訪問 QSPI Flash,但這個問題在 MM32F5280 上就不會出現(xiàn)。

當然,也正是由于 MM32F5280 系列微控制器的 QSPI Flash 合封在了芯片內(nèi)部,如果想用使用更大的 Flash 時,還是需要使用 MM32F5270 + QSPI Flash 的方案。

Board

PLUS-F5270開發(fā)板

PLUS-F5270 板載華邦的 W25Q64JVSIQ,F(xiàn)lash 大小為 8MB (64Mb),3.3V 供電,默認情況下,四線模式處于打開狀態(tài)。

MM32F5270 連接該 QSPI Flash 所使用的引腳號如圖2所示:

9267086c-baa6-11ed-bfe3-dac502259ad0.png

圖2 MM32F5270連接的QSPI Flash引腳

在PLUS-F5270開發(fā)板上,MM32F5270芯片與QSPI Flash W25Q64的引腳對應關系如表4所示。

927c3890-baa6-11ed-bfe3-dac502259ad0.png

表4 PLUS-F5270開發(fā)板上MM32F5270與QSPI Flash W25Q64的引腳對應關系

在設計 MM32F5270 + QSPI Flash 的應用時,建議優(yōu)先采用 PF6(QSPI_CS)、PG7(QSPI_SCK)、PG6(QSPI_D0)、PF8(QSPI_D1)、PF10(QSPI_D2)、PG8(QSPI_D3) 引腳,從而可使用 MM32F5280 MCU 無縫替換 MM32F5270。

軟件工具

在開發(fā)調(diào)試 MM32F5270 + QSPI Flash 這個 “復雜的應用” 時,需要一些軟件工具:

開發(fā)平臺

嵌入式軟件的開發(fā)需要一個軟件平臺,這個軟件平臺可以是 MDK,IAR,ARMGCC 等,本文將以 MDK 為例,開發(fā)并調(diào)試所需要的軟件。在官網(wǎng)(https://www.keil.com/download/product)頁面上,可下載MDK-ARM的安裝包并啟動安裝,使用 MDK 進行工程的調(diào)試與下載。

需要注意,MDK 的軟件版本最低為 5.37,且需使用 AC6 編譯器,舊版本 AC5 編譯器不支持編譯 STAR-MC1 平臺的軟件。

下載算法

不同于 SRAM,修改 Flash 中的內(nèi)容時,需要先將 Flash 中的數(shù)據(jù)整塊擦除,再通過特殊的方法將數(shù)據(jù)寫入到 Flash 中,而不是直接往指定地址進行寫操作。因此,需要有一段中間程序,能夠幫助調(diào)試器將指定位置的數(shù)據(jù),寫入到 Flash 中。

這段中間程序就叫做下載算法,它運行在 SRAM 中,在修改 Flash 中的內(nèi)容前,調(diào)試器會先將下載算法通過 SWD 或其他調(diào)試接口加載到 SRAM 中并執(zhí)行,然后再加載存放到 Flash 中的數(shù)據(jù),讓存儲在 SRAM 中的下載算法將數(shù)據(jù)寫入到 Flash 中。

獲取下載算法有三種方式:

1

從 MCU 廠商的官網(wǎng)中下載相應 MCU 的 PACK 包中獲取。

2

從 MDK 的 Pack Installer 中獲取。

3

使用開發(fā)平臺提供的模板文件自行制作。

2nd Bootloader

2nd Bootloader 將會引導微控制器執(zhí)行存放在 QSPI Flash 中的應用程序,之所以稱為 2nd Bootloader,是為了區(qū)分固化在微控制器內(nèi)部的 1st Bootloader。當然,2nd Bootloader 也可以固化到微控制器中,作為 1st Bootloader 來使用,但那樣就失去了可定制化的意義。

2nd Bootloader 執(zhí)行存儲在 QSPI Flash 上的應用程序之前,會先初始化 QSPI 外設,以及所用到的 GPIO 引腳,讓微控制器能夠通過訪問地址的形式訪問 QSPI Flash,就像訪問片內(nèi) Flash 那樣。當然,這只是 2nd Bootloader 最基本的功能,在此基礎上,還可以增加一些定制化的功能,例如為量產(chǎn)而準備的串口 + Ymodem 下載固件功能,或者增加 OTA 升級的方案。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7943

    瀏覽量

    154629
  • FlaSh
    +關注

    關注

    10

    文章

    1677

    瀏覽量

    151618
  • GUI
    GUI
    +關注

    關注

    3

    文章

    678

    瀏覽量

    41149
  • SRAM芯片
    +關注

    關注

    0

    文章

    65

    瀏覽量

    12394
  • QSPI接口
    +關注

    關注

    0

    文章

    14

    瀏覽量

    3544

原文標題:靈動微課堂 (第245講)|mm32-2nd-bootloader技術白皮書(1)——配置軟硬件環(huán)境

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    mm32-2nd-bootloader技術白皮書——配置軟硬件環(huán)境

    MM32F5 系列微控制器具備 QSPI 接口,可以外接 QSPI Flash,擴大可使用的 Flash 空間,從而滿足那些需要大 Flash 空間應用的需求,讓 Flash 空間的大小不再成為限制應用開發(fā)的瓶頸。
    發(fā)表于 03-08 13:49 ?409次閱讀

    支持過程級動態(tài)軟硬件劃分的RSoC設計與實現(xiàn)

    系統(tǒng)(RSoC),提出了一種過程級硬件透明編程模型,給出了過程級的硬件封裝方案;在分析軟硬件過程根本區(qū)別的基礎上,針對硬件過程開發(fā)了專門的管理模塊,并利用部分動態(tài)重構等技術,實現(xiàn)了
    發(fā)表于 05-28 13:40

    基于SoPC的狀態(tài)監(jiān)測裝置的嵌入式軟硬件協(xié)同設計

    硬件部分,來滿足系統(tǒng)的性能指標。面向SoPC的軟硬件協(xié)同設計流程從目標系統(tǒng)構思開始。對一個給定的目標系統(tǒng),經(jīng)過構思,完成其系統(tǒng)整體描述,然后交給軟硬件協(xié)同設計的開發(fā)集成環(huán)境,由計算機
    發(fā)表于 01-22 16:41

    基于EDA 的嵌入式系統(tǒng)軟硬件劃分方法

    基于EDA 的嵌入式系統(tǒng)軟硬件劃分方法Hardware/Software Partitioning Method Based on Estimation of Distribution 摘要:針對嵌入式系統(tǒng)軟硬件協(xié)同設計中的軟硬件
    發(fā)表于 12-05 16:34 ?26次下載

    基于USB的串行通信軟硬件設計

    本文是基于USB的串行通信軟硬件設計的詳細介紹
    發(fā)表于 10-17 17:38 ?127次下載
    基于USB的串行通信<b class='flag-5'>軟硬件</b>設計

    USB的串行通信軟硬件設計

    USB的串行通信軟硬件設計
    發(fā)表于 09-04 10:08 ?14次下載
    USB的串行通信<b class='flag-5'>軟硬件</b>設計

    基于FPGA的軟硬件協(xié)同測試設計影響因素分析與設計實現(xiàn)

    軟硬件的開發(fā)階段中,測試結果直接關系到這個軟硬件能否順利進行調(diào)試應用。其中,硬件的測試往往容易受外界因素的影響,如環(huán)境、計算機設備等,可以通過一些仿真軟件來避免外界
    發(fā)表于 11-18 05:46 ?2127次閱讀

    軟硬件協(xié)同設計機遇與挑戰(zhàn)分析

    軟硬件協(xié)同設計是指對系統(tǒng)中的軟硬件部分使用統(tǒng)一的描述和工具進行集成開發(fā),可完成全系統(tǒng)的設計驗證并跨越軟硬件界面進行系統(tǒng)優(yōu)化,軟硬件協(xié)同設計是嵌入式技術發(fā)展的一大趨勢,本PPT文件是賽靈
    發(fā)表于 11-25 03:45 ?887次閱讀

    基于FPGA芯片的軟硬件平臺的使用

    基于FPGA芯片的軟硬件平臺的使用
    發(fā)表于 07-01 09:35 ?20次下載

    為什么要從“軟硬件協(xié)同”走向“軟硬件融合”?

    軟件和硬件需要定義好交互的“接口”,通過接口實現(xiàn)軟硬件的“解耦”。例如,對CPU來說,軟硬件的接口是指令集架構ISA:ISA之下的CPU處理器是硬件,指令集之上的各種程序、數(shù)據(jù)集、文件
    的頭像 發(fā)表于 12-07 14:23 ?3142次閱讀

    mm32-2nd-bootloader技術進階設計:實現(xiàn)Ymodem更新代碼

    前文中實現(xiàn)了一款簡單的 2nd Bootloader,能夠跳轉執(zhí)行存儲在 QSPI Flash 中的應用程序,但 2nd Bootloader 如果僅僅只是用于跳轉執(zhí)行程序的話,豈不是
    的頭像 發(fā)表于 06-09 09:28 ?3058次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b>技術進階設計:實現(xiàn)Ymodem更新代碼

    國產(chǎn)軟硬件龍芯系列迅為2K1000開發(fā)板配置 nand flash

    國產(chǎn)軟硬件龍芯系列迅為2K1000開發(fā)板配置 nand flash
    的頭像 發(fā)表于 04-12 14:10 ?1648次閱讀
    國產(chǎn)<b class='flag-5'>軟硬件</b>龍芯系列迅為<b class='flag-5'>2</b>K1000開發(fā)板<b class='flag-5'>配置</b> nand flash

    mm32-2nd-bootloader技術白皮書(5)——編譯可在QSPI Flash上運行的程序

    mm32-2nd-bootloader技術白皮書(5)——編譯可在QSPI Flash上運行的程序
    的頭像 發(fā)表于 10-24 16:14 ?667次閱讀
    <b class='flag-5'>mm32-2nd-bootloader</b>技術白皮書(5)——編譯可在QSPI Flash上運行的程序

    軟硬件融合的概念和內(nèi)涵

    跟很多朋友交流,當提到軟硬件融合的時候,他們會這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺在二三十年前就已經(jīng)有這個概念了?!痹谒麄兊南敕ɡ铮鋵崳?b class='flag-5'>軟硬件融合等同于軟硬件協(xié)同,甚至等
    的頭像 發(fā)表于 10-17 14:36 ?2094次閱讀
    <b class='flag-5'>軟硬件</b>融合的概念和內(nèi)涵

    機器視覺系統(tǒng)讀取二維碼-軟硬件配置方案

    機器視覺系統(tǒng)讀取二維碼-軟硬件配置方案
    的頭像 發(fā)表于 05-24 00:56 ?958次閱讀
    機器視覺系統(tǒng)讀取二維碼-<b class='flag-5'>軟硬件</b><b class='flag-5'>配置</b>方案